diff --git a/.github/workflows/test-memory-leaks.yaml b/.github/workflows/test-memory-leaks.yaml index 95453a5d3a0..a80a55da14d 100644 --- a/.github/workflows/test-memory-leaks.yaml +++ b/.github/workflows/test-memory-leaks.yaml @@ -11,7 +11,7 @@ jobs: bundler-cache: true # runs 'bundle install' and caches installed gems automatically bundler: latest cache-version: v1 # bump this to invalidate cache - - run: sudo apt update && sudo apt install -y valgrind && valgrind --version + - run: sudo apt-get update && (sudo apt-get install -y valgrind || sleep 5 && sudo apt-get install -y valgrind) && valgrind --version - run: bundle exec rake compile spec:profiling:memcheck test-asan: # Temporarily disabled on 2024-09-17 until ruby-asan builds are available again on diff --git a/Appraisals b/Appraisals index ef649f43103..ab1c9c4949e 100644 --- a/Appraisals +++ b/Appraisals @@ -53,14 +53,14 @@ def build_coverage_matrix(integration, range, gem: nil, min: nil, meta: {}) if min appraise "#{integration}-min" do gem gem, "= #{min}" - meta.each { |k, v| gem k, v } + meta.each { |k, v| v ? gem(k, v) : gem(k) } end end range.each do |n| appraise "#{integration}-#{n}" do gem gem, "~> #{n}" - meta.each { |k, v| gem k, v } + meta.each { |k, v| v ? gem(k, v) : gem(k) } end end @@ -69,7 +69,7 @@ def build_coverage_matrix(integration, range, gem: nil, min: nil, meta: {}) # still requires being updated to pick up the next major version and # committing the changes to lockfiles. gem gem - meta.each { |k, v| gem k, v } + meta.each { |k, v| v ? gem(k, v) : gem(k) } end end diff --git a/Matrixfile b/Matrixfile index 0252861bb88..7808ba72551 100644 --- a/Matrixfile +++ b/Matrixfile @@ -134,10 +134,11 @@ 'activesupport' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby' }, 'rack' => { + 'rack-latest' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby', + 'rack-3' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby', + 'rack-2' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby', # Non-deprecated form of Regexp.new does not backport to Rack 1.x, see: https://github.com/rack/rack/pull/1998 - 'rack-1' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ❌ 3.3 / ❌ 3.4 / ✅ jruby', - 'rack-2' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby', - 'rack-3' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby', + 'rack-1' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ❌ 3.3 / ❌ 3.4 / ✅ jruby', }, 'rake' => { 'contrib' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby' @@ -257,10 +258,11 @@ 'redis-5' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby' }, 'appsec:rack' => { + # 'rack-latest' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby', + 'rack-3' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby', + 'rack-2' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby', # Non-deprecated form of Regexp.new does not backport to Rack 1.x, see: https://github.com/rack/rack/pull/1998 - 'rack-1' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ❌ 3.3 / ❌ 3.4 / ✅ jruby', - 'rack-2' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby', - 'rack-3' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby', + 'rack-1' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ❌ 3.3 / ❌ 3.4 / ✅ jruby', }, 'appsec:sinatra' => { 'sinatra-2' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby', diff --git a/appraisal/jruby-9.2.rb b/appraisal/jruby-9.2.rb index ed8c523b69f..571acd7252c 100644 --- a/appraisal/jruby-9.2.rb +++ b/appraisal/jruby-9.2.rb @@ -244,13 +244,7 @@ end end -[1, 2, 3].each do |n| - appraise "rack-#{n}" do - gem 'rack', "~> #{n}" - gem 'rack-contrib' - gem 'rack-test' # Dev dependencies for testing rack-based code - end -end +build_coverage_matrix('rack', 1..3, meta: { 'rack-contrib' => nil, 'rack-test' => nil }) [2].each do |n| appraise "sinatra-#{n}" do diff --git a/appraisal/jruby-9.3.rb b/appraisal/jruby-9.3.rb index 6556d4f81bb..f796fd81c21 100644 --- a/appraisal/jruby-9.3.rb +++ b/appraisal/jruby-9.3.rb @@ -217,13 +217,7 @@ end end -[1, 2, 3].each do |n| - appraise "rack-#{n}" do - gem 'rack', "~> #{n}" - gem 'rack-contrib' - gem 'rack-test' # Dev dependencies for testing rack-based code - end -end +build_coverage_matrix('rack', 1..3, meta: { 'rack-contrib' => nil, 'rack-test' => nil }) [2, 3].each do |n| appraise "sinatra-#{n}" do diff --git a/appraisal/jruby-9.4.rb b/appraisal/jruby-9.4.rb index 2bf7c0d5698..6fce8d81830 100644 --- a/appraisal/jruby-9.4.rb +++ b/appraisal/jruby-9.4.rb @@ -129,13 +129,7 @@ end end -[1, 2, 3].each do |n| - appraise "rack-#{n}" do - gem 'rack', "~> #{n}" - gem 'rack-contrib' - gem 'rack-test' # Dev dependencies for testing rack-based code - end -end +build_coverage_matrix('rack', 1..3, meta: { 'rack-contrib' => nil, 'rack-test' => nil }) [2, 3, 4].each do |n| appraise "sinatra-#{n}" do diff --git a/appraisal/ruby-2.5.rb b/appraisal/ruby-2.5.rb index d0ff148a8d1..1249ba7e9c6 100644 --- a/appraisal/ruby-2.5.rb +++ b/appraisal/ruby-2.5.rb @@ -264,13 +264,7 @@ end end -[1, 2, 3].each do |n| - appraise "rack-#{n}" do - gem 'rack', "~> #{n}" - gem 'rack-contrib' - gem 'rack-test' # Dev dependencies for testing rack-based code - end -end +build_coverage_matrix('rack', 1..3, meta: { 'rack-contrib' => nil, 'rack-test' => nil }) [2].each do |n| appraise "sinatra-#{n}" do diff --git a/appraisal/ruby-2.6.rb b/appraisal/ruby-2.6.rb index 45d196a33b0..a468005b5a7 100644 --- a/appraisal/ruby-2.6.rb +++ b/appraisal/ruby-2.6.rb @@ -218,13 +218,7 @@ end end -[1, 2, 3].each do |n| - appraise "rack-#{n}" do - gem 'rack', "~> #{n}" - gem 'rack-contrib' - gem 'rack-test' # Dev dependencies for testing rack-based code - end -end +build_coverage_matrix('rack', 1..3, meta: { 'rack-contrib' => nil, 'rack-test' => nil }) [2, 3].each do |n| appraise "sinatra-#{n}" do diff --git a/appraisal/ruby-2.7.rb b/appraisal/ruby-2.7.rb index e7c203513b7..695db369a61 100644 --- a/appraisal/ruby-2.7.rb +++ b/appraisal/ruby-2.7.rb @@ -220,13 +220,7 @@ end end -[1, 2, 3].each do |n| - appraise "rack-#{n}" do - gem 'rack', "~> #{n}" - gem 'rack-contrib' - gem 'rack-test' # Dev dependencies for testing rack-based code - end -end +build_coverage_matrix('rack', 1..3, meta: { 'rack-contrib' => nil, 'rack-test' => nil }) # Sinatra 4 requires Ruby (>= 2.7.8), but current image with Ruby 2.7.6 [2, 3].each do |n| diff --git a/appraisal/ruby-3.0.rb b/appraisal/ruby-3.0.rb index 7cec314f6aa..a5afc5065a9 100644 --- a/appraisal/ruby-3.0.rb +++ b/appraisal/ruby-3.0.rb @@ -148,13 +148,7 @@ end end -[1, 2, 3].each do |n| - appraise "rack-#{n}" do - gem 'rack', "~> #{n}" - gem 'rack-contrib' - gem 'rack-test' # Dev dependencies for testing rack-based code - end -end +build_coverage_matrix('rack', 1..3, meta: { 'rack-contrib' => nil, 'rack-test' => nil }) [2, 3, 4].each do |n| appraise "sinatra-#{n}" do diff --git a/appraisal/ruby-3.1.rb b/appraisal/ruby-3.1.rb index 7cec314f6aa..a5afc5065a9 100644 --- a/appraisal/ruby-3.1.rb +++ b/appraisal/ruby-3.1.rb @@ -148,13 +148,7 @@ end end -[1, 2, 3].each do |n| - appraise "rack-#{n}" do - gem 'rack', "~> #{n}" - gem 'rack-contrib' - gem 'rack-test' # Dev dependencies for testing rack-based code - end -end +build_coverage_matrix('rack', 1..3, meta: { 'rack-contrib' => nil, 'rack-test' => nil }) [2, 3, 4].each do |n| appraise "sinatra-#{n}" do diff --git a/appraisal/ruby-3.2.rb b/appraisal/ruby-3.2.rb index 7cec314f6aa..a5afc5065a9 100644 --- a/appraisal/ruby-3.2.rb +++ b/appraisal/ruby-3.2.rb @@ -148,13 +148,7 @@ end end -[1, 2, 3].each do |n| - appraise "rack-#{n}" do - gem 'rack', "~> #{n}" - gem 'rack-contrib' - gem 'rack-test' # Dev dependencies for testing rack-based code - end -end +build_coverage_matrix('rack', 1..3, meta: { 'rack-contrib' => nil, 'rack-test' => nil }) [2, 3, 4].each do |n| appraise "sinatra-#{n}" do diff --git a/appraisal/ruby-3.3.rb b/appraisal/ruby-3.3.rb index e10aa99feb1..29c2b11cf1f 100644 --- a/appraisal/ruby-3.3.rb +++ b/appraisal/ruby-3.3.rb @@ -148,13 +148,7 @@ end end -[2, 3].each do |n| - appraise "rack-#{n}" do - gem 'rack', "~> #{n}" - gem 'rack-contrib' - gem 'rack-test' # Dev dependencies for testing rack-based code - end -end +build_coverage_matrix('rack', 2..3, meta: { 'rack-contrib' => nil, 'rack-test' => nil }) [2, 3, 4].each do |n| appraise "sinatra-#{n}" do diff --git a/appraisal/ruby-3.4.rb b/appraisal/ruby-3.4.rb index 8c2b0c4c35f..5fad252ce15 100644 --- a/appraisal/ruby-3.4.rb +++ b/appraisal/ruby-3.4.rb @@ -149,13 +149,7 @@ end end -[2, 3].each do |n| - appraise "rack-#{n}" do - gem 'rack', "~> #{n}" - gem 'rack-contrib' - gem 'rack-test' # Dev dependencies for testing rack-based code - end -end +build_coverage_matrix('rack', 2..3, meta: { 'rack-contrib' => nil, 'rack-test' => nil }) [2, 3, 4].each do |n| appraise "sinatra-#{n}" do diff --git a/gemfiles/jruby_9.2_rack_latest.gemfile b/gemfiles/jruby_9.2_rack_latest.gemfile new file mode 100644 index 00000000000..0fd93d0d45c --- /dev/null +++ b/gemfiles/jruby_9.2_rack_latest.gemfile @@ -0,0 +1,42 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", "~> 2.4.0" +gem "benchmark-ips", "~> 2.8" +gem "benchmark-memory", "< 0.2" +gem "builder" +gem "climate_control", "~> 0.2.0" +gem "concurrent-ruby" +gem "json-schema", "< 3" +gem "memory_profiler", "~> 0.9" +gem "os", "~> 1.1" +gem "pimpmychangelog", ">= 0.1.2" +gem "pry" +gem "pry-debugger-jruby" +gem "rake", ">= 10.5" +gem "rake-compiler", "~> 1.1", ">= 1.1.1" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "simplecov", git: "https://github.com/DataDog/simplecov", ref: "3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db" +gem "simplecov-cobertura", "~> 2.1.0" +gem "warning", "~> 1" +gem "webmock", ">= 3.10.0" +gem "rexml", ">= 3.2.7" +gem "dogstatsd-ruby", ">= 3.3.0", "!= 5.0.0", "!= 5.0.1", "!= 5.1.0" +gem "ffi", "~> 1.16.3", require: false +gem "rack" +gem "rack-contrib" +gem "rack-test" + +group :check do + +end + +group :dev do + +end + +gemspec path: "../" diff --git a/gemfiles/jruby_9.2_rack_latest.gemfile.lock b/gemfiles/jruby_9.2_rack_latest.gemfile.lock new file mode 100644 index 00000000000..f64aff7e3df --- /dev/null +++ b/gemfiles/jruby_9.2_rack_latest.gemfile.lock @@ -0,0 +1,142 @@ +GIT + remote: https://github.com/DataDog/simplecov + revision: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + ref: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + specs: + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + +PATH + remote: .. + specs: + datadog (2.3.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 12.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + benchmark-ips (2.14.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.8-java) + builder (3.3.0) + climate_control (0.2.0) + coderay (1.1.3) + concurrent-ruby (1.3.4) + crack (1.0.0) + bigdecimal + rexml + debase-ruby_core_source (3.3.1) + diff-lcs (1.5.1) + docile (1.4.1) + dogstatsd-ruby (5.6.2) + ffi (1.16.3-java) + hashdiff (1.1.1) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (12.0.0.1.0) + libddwaf (1.14.0.0.0-java) + ffi (~> 1.0) + memory_profiler (0.9.14) + method_source (1.1.0) + msgpack (1.7.2-java) + os (1.1.4) + pimpmychangelog (0.1.3) + pry (0.14.2-java) + coderay (~> 1.1) + method_source (~> 1.0) + spoon (~> 0.0) + pry-debugger-jruby (2.1.1-java) + pry (>= 0.13, < 0.15) + ruby-debug-base (>= 0.10.4, < 0.12) + public_suffix (4.0.7) + rack (3.1.7) + rack-contrib (2.5.0) + rack (< 4) + rack-test (2.1.0) + rack (>= 1.3) + rake (13.2.1) + rake-compiler (1.2.7) + rake + rexml (3.3.7) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-collection_matchers (1.2.1) + rspec-expectations (>= 2.99.0.beta1) + rspec-core (3.13.1) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.1) + rspec-wait (0.0.10) + rspec (>= 3.0) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + ruby-debug-base (0.11.0-java) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + spoon (0.0.6) + ffi + thor (1.2.2) + warning (1.4.0) + webmock (3.23.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + +PLATFORMS + universal-java-1.8 + +DEPENDENCIES + appraisal (~> 2.4.0) + benchmark-ips (~> 2.8) + benchmark-memory (< 0.2) + builder + climate_control (~> 0.2.0) + concurrent-ruby + datadog! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + ffi (~> 1.16.3) + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-debugger-jruby + rack + rack-contrib + rack-test + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + rexml (>= 3.2.7) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + simplecov! + simplecov-cobertura (~> 2.1.0) + warning (~> 1) + webmock (>= 3.10.0) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/jruby_9.3_rack_latest.gemfile b/gemfiles/jruby_9.3_rack_latest.gemfile new file mode 100644 index 00000000000..4a07001f8db --- /dev/null +++ b/gemfiles/jruby_9.3_rack_latest.gemfile @@ -0,0 +1,46 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", "~> 2.4.0" +gem "benchmark-ips", "~> 2.8" +gem "benchmark-memory", "< 0.2" +gem "builder" +gem "climate_control", "~> 0.2.0" +gem "concurrent-ruby" +gem "json-schema", "< 3" +gem "memory_profiler", "~> 0.9" +gem "os", "~> 1.1" +gem "pimpmychangelog", ">= 0.1.2" +gem "pry" +gem "pry-debugger-jruby" +gem "rake", ">= 10.5" +gem "rake-compiler", "~> 1.1", ">= 1.1.1" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "simplecov", git: "https://github.com/DataDog/simplecov", ref: "3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db" +gem "simplecov-cobertura", "~> 2.1.0" +gem "warning", "~> 1" +gem "webmock", ">= 3.10.0" +gem "rexml", ">= 3.2.7" +gem "rubocop", "~> 1.50.0", require: false +gem "rubocop-packaging", "~> 0.5.2", require: false +gem "rubocop-performance", "~> 1.9", require: false +gem "rubocop-rspec", ["~> 2.20", "< 2.21"], require: false +gem "dogstatsd-ruby", ">= 3.3.0", "!= 5.0.0", "!= 5.0.1", "!= 5.1.0" +gem "ffi", "~> 1.16.3", require: false +gem "rack" +gem "rack-contrib" +gem "rack-test" + +group :check do + +end + +group :dev do + +end + +gemspec path: "../" diff --git a/gemfiles/jruby_9.3_rack_latest.gemfile.lock b/gemfiles/jruby_9.3_rack_latest.gemfile.lock new file mode 100644 index 00000000000..7cc49a3cfb5 --- /dev/null +++ b/gemfiles/jruby_9.3_rack_latest.gemfile.lock @@ -0,0 +1,179 @@ +GIT + remote: https://github.com/DataDog/simplecov + revision: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + ref: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + specs: + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + +PATH + remote: .. + specs: + datadog (2.3.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 12.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + benchmark-ips (2.14.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.8-java) + builder (3.3.0) + climate_control (0.2.0) + coderay (1.1.3) + concurrent-ruby (1.3.4) + crack (1.0.0) + bigdecimal + rexml + debase-ruby_core_source (3.3.1) + diff-lcs (1.5.1) + docile (1.4.1) + dogstatsd-ruby (5.6.2) + ffi (1.16.3-java) + hashdiff (1.1.1) + json (2.7.2-java) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (12.0.0.1.0) + libddwaf (1.14.0.0.0-java) + ffi (~> 1.0) + memory_profiler (0.9.14) + method_source (1.1.0) + msgpack (1.7.2-java) + os (1.1.4) + parallel (1.24.0) + parser (3.3.5.0) + ast (~> 2.4.1) + racc + pimpmychangelog (0.1.3) + pry (0.14.2-java) + coderay (~> 1.1) + method_source (~> 1.0) + spoon (~> 0.0) + pry-debugger-jruby (2.1.1-java) + pry (>= 0.13, < 0.15) + ruby-debug-base (>= 0.10.4, < 0.12) + public_suffix (5.1.1) + racc (1.8.1-java) + rack (3.1.7) + rack-contrib (2.5.0) + rack (< 4) + rack-test (2.1.0) + rack (>= 1.3) + rainbow (3.1.1) + rake (13.2.1) + rake-compiler (1.2.7) + rake + regexp_parser (2.9.2) + rexml (3.3.7) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-collection_matchers (1.2.1) + rspec-expectations (>= 2.99.0.beta1) + rspec-core (3.13.1) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.1) + rspec-wait (0.0.10) + rspec (>= 3.0) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rubocop (1.50.2) + json (~> 2.3) + parallel (~> 1.10) + parser (>= 3.2.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.28.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.30.0) + parser (>= 3.2.1.0) + rubocop-capybara (2.18.0) + rubocop (~> 1.41) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-performance (1.17.1) + rubocop (>= 1.7.0, < 2.0) + rubocop-ast (>= 0.4.0) + rubocop-rspec (2.20.0) + rubocop (~> 1.33) + rubocop-capybara (~> 2.17) + ruby-debug-base (0.11.0-java) + ruby-progressbar (1.13.0) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + spoon (0.0.6) + ffi + thor (1.3.2) + unicode-display_width (2.6.0) + warning (1.4.0) + webmock (3.23.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + +PLATFORMS + universal-java-11 + +DEPENDENCIES + appraisal (~> 2.4.0) + benchmark-ips (~> 2.8) + benchmark-memory (< 0.2) + builder + climate_control (~> 0.2.0) + concurrent-ruby + datadog! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + ffi (~> 1.16.3) + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-debugger-jruby + rack + rack-contrib + rack-test + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + rexml (>= 3.2.7) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rubocop (~> 1.50.0) + rubocop-packaging (~> 0.5.2) + rubocop-performance (~> 1.9) + rubocop-rspec (~> 2.20, < 2.21) + simplecov! + simplecov-cobertura (~> 2.1.0) + warning (~> 1) + webmock (>= 3.10.0) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/jruby_9.4_rack_latest.gemfile b/gemfiles/jruby_9.4_rack_latest.gemfile new file mode 100644 index 00000000000..76233479748 --- /dev/null +++ b/gemfiles/jruby_9.4_rack_latest.gemfile @@ -0,0 +1,47 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", "~> 2.4.0" +gem "benchmark-ips", "~> 2.8" +gem "benchmark-memory", "< 0.2" +gem "builder" +gem "climate_control", "~> 0.2.0" +gem "concurrent-ruby" +gem "json-schema", "< 3" +gem "memory_profiler", "~> 0.9" +gem "os", "~> 1.1" +gem "pimpmychangelog", ">= 0.1.2" +gem "pry" +gem "pry-debugger-jruby" +gem "rake", ">= 10.5" +gem "rake-compiler", "~> 1.1", ">= 1.1.1" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "simplecov", git: "https://github.com/DataDog/simplecov", ref: "3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db" +gem "simplecov-cobertura", "~> 2.1.0" +gem "warning", "~> 1" +gem "webmock", ">= 3.10.0" +gem "rexml", ">= 3.2.7" +gem "webrick", ">= 1.7.0" +gem "rubocop", "~> 1.50.0", require: false +gem "rubocop-packaging", "~> 0.5.2", require: false +gem "rubocop-performance", "~> 1.9", require: false +gem "rubocop-rspec", ["~> 2.20", "< 2.21"], require: false +gem "dogstatsd-ruby", ">= 3.3.0", "!= 5.0.0", "!= 5.0.1", "!= 5.1.0" +gem "ffi", "~> 1.16.3", require: false +gem "rack" +gem "rack-contrib" +gem "rack-test" + +group :check do + +end + +group :dev do + +end + +gemspec path: "../" diff --git a/gemfiles/jruby_9.4_rack_latest.gemfile.lock b/gemfiles/jruby_9.4_rack_latest.gemfile.lock new file mode 100644 index 00000000000..7c76055327b --- /dev/null +++ b/gemfiles/jruby_9.4_rack_latest.gemfile.lock @@ -0,0 +1,181 @@ +GIT + remote: https://github.com/DataDog/simplecov + revision: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + ref: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + specs: + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + +PATH + remote: .. + specs: + datadog (2.3.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 12.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + benchmark-ips (2.14.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.8-java) + builder (3.3.0) + climate_control (0.2.0) + coderay (1.1.3) + concurrent-ruby (1.3.4) + crack (1.0.0) + bigdecimal + rexml + debase-ruby_core_source (3.3.1) + diff-lcs (1.5.1) + docile (1.4.1) + dogstatsd-ruby (5.6.2) + ffi (1.16.3-java) + hashdiff (1.1.1) + json (2.7.2-java) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (12.0.0.1.0) + libddwaf (1.14.0.0.0-java) + ffi (~> 1.0) + memory_profiler (0.9.14) + method_source (1.1.0) + msgpack (1.7.2-java) + os (1.1.4) + parallel (1.26.3) + parser (3.3.5.0) + ast (~> 2.4.1) + racc + pimpmychangelog (0.1.3) + pry (0.14.2-java) + coderay (~> 1.1) + method_source (~> 1.0) + spoon (~> 0.0) + pry-debugger-jruby (2.1.1-java) + pry (>= 0.13, < 0.15) + ruby-debug-base (>= 0.10.4, < 0.12) + public_suffix (6.0.1) + racc (1.8.1-java) + rack (3.1.7) + rack-contrib (2.5.0) + rack (< 4) + rack-test (2.1.0) + rack (>= 1.3) + rainbow (3.1.1) + rake (13.2.1) + rake-compiler (1.2.7) + rake + regexp_parser (2.9.2) + rexml (3.3.7) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-collection_matchers (1.2.1) + rspec-expectations (>= 2.99.0.beta1) + rspec-core (3.13.1) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.1) + rspec-wait (0.0.10) + rspec (>= 3.0) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rubocop (1.50.2) + json (~> 2.3) + parallel (~> 1.10) + parser (>= 3.2.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.28.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.32.3) + parser (>= 3.3.1.0) + rubocop-capybara (2.21.0) + rubocop (~> 1.41) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-performance (1.22.1) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rspec (2.20.0) + rubocop (~> 1.33) + rubocop-capybara (~> 2.17) + ruby-debug-base (0.11.0-java) + ruby-progressbar (1.13.0) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + spoon (0.0.6) + ffi + thor (1.3.2) + unicode-display_width (2.6.0) + warning (1.4.0) + webmock (3.23.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + webrick (1.8.2) + +PLATFORMS + universal-java-11 + +DEPENDENCIES + appraisal (~> 2.4.0) + benchmark-ips (~> 2.8) + benchmark-memory (< 0.2) + builder + climate_control (~> 0.2.0) + concurrent-ruby + datadog! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + ffi (~> 1.16.3) + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-debugger-jruby + rack + rack-contrib + rack-test + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + rexml (>= 3.2.7) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rubocop (~> 1.50.0) + rubocop-packaging (~> 0.5.2) + rubocop-performance (~> 1.9) + rubocop-rspec (~> 2.20, < 2.21) + simplecov! + simplecov-cobertura (~> 2.1.0) + warning (~> 1) + webmock (>= 3.10.0) + webrick (>= 1.7.0) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_2.5_rack_latest.gemfile b/gemfiles/ruby_2.5_rack_latest.gemfile new file mode 100644 index 00000000000..a06f1fb56f3 --- /dev/null +++ b/gemfiles/ruby_2.5_rack_latest.gemfile @@ -0,0 +1,45 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", "~> 2.4.0" +gem "benchmark-ips", "~> 2.8" +gem "benchmark-memory", "< 0.2" +gem "builder" +gem "climate_control", "~> 0.2.0" +gem "concurrent-ruby" +gem "extlz4", "~> 0.3", ">= 0.3.3" +gem "json-schema", "< 3" +gem "memory_profiler", "~> 0.9" +gem "os", "~> 1.1" +gem "pimpmychangelog", ">= 0.1.2" +gem "pry" +gem "pry-nav" +gem "pry-stack_explorer" +gem "rake", ">= 10.5" +gem "rake-compiler", "~> 1.1", ">= 1.1.1" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "simplecov", git: "https://github.com/DataDog/simplecov", ref: "3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db" +gem "simplecov-cobertura", "~> 2.1.0" +gem "warning", "~> 1" +gem "webmock", ">= 3.10.0" +gem "rexml", ">= 3.2.7" +gem "dogstatsd-ruby", ">= 3.3.0", "!= 5.0.0", "!= 5.0.1", "!= 5.1.0" +gem "google-protobuf", ["~> 3.0", "!= 3.7.0", "!= 3.7.1", "< 3.19.2"] +gem "ffi", "~> 1.16.3", require: false +gem "rack" +gem "rack-contrib" +gem "rack-test" + +group :check do + +end + +group :dev do + +end + +gemspec path: "../" diff --git a/gemfiles/ruby_2.5_rack_latest.gemfile.lock b/gemfiles/ruby_2.5_rack_latest.gemfile.lock new file mode 100644 index 00000000000..68e5137aa48 --- /dev/null +++ b/gemfiles/ruby_2.5_rack_latest.gemfile.lock @@ -0,0 +1,153 @@ +GIT + remote: https://github.com/DataDog/simplecov + revision: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + ref: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + specs: + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + +PATH + remote: .. + specs: + datadog (2.3.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 12.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + benchmark-ips (2.14.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.8) + binding_of_caller (0.8.0) + debug_inspector (>= 0.0.1) + builder (3.3.0) + climate_control (0.2.0) + coderay (1.1.3) + concurrent-ruby (1.3.4) + crack (1.0.0) + bigdecimal + rexml + debase-ruby_core_source (3.3.1) + debug_inspector (1.2.0) + diff-lcs (1.5.1) + docile (1.4.1) + dogstatsd-ruby (5.6.2) + extlz4 (0.3.4) + ffi (1.16.3) + google-protobuf (3.19.1) + google-protobuf (3.19.1-x86_64-linux) + hashdiff (1.1.1) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (12.0.0.1.0-aarch64-linux) + libdatadog (12.0.0.1.0-x86_64-linux) + libddwaf (1.14.0.0.0-aarch64-linux) + ffi (~> 1.0) + libddwaf (1.14.0.0.0-x86_64-linux) + ffi (~> 1.0) + memory_profiler (0.9.14) + method_source (1.1.0) + msgpack (1.7.2) + os (1.1.4) + pimpmychangelog (0.1.3) + pry (0.14.2) + coderay (~> 1.1) + method_source (~> 1.0) + pry-nav (1.0.0) + pry (>= 0.9.10, < 0.15) + pry-stack_explorer (0.4.13) + binding_of_caller (~> 0.7) + pry (~> 0.13) + public_suffix (4.0.7) + rack (3.1.7) + rack-contrib (2.5.0) + rack (< 4) + rack-test (2.1.0) + rack (>= 1.3) + rake (13.2.1) + rake-compiler (1.2.7) + rake + rexml (3.3.7) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-collection_matchers (1.2.1) + rspec-expectations (>= 2.99.0.beta1) + rspec-core (3.13.1) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.1) + rspec-wait (0.0.10) + rspec (>= 3.0) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + thor (1.2.2) + warning (1.4.0) + webmock (3.23.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + +PLATFORMS + aarch64-linux + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.0) + benchmark-ips (~> 2.8) + benchmark-memory (< 0.2) + builder + climate_control (~> 0.2.0) + concurrent-ruby + datadog! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + ffi (~> 1.16.3) + google-protobuf (~> 3.0, < 3.19.2, != 3.7.1, != 3.7.0) + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-nav + pry-stack_explorer + rack + rack-contrib + rack-test + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + rexml (>= 3.2.7) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + simplecov! + simplecov-cobertura (~> 2.1.0) + warning (~> 1) + webmock (>= 3.10.0) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_2.6_rack_latest.gemfile b/gemfiles/ruby_2.6_rack_latest.gemfile new file mode 100644 index 00000000000..e3268afe1d7 --- /dev/null +++ b/gemfiles/ruby_2.6_rack_latest.gemfile @@ -0,0 +1,49 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", "~> 2.4.0" +gem "benchmark-ips", "~> 2.8" +gem "benchmark-memory", "< 0.2" +gem "builder" +gem "climate_control", "~> 0.2.0" +gem "concurrent-ruby" +gem "extlz4", "~> 0.3", ">= 0.3.3" +gem "json-schema", "< 3" +gem "memory_profiler", "~> 0.9" +gem "os", "~> 1.1" +gem "pimpmychangelog", ">= 0.1.2" +gem "pry" +gem "pry-byebug" +gem "pry-stack_explorer" +gem "rake", ">= 10.5" +gem "rake-compiler", "~> 1.1", ">= 1.1.1" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "simplecov", git: "https://github.com/DataDog/simplecov", ref: "3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db" +gem "simplecov-cobertura", "~> 2.1.0" +gem "warning", "~> 1" +gem "webmock", ">= 3.10.0" +gem "rexml", ">= 3.2.7" +gem "rubocop", "~> 1.50.0", require: false +gem "rubocop-packaging", "~> 0.5.2", require: false +gem "rubocop-performance", "~> 1.9", require: false +gem "rubocop-rspec", ["~> 2.20", "< 2.21"], require: false +gem "dogstatsd-ruby", ">= 3.3.0", "!= 5.0.0", "!= 5.0.1", "!= 5.1.0" +gem "google-protobuf", ["~> 3.0", "!= 3.7.0", "!= 3.7.1", "< 3.19.2"] +gem "ffi", "~> 1.16.3", require: false +gem "rack" +gem "rack-contrib" +gem "rack-test" + +group :check do + +end + +group :dev do + +end + +gemspec path: "../" diff --git a/gemfiles/ruby_2.6_rack_latest.gemfile.lock b/gemfiles/ruby_2.6_rack_latest.gemfile.lock new file mode 100644 index 00000000000..c5670811997 --- /dev/null +++ b/gemfiles/ruby_2.6_rack_latest.gemfile.lock @@ -0,0 +1,192 @@ +GIT + remote: https://github.com/DataDog/simplecov + revision: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + ref: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + specs: + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + +PATH + remote: .. + specs: + datadog (2.3.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 12.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + benchmark-ips (2.14.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.8) + binding_of_caller (1.0.1) + debug_inspector (>= 1.2.0) + builder (3.3.0) + byebug (11.1.3) + climate_control (0.2.0) + coderay (1.1.3) + concurrent-ruby (1.3.4) + crack (1.0.0) + bigdecimal + rexml + debase-ruby_core_source (3.3.1) + debug_inspector (1.2.0) + diff-lcs (1.5.1) + docile (1.4.1) + dogstatsd-ruby (5.6.2) + extlz4 (0.3.4) + ffi (1.16.3) + google-protobuf (3.19.1) + google-protobuf (3.19.1-x86_64-linux) + hashdiff (1.1.1) + json (2.7.2) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (12.0.0.1.0-aarch64-linux) + libdatadog (12.0.0.1.0-x86_64-linux) + libddwaf (1.14.0.0.0-aarch64-linux) + ffi (~> 1.0) + libddwaf (1.14.0.0.0-x86_64-linux) + ffi (~> 1.0) + memory_profiler (0.9.14) + method_source (1.1.0) + msgpack (1.7.2) + os (1.1.4) + parallel (1.24.0) + parser (3.3.5.0) + ast (~> 2.4.1) + racc + pimpmychangelog (0.1.3) + pry (0.14.2) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.8.0) + byebug (~> 11.0) + pry (~> 0.10) + pry-stack_explorer (0.6.1) + binding_of_caller (~> 1.0) + pry (~> 0.13) + public_suffix (5.1.1) + racc (1.8.1) + rack (3.1.7) + rack-contrib (2.5.0) + rack (< 4) + rack-test (2.1.0) + rack (>= 1.3) + rainbow (3.1.1) + rake (13.2.1) + rake-compiler (1.2.7) + rake + regexp_parser (2.9.2) + rexml (3.3.7) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-collection_matchers (1.2.1) + rspec-expectations (>= 2.99.0.beta1) + rspec-core (3.13.1) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.1) + rspec-wait (0.0.10) + rspec (>= 3.0) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rubocop (1.50.2) + json (~> 2.3) + parallel (~> 1.10) + parser (>= 3.2.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.28.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.30.0) + parser (>= 3.2.1.0) + rubocop-capybara (2.18.0) + rubocop (~> 1.41) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-performance (1.17.1) + rubocop (>= 1.7.0, < 2.0) + rubocop-ast (>= 0.4.0) + rubocop-rspec (2.20.0) + rubocop (~> 1.33) + rubocop-capybara (~> 2.17) + ruby-progressbar (1.13.0) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + thor (1.3.2) + unicode-display_width (2.6.0) + warning (1.4.0) + webmock (3.23.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + +PLATFORMS + aarch64-linux + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.0) + benchmark-ips (~> 2.8) + benchmark-memory (< 0.2) + builder + climate_control (~> 0.2.0) + concurrent-ruby + datadog! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + ffi (~> 1.16.3) + google-protobuf (~> 3.0, < 3.19.2, != 3.7.1, != 3.7.0) + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-byebug + pry-stack_explorer + rack + rack-contrib + rack-test + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + rexml (>= 3.2.7) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rubocop (~> 1.50.0) + rubocop-packaging (~> 0.5.2) + rubocop-performance (~> 1.9) + rubocop-rspec (~> 2.20, < 2.21) + simplecov! + simplecov-cobertura (~> 2.1.0) + warning (~> 1) + webmock (>= 3.10.0) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_2.7_rack_latest.gemfile b/gemfiles/ruby_2.7_rack_latest.gemfile new file mode 100644 index 00000000000..bc01f16ab77 --- /dev/null +++ b/gemfiles/ruby_2.7_rack_latest.gemfile @@ -0,0 +1,49 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", "~> 2.4.0" +gem "benchmark-ips", "~> 2.8" +gem "benchmark-memory", "< 0.2" +gem "builder" +gem "climate_control", "~> 0.2.0" +gem "concurrent-ruby" +gem "extlz4", "~> 0.3", ">= 0.3.3" +gem "json-schema", "< 3" +gem "memory_profiler", "~> 0.9" +gem "os", "~> 1.1" +gem "pimpmychangelog", ">= 0.1.2" +gem "pry" +gem "pry-byebug" +gem "pry-stack_explorer" +gem "rake", ">= 10.5" +gem "rake-compiler", "~> 1.1", ">= 1.1.1" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "simplecov", git: "https://github.com/DataDog/simplecov", ref: "3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db" +gem "simplecov-cobertura", "~> 2.1.0" +gem "warning", "~> 1" +gem "webmock", ">= 3.10.0" +gem "rexml", ">= 3.2.7" +gem "rubocop", "~> 1.50.0", require: false +gem "rubocop-packaging", "~> 0.5.2", require: false +gem "rubocop-performance", "~> 1.9", require: false +gem "rubocop-rspec", ["~> 2.20", "< 2.21"], require: false +gem "dogstatsd-ruby", ">= 3.3.0", "!= 5.0.0", "!= 5.0.1", "!= 5.1.0" +gem "google-protobuf", ["~> 3.0", "!= 3.7.0", "!= 3.7.1"] +gem "ffi", "~> 1.16.3", require: false +gem "rack" +gem "rack-contrib" +gem "rack-test" + +group :check do + +end + +group :dev do + +end + +gemspec path: "../" diff --git a/gemfiles/ruby_2.7_rack_latest.gemfile.lock b/gemfiles/ruby_2.7_rack_latest.gemfile.lock new file mode 100644 index 00000000000..66e7191a80a --- /dev/null +++ b/gemfiles/ruby_2.7_rack_latest.gemfile.lock @@ -0,0 +1,192 @@ +GIT + remote: https://github.com/DataDog/simplecov + revision: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + ref: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + specs: + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + +PATH + remote: .. + specs: + datadog (2.3.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 12.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + benchmark-ips (2.14.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.8) + binding_of_caller (1.0.1) + debug_inspector (>= 1.2.0) + builder (3.3.0) + byebug (11.1.3) + climate_control (0.2.0) + coderay (1.1.3) + concurrent-ruby (1.3.4) + crack (1.0.0) + bigdecimal + rexml + debase-ruby_core_source (3.3.1) + debug_inspector (1.2.0) + diff-lcs (1.5.1) + docile (1.4.1) + dogstatsd-ruby (5.6.2) + extlz4 (0.3.4) + ffi (1.16.3) + google-protobuf (3.25.5-aarch64-linux) + google-protobuf (3.25.5-x86_64-linux) + hashdiff (1.1.1) + json (2.7.2) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (12.0.0.1.0-aarch64-linux) + libdatadog (12.0.0.1.0-x86_64-linux) + libddwaf (1.14.0.0.0-aarch64-linux) + ffi (~> 1.0) + libddwaf (1.14.0.0.0-x86_64-linux) + ffi (~> 1.0) + memory_profiler (0.9.14) + method_source (1.1.0) + msgpack (1.7.2) + os (1.1.4) + parallel (1.26.3) + parser (3.3.5.0) + ast (~> 2.4.1) + racc + pimpmychangelog (0.1.3) + pry (0.14.2) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.10.1) + byebug (~> 11.0) + pry (>= 0.13, < 0.15) + pry-stack_explorer (0.6.1) + binding_of_caller (~> 1.0) + pry (~> 0.13) + public_suffix (5.1.1) + racc (1.8.1) + rack (3.1.7) + rack-contrib (2.5.0) + rack (< 4) + rack-test (2.1.0) + rack (>= 1.3) + rainbow (3.1.1) + rake (13.2.1) + rake-compiler (1.2.7) + rake + regexp_parser (2.9.2) + rexml (3.3.7) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-collection_matchers (1.2.1) + rspec-expectations (>= 2.99.0.beta1) + rspec-core (3.13.1) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.1) + rspec-wait (0.0.10) + rspec (>= 3.0) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rubocop (1.50.2) + json (~> 2.3) + parallel (~> 1.10) + parser (>= 3.2.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.28.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.32.3) + parser (>= 3.3.1.0) + rubocop-capybara (2.21.0) + rubocop (~> 1.41) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-performance (1.22.1) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rspec (2.20.0) + rubocop (~> 1.33) + rubocop-capybara (~> 2.17) + ruby-progressbar (1.13.0) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + thor (1.3.2) + unicode-display_width (2.6.0) + warning (1.4.0) + webmock (3.23.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + +PLATFORMS + aarch64-linux + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.0) + benchmark-ips (~> 2.8) + benchmark-memory (< 0.2) + builder + climate_control (~> 0.2.0) + concurrent-ruby + datadog! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + ffi (~> 1.16.3) + google-protobuf (~> 3.0, != 3.7.1, != 3.7.0) + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-byebug + pry-stack_explorer + rack + rack-contrib + rack-test + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + rexml (>= 3.2.7) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rubocop (~> 1.50.0) + rubocop-packaging (~> 0.5.2) + rubocop-performance (~> 1.9) + rubocop-rspec (~> 2.20, < 2.21) + simplecov! + simplecov-cobertura (~> 2.1.0) + warning (~> 1) + webmock (>= 3.10.0) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_3.0_rack_latest.gemfile b/gemfiles/ruby_3.0_rack_latest.gemfile new file mode 100644 index 00000000000..2fe9a1ab990 --- /dev/null +++ b/gemfiles/ruby_3.0_rack_latest.gemfile @@ -0,0 +1,50 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", "~> 2.4.0" +gem "benchmark-ips", "~> 2.8" +gem "benchmark-memory", "< 0.2" +gem "builder" +gem "climate_control", "~> 0.2.0" +gem "concurrent-ruby" +gem "extlz4", "~> 0.3", ">= 0.3.3" +gem "json-schema", "< 3" +gem "memory_profiler", "~> 0.9" +gem "os", "~> 1.1" +gem "pimpmychangelog", ">= 0.1.2" +gem "pry" +gem "pry-byebug" +gem "pry-stack_explorer" +gem "rake", ">= 10.5" +gem "rake-compiler", "~> 1.1", ">= 1.1.1" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "simplecov", git: "https://github.com/DataDog/simplecov", ref: "3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db" +gem "simplecov-cobertura", "~> 2.1.0" +gem "warning", "~> 1" +gem "webmock", ">= 3.10.0" +gem "rexml", ">= 3.2.7" +gem "webrick", ">= 1.7.0" +gem "rubocop", "~> 1.50.0", require: false +gem "rubocop-packaging", "~> 0.5.2", require: false +gem "rubocop-performance", "~> 1.9", require: false +gem "rubocop-rspec", ["~> 2.20", "< 2.21"], require: false +gem "dogstatsd-ruby", ">= 3.3.0", "!= 5.0.0", "!= 5.0.1", "!= 5.1.0" +gem "google-protobuf", ["~> 3.0", "!= 3.7.0", "!= 3.7.1"] +gem "ffi", "~> 1.16.3", require: false +gem "rack" +gem "rack-contrib" +gem "rack-test" + +group :check do + +end + +group :dev do + +end + +gemspec path: "../" diff --git a/gemfiles/ruby_3.0_rack_latest.gemfile.lock b/gemfiles/ruby_3.0_rack_latest.gemfile.lock new file mode 100644 index 00000000000..439e56e07ea --- /dev/null +++ b/gemfiles/ruby_3.0_rack_latest.gemfile.lock @@ -0,0 +1,194 @@ +GIT + remote: https://github.com/DataDog/simplecov + revision: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + ref: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + specs: + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + +PATH + remote: .. + specs: + datadog (2.3.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 12.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + benchmark-ips (2.14.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.8) + binding_of_caller (1.0.1) + debug_inspector (>= 1.2.0) + builder (3.3.0) + byebug (11.1.3) + climate_control (0.2.0) + coderay (1.1.3) + concurrent-ruby (1.3.4) + crack (1.0.0) + bigdecimal + rexml + debase-ruby_core_source (3.3.1) + debug_inspector (1.2.0) + diff-lcs (1.5.1) + docile (1.4.1) + dogstatsd-ruby (5.6.2) + extlz4 (0.3.4) + ffi (1.16.3) + google-protobuf (3.25.5-aarch64-linux) + google-protobuf (3.25.5-x86_64-linux) + hashdiff (1.1.1) + json (2.7.2) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (12.0.0.1.0-aarch64-linux) + libdatadog (12.0.0.1.0-x86_64-linux) + libddwaf (1.14.0.0.0-aarch64-linux) + ffi (~> 1.0) + libddwaf (1.14.0.0.0-x86_64-linux) + ffi (~> 1.0) + memory_profiler (0.9.14) + method_source (1.1.0) + msgpack (1.7.2) + os (1.1.4) + parallel (1.26.3) + parser (3.3.5.0) + ast (~> 2.4.1) + racc + pimpmychangelog (0.1.3) + pry (0.14.2) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.10.1) + byebug (~> 11.0) + pry (>= 0.13, < 0.15) + pry-stack_explorer (0.6.1) + binding_of_caller (~> 1.0) + pry (~> 0.13) + public_suffix (6.0.1) + racc (1.8.1) + rack (3.1.7) + rack-contrib (2.5.0) + rack (< 4) + rack-test (2.1.0) + rack (>= 1.3) + rainbow (3.1.1) + rake (13.2.1) + rake-compiler (1.2.7) + rake + regexp_parser (2.9.2) + rexml (3.3.7) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-collection_matchers (1.2.1) + rspec-expectations (>= 2.99.0.beta1) + rspec-core (3.13.1) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.1) + rspec-wait (0.0.10) + rspec (>= 3.0) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rubocop (1.50.2) + json (~> 2.3) + parallel (~> 1.10) + parser (>= 3.2.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.28.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.32.3) + parser (>= 3.3.1.0) + rubocop-capybara (2.21.0) + rubocop (~> 1.41) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-performance (1.22.1) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rspec (2.20.0) + rubocop (~> 1.33) + rubocop-capybara (~> 2.17) + ruby-progressbar (1.13.0) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + thor (1.3.2) + unicode-display_width (2.6.0) + warning (1.4.0) + webmock (3.23.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + webrick (1.8.2) + +PLATFORMS + aarch64-linux + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.0) + benchmark-ips (~> 2.8) + benchmark-memory (< 0.2) + builder + climate_control (~> 0.2.0) + concurrent-ruby + datadog! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + ffi (~> 1.16.3) + google-protobuf (~> 3.0, != 3.7.1, != 3.7.0) + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-byebug + pry-stack_explorer + rack + rack-contrib + rack-test + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + rexml (>= 3.2.7) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rubocop (~> 1.50.0) + rubocop-packaging (~> 0.5.2) + rubocop-performance (~> 1.9) + rubocop-rspec (~> 2.20, < 2.21) + simplecov! + simplecov-cobertura (~> 2.1.0) + warning (~> 1) + webmock (>= 3.10.0) + webrick (>= 1.7.0) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_3.1_rack_latest.gemfile b/gemfiles/ruby_3.1_rack_latest.gemfile new file mode 100644 index 00000000000..2fe9a1ab990 --- /dev/null +++ b/gemfiles/ruby_3.1_rack_latest.gemfile @@ -0,0 +1,50 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", "~> 2.4.0" +gem "benchmark-ips", "~> 2.8" +gem "benchmark-memory", "< 0.2" +gem "builder" +gem "climate_control", "~> 0.2.0" +gem "concurrent-ruby" +gem "extlz4", "~> 0.3", ">= 0.3.3" +gem "json-schema", "< 3" +gem "memory_profiler", "~> 0.9" +gem "os", "~> 1.1" +gem "pimpmychangelog", ">= 0.1.2" +gem "pry" +gem "pry-byebug" +gem "pry-stack_explorer" +gem "rake", ">= 10.5" +gem "rake-compiler", "~> 1.1", ">= 1.1.1" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "simplecov", git: "https://github.com/DataDog/simplecov", ref: "3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db" +gem "simplecov-cobertura", "~> 2.1.0" +gem "warning", "~> 1" +gem "webmock", ">= 3.10.0" +gem "rexml", ">= 3.2.7" +gem "webrick", ">= 1.7.0" +gem "rubocop", "~> 1.50.0", require: false +gem "rubocop-packaging", "~> 0.5.2", require: false +gem "rubocop-performance", "~> 1.9", require: false +gem "rubocop-rspec", ["~> 2.20", "< 2.21"], require: false +gem "dogstatsd-ruby", ">= 3.3.0", "!= 5.0.0", "!= 5.0.1", "!= 5.1.0" +gem "google-protobuf", ["~> 3.0", "!= 3.7.0", "!= 3.7.1"] +gem "ffi", "~> 1.16.3", require: false +gem "rack" +gem "rack-contrib" +gem "rack-test" + +group :check do + +end + +group :dev do + +end + +gemspec path: "../" diff --git a/gemfiles/ruby_3.1_rack_latest.gemfile.lock b/gemfiles/ruby_3.1_rack_latest.gemfile.lock new file mode 100644 index 00000000000..439e56e07ea --- /dev/null +++ b/gemfiles/ruby_3.1_rack_latest.gemfile.lock @@ -0,0 +1,194 @@ +GIT + remote: https://github.com/DataDog/simplecov + revision: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + ref: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + specs: + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + +PATH + remote: .. + specs: + datadog (2.3.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 12.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + benchmark-ips (2.14.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.8) + binding_of_caller (1.0.1) + debug_inspector (>= 1.2.0) + builder (3.3.0) + byebug (11.1.3) + climate_control (0.2.0) + coderay (1.1.3) + concurrent-ruby (1.3.4) + crack (1.0.0) + bigdecimal + rexml + debase-ruby_core_source (3.3.1) + debug_inspector (1.2.0) + diff-lcs (1.5.1) + docile (1.4.1) + dogstatsd-ruby (5.6.2) + extlz4 (0.3.4) + ffi (1.16.3) + google-protobuf (3.25.5-aarch64-linux) + google-protobuf (3.25.5-x86_64-linux) + hashdiff (1.1.1) + json (2.7.2) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (12.0.0.1.0-aarch64-linux) + libdatadog (12.0.0.1.0-x86_64-linux) + libddwaf (1.14.0.0.0-aarch64-linux) + ffi (~> 1.0) + libddwaf (1.14.0.0.0-x86_64-linux) + ffi (~> 1.0) + memory_profiler (0.9.14) + method_source (1.1.0) + msgpack (1.7.2) + os (1.1.4) + parallel (1.26.3) + parser (3.3.5.0) + ast (~> 2.4.1) + racc + pimpmychangelog (0.1.3) + pry (0.14.2) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.10.1) + byebug (~> 11.0) + pry (>= 0.13, < 0.15) + pry-stack_explorer (0.6.1) + binding_of_caller (~> 1.0) + pry (~> 0.13) + public_suffix (6.0.1) + racc (1.8.1) + rack (3.1.7) + rack-contrib (2.5.0) + rack (< 4) + rack-test (2.1.0) + rack (>= 1.3) + rainbow (3.1.1) + rake (13.2.1) + rake-compiler (1.2.7) + rake + regexp_parser (2.9.2) + rexml (3.3.7) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-collection_matchers (1.2.1) + rspec-expectations (>= 2.99.0.beta1) + rspec-core (3.13.1) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.1) + rspec-wait (0.0.10) + rspec (>= 3.0) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rubocop (1.50.2) + json (~> 2.3) + parallel (~> 1.10) + parser (>= 3.2.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.28.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.32.3) + parser (>= 3.3.1.0) + rubocop-capybara (2.21.0) + rubocop (~> 1.41) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-performance (1.22.1) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rspec (2.20.0) + rubocop (~> 1.33) + rubocop-capybara (~> 2.17) + ruby-progressbar (1.13.0) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + thor (1.3.2) + unicode-display_width (2.6.0) + warning (1.4.0) + webmock (3.23.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + webrick (1.8.2) + +PLATFORMS + aarch64-linux + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.0) + benchmark-ips (~> 2.8) + benchmark-memory (< 0.2) + builder + climate_control (~> 0.2.0) + concurrent-ruby + datadog! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + ffi (~> 1.16.3) + google-protobuf (~> 3.0, != 3.7.1, != 3.7.0) + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-byebug + pry-stack_explorer + rack + rack-contrib + rack-test + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + rexml (>= 3.2.7) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rubocop (~> 1.50.0) + rubocop-packaging (~> 0.5.2) + rubocop-performance (~> 1.9) + rubocop-rspec (~> 2.20, < 2.21) + simplecov! + simplecov-cobertura (~> 2.1.0) + warning (~> 1) + webmock (>= 3.10.0) + webrick (>= 1.7.0) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_3.2_rack_latest.gemfile b/gemfiles/ruby_3.2_rack_latest.gemfile new file mode 100644 index 00000000000..f1547c7765f --- /dev/null +++ b/gemfiles/ruby_3.2_rack_latest.gemfile @@ -0,0 +1,49 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", "~> 2.4.0" +gem "benchmark-ips", "~> 2.8" +gem "benchmark-memory", "< 0.2" +gem "builder" +gem "climate_control", "~> 0.2.0" +gem "concurrent-ruby" +gem "extlz4", "~> 0.3", ">= 0.3.3" +gem "json-schema", "< 3" +gem "memory_profiler", "~> 0.9" +gem "os", "~> 1.1" +gem "pimpmychangelog", ">= 0.1.2" +gem "pry" +gem "pry-stack_explorer" +gem "rake", ">= 10.5" +gem "rake-compiler", "~> 1.1", ">= 1.1.1" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "simplecov", git: "https://github.com/DataDog/simplecov", ref: "3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db" +gem "simplecov-cobertura", "~> 2.1.0" +gem "warning", "~> 1" +gem "webmock", ">= 3.10.0" +gem "rexml", ">= 3.2.7" +gem "webrick", ">= 1.7.0" +gem "rubocop", "~> 1.50.0", require: false +gem "rubocop-packaging", "~> 0.5.2", require: false +gem "rubocop-performance", "~> 1.9", require: false +gem "rubocop-rspec", ["~> 2.20", "< 2.21"], require: false +gem "dogstatsd-ruby", ">= 3.3.0", "!= 5.0.0", "!= 5.0.1", "!= 5.1.0" +gem "google-protobuf", ["~> 3.0", "!= 3.7.0", "!= 3.7.1"] +gem "ffi", "~> 1.16.3", require: false +gem "rack" +gem "rack-contrib" +gem "rack-test" + +group :check do + +end + +group :dev do + +end + +gemspec path: "../" diff --git a/gemfiles/ruby_3.2_rack_latest.gemfile.lock b/gemfiles/ruby_3.2_rack_latest.gemfile.lock new file mode 100644 index 00000000000..693b231c0ae --- /dev/null +++ b/gemfiles/ruby_3.2_rack_latest.gemfile.lock @@ -0,0 +1,189 @@ +GIT + remote: https://github.com/DataDog/simplecov + revision: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + ref: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + specs: + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + +PATH + remote: .. + specs: + datadog (2.3.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 12.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + benchmark-ips (2.14.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.8) + binding_of_caller (1.0.1) + debug_inspector (>= 1.2.0) + builder (3.3.0) + climate_control (0.2.0) + coderay (1.1.3) + concurrent-ruby (1.3.4) + crack (1.0.0) + bigdecimal + rexml + debase-ruby_core_source (3.3.1) + debug_inspector (1.2.0) + diff-lcs (1.5.1) + docile (1.4.1) + dogstatsd-ruby (5.6.2) + extlz4 (0.3.4) + ffi (1.16.3) + google-protobuf (3.25.5-aarch64-linux) + google-protobuf (3.25.5-x86_64-linux) + hashdiff (1.1.1) + json (2.7.2) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (12.0.0.1.0-aarch64-linux) + libdatadog (12.0.0.1.0-x86_64-linux) + libddwaf (1.14.0.0.0-aarch64-linux) + ffi (~> 1.0) + libddwaf (1.14.0.0.0-x86_64-linux) + ffi (~> 1.0) + memory_profiler (0.9.14) + method_source (1.1.0) + msgpack (1.7.2) + os (1.1.4) + parallel (1.26.3) + parser (3.3.5.0) + ast (~> 2.4.1) + racc + pimpmychangelog (0.1.3) + pry (0.14.2) + coderay (~> 1.1) + method_source (~> 1.0) + pry-stack_explorer (0.6.1) + binding_of_caller (~> 1.0) + pry (~> 0.13) + public_suffix (6.0.1) + racc (1.8.1) + rack (3.1.7) + rack-contrib (2.5.0) + rack (< 4) + rack-test (2.1.0) + rack (>= 1.3) + rainbow (3.1.1) + rake (13.2.1) + rake-compiler (1.2.7) + rake + regexp_parser (2.9.2) + rexml (3.3.7) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-collection_matchers (1.2.1) + rspec-expectations (>= 2.99.0.beta1) + rspec-core (3.13.1) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.1) + rspec-wait (0.0.10) + rspec (>= 3.0) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rubocop (1.50.2) + json (~> 2.3) + parallel (~> 1.10) + parser (>= 3.2.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.28.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.32.3) + parser (>= 3.3.1.0) + rubocop-capybara (2.21.0) + rubocop (~> 1.41) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-performance (1.22.1) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rspec (2.20.0) + rubocop (~> 1.33) + rubocop-capybara (~> 2.17) + ruby-progressbar (1.13.0) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + thor (1.3.2) + unicode-display_width (2.6.0) + warning (1.4.0) + webmock (3.23.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + webrick (1.8.2) + +PLATFORMS + aarch64-linux + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.0) + benchmark-ips (~> 2.8) + benchmark-memory (< 0.2) + builder + climate_control (~> 0.2.0) + concurrent-ruby + datadog! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + ffi (~> 1.16.3) + google-protobuf (~> 3.0, != 3.7.1, != 3.7.0) + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-stack_explorer + rack + rack-contrib + rack-test + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + rexml (>= 3.2.7) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rubocop (~> 1.50.0) + rubocop-packaging (~> 0.5.2) + rubocop-performance (~> 1.9) + rubocop-rspec (~> 2.20, < 2.21) + simplecov! + simplecov-cobertura (~> 2.1.0) + warning (~> 1) + webmock (>= 3.10.0) + webrick (>= 1.7.0) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_3.3_rack_latest.gemfile b/gemfiles/ruby_3.3_rack_latest.gemfile new file mode 100644 index 00000000000..f1547c7765f --- /dev/null +++ b/gemfiles/ruby_3.3_rack_latest.gemfile @@ -0,0 +1,49 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", "~> 2.4.0" +gem "benchmark-ips", "~> 2.8" +gem "benchmark-memory", "< 0.2" +gem "builder" +gem "climate_control", "~> 0.2.0" +gem "concurrent-ruby" +gem "extlz4", "~> 0.3", ">= 0.3.3" +gem "json-schema", "< 3" +gem "memory_profiler", "~> 0.9" +gem "os", "~> 1.1" +gem "pimpmychangelog", ">= 0.1.2" +gem "pry" +gem "pry-stack_explorer" +gem "rake", ">= 10.5" +gem "rake-compiler", "~> 1.1", ">= 1.1.1" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "simplecov", git: "https://github.com/DataDog/simplecov", ref: "3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db" +gem "simplecov-cobertura", "~> 2.1.0" +gem "warning", "~> 1" +gem "webmock", ">= 3.10.0" +gem "rexml", ">= 3.2.7" +gem "webrick", ">= 1.7.0" +gem "rubocop", "~> 1.50.0", require: false +gem "rubocop-packaging", "~> 0.5.2", require: false +gem "rubocop-performance", "~> 1.9", require: false +gem "rubocop-rspec", ["~> 2.20", "< 2.21"], require: false +gem "dogstatsd-ruby", ">= 3.3.0", "!= 5.0.0", "!= 5.0.1", "!= 5.1.0" +gem "google-protobuf", ["~> 3.0", "!= 3.7.0", "!= 3.7.1"] +gem "ffi", "~> 1.16.3", require: false +gem "rack" +gem "rack-contrib" +gem "rack-test" + +group :check do + +end + +group :dev do + +end + +gemspec path: "../" diff --git a/gemfiles/ruby_3.3_rack_latest.gemfile.lock b/gemfiles/ruby_3.3_rack_latest.gemfile.lock new file mode 100644 index 00000000000..693b231c0ae --- /dev/null +++ b/gemfiles/ruby_3.3_rack_latest.gemfile.lock @@ -0,0 +1,189 @@ +GIT + remote: https://github.com/DataDog/simplecov + revision: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + ref: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + specs: + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + +PATH + remote: .. + specs: + datadog (2.3.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 12.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + benchmark-ips (2.14.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.8) + binding_of_caller (1.0.1) + debug_inspector (>= 1.2.0) + builder (3.3.0) + climate_control (0.2.0) + coderay (1.1.3) + concurrent-ruby (1.3.4) + crack (1.0.0) + bigdecimal + rexml + debase-ruby_core_source (3.3.1) + debug_inspector (1.2.0) + diff-lcs (1.5.1) + docile (1.4.1) + dogstatsd-ruby (5.6.2) + extlz4 (0.3.4) + ffi (1.16.3) + google-protobuf (3.25.5-aarch64-linux) + google-protobuf (3.25.5-x86_64-linux) + hashdiff (1.1.1) + json (2.7.2) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (12.0.0.1.0-aarch64-linux) + libdatadog (12.0.0.1.0-x86_64-linux) + libddwaf (1.14.0.0.0-aarch64-linux) + ffi (~> 1.0) + libddwaf (1.14.0.0.0-x86_64-linux) + ffi (~> 1.0) + memory_profiler (0.9.14) + method_source (1.1.0) + msgpack (1.7.2) + os (1.1.4) + parallel (1.26.3) + parser (3.3.5.0) + ast (~> 2.4.1) + racc + pimpmychangelog (0.1.3) + pry (0.14.2) + coderay (~> 1.1) + method_source (~> 1.0) + pry-stack_explorer (0.6.1) + binding_of_caller (~> 1.0) + pry (~> 0.13) + public_suffix (6.0.1) + racc (1.8.1) + rack (3.1.7) + rack-contrib (2.5.0) + rack (< 4) + rack-test (2.1.0) + rack (>= 1.3) + rainbow (3.1.1) + rake (13.2.1) + rake-compiler (1.2.7) + rake + regexp_parser (2.9.2) + rexml (3.3.7) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-collection_matchers (1.2.1) + rspec-expectations (>= 2.99.0.beta1) + rspec-core (3.13.1) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.1) + rspec-wait (0.0.10) + rspec (>= 3.0) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rubocop (1.50.2) + json (~> 2.3) + parallel (~> 1.10) + parser (>= 3.2.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.28.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.32.3) + parser (>= 3.3.1.0) + rubocop-capybara (2.21.0) + rubocop (~> 1.41) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-performance (1.22.1) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rspec (2.20.0) + rubocop (~> 1.33) + rubocop-capybara (~> 2.17) + ruby-progressbar (1.13.0) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + thor (1.3.2) + unicode-display_width (2.6.0) + warning (1.4.0) + webmock (3.23.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + webrick (1.8.2) + +PLATFORMS + aarch64-linux + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.0) + benchmark-ips (~> 2.8) + benchmark-memory (< 0.2) + builder + climate_control (~> 0.2.0) + concurrent-ruby + datadog! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + ffi (~> 1.16.3) + google-protobuf (~> 3.0, != 3.7.1, != 3.7.0) + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-stack_explorer + rack + rack-contrib + rack-test + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + rexml (>= 3.2.7) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rubocop (~> 1.50.0) + rubocop-packaging (~> 0.5.2) + rubocop-performance (~> 1.9) + rubocop-rspec (~> 2.20, < 2.21) + simplecov! + simplecov-cobertura (~> 2.1.0) + warning (~> 1) + webmock (>= 3.10.0) + webrick (>= 1.7.0) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_3.4_rack_latest.gemfile b/gemfiles/ruby_3.4_rack_latest.gemfile new file mode 100644 index 00000000000..ade15acb1ed --- /dev/null +++ b/gemfiles/ruby_3.4_rack_latest.gemfile @@ -0,0 +1,49 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", "~> 2.4.0" +gem "benchmark-ips", "~> 2.8" +gem "benchmark-memory", "< 0.2" +gem "builder" +gem "climate_control", "~> 0.2.0" +gem "concurrent-ruby" +gem "extlz4", "~> 0.3", ">= 0.3.3" +gem "json-schema", "< 3" +gem "memory_profiler", "~> 0.9" +gem "os", "~> 1.1" +gem "pimpmychangelog", ">= 0.1.2" +gem "pry" +gem "pry-stack_explorer" +gem "rake", ">= 10.5" +gem "rake-compiler", "~> 1.1", ">= 1.1.1" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "simplecov", git: "https://github.com/DataDog/simplecov", ref: "3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db" +gem "simplecov-cobertura", "~> 2.1.0" +gem "warning", "~> 1" +gem "webmock", ">= 3.10.0" +gem "rexml", ">= 3.2.7" +gem "webrick", git: "https://github.com/ruby/webrick.git", ref: "0c600e169bd4ae267cb5eeb6197277c848323bbe" +gem "rubocop", "~> 1.50.0", require: false +gem "rubocop-packaging", "~> 0.5.2", require: false +gem "rubocop-performance", "~> 1.9", require: false +gem "rubocop-rspec", ["~> 2.20", "< 2.21"], require: false +gem "dogstatsd-ruby", ">= 3.3.0", "!= 5.0.0", "!= 5.0.1", "!= 5.1.0" +gem "google-protobuf", ["~> 3.0", "!= 3.7.0", "!= 3.7.1"] +gem "ffi", "~> 1.16.3", require: false +gem "rack" +gem "rack-contrib" +gem "rack-test" + +group :check do + gem "ruby_memcheck", ">= 3" +end + +group :dev do + +end + +gemspec path: "../" diff --git a/gemfiles/ruby_3.4_rack_latest.gemfile.lock b/gemfiles/ruby_3.4_rack_latest.gemfile.lock new file mode 100644 index 00000000000..d6bca890608 --- /dev/null +++ b/gemfiles/ruby_3.4_rack_latest.gemfile.lock @@ -0,0 +1,201 @@ +GIT + remote: https://github.com/DataDog/simplecov + revision: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + ref: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + specs: + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + +GIT + remote: https://github.com/ruby/webrick.git + revision: 0c600e169bd4ae267cb5eeb6197277c848323bbe + ref: 0c600e169bd4ae267cb5eeb6197277c848323bbe + specs: + webrick (1.8.1) + +PATH + remote: .. + specs: + datadog (2.3.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 12.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + benchmark-ips (2.14.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.8) + binding_of_caller (1.0.1) + debug_inspector (>= 1.2.0) + builder (3.3.0) + climate_control (0.2.0) + coderay (1.1.3) + concurrent-ruby (1.3.4) + crack (1.0.0) + bigdecimal + rexml + debase-ruby_core_source (3.3.1) + debug_inspector (1.2.0) + diff-lcs (1.5.1) + docile (1.4.1) + dogstatsd-ruby (5.6.2) + extlz4 (0.3.4) + ffi (1.16.3) + google-protobuf (3.25.5) + hashdiff (1.1.1) + json (2.7.2) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (12.0.0.1.0-aarch64-linux) + libdatadog (12.0.0.1.0-x86_64-linux) + libddwaf (1.14.0.0.0-aarch64-linux) + ffi (~> 1.0) + libddwaf (1.14.0.0.0-x86_64-linux) + ffi (~> 1.0) + memory_profiler (0.9.14) + method_source (1.1.0) + mini_portile2 (2.8.7) + msgpack (1.7.2) + nokogiri (1.16.7) + mini_portile2 (~> 2.8.2) + racc (~> 1.4) + os (1.1.4) + parallel (1.26.3) + parser (3.3.5.0) + ast (~> 2.4.1) + racc + pimpmychangelog (0.1.3) + pry (0.14.2) + coderay (~> 1.1) + method_source (~> 1.0) + pry-stack_explorer (0.6.1) + binding_of_caller (~> 1.0) + pry (~> 0.13) + public_suffix (6.0.1) + racc (1.8.1) + rack (3.1.7) + rack-contrib (2.5.0) + rack (< 4) + rack-test (2.1.0) + rack (>= 1.3) + rainbow (3.1.1) + rake (13.2.1) + rake-compiler (1.2.7) + rake + regexp_parser (2.9.2) + rexml (3.3.7) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-collection_matchers (1.2.1) + rspec-expectations (>= 2.99.0.beta1) + rspec-core (3.13.1) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.1) + rspec-wait (0.0.10) + rspec (>= 3.0) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rubocop (1.50.2) + json (~> 2.3) + parallel (~> 1.10) + parser (>= 3.2.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.28.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.32.3) + parser (>= 3.3.1.0) + rubocop-capybara (2.21.0) + rubocop (~> 1.41) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-performance (1.22.1) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rspec (2.20.0) + rubocop (~> 1.33) + rubocop-capybara (~> 2.17) + ruby-progressbar (1.13.0) + ruby_memcheck (3.0.0) + nokogiri + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + thor (1.3.2) + unicode-display_width (2.6.0) + warning (1.4.0) + webmock (3.23.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + +PLATFORMS + aarch64-linux + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.0) + benchmark-ips (~> 2.8) + benchmark-memory (< 0.2) + builder + climate_control (~> 0.2.0) + concurrent-ruby + datadog! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + ffi (~> 1.16.3) + google-protobuf (~> 3.0, != 3.7.1, != 3.7.0) + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-stack_explorer + rack + rack-contrib + rack-test + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + rexml (>= 3.2.7) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rubocop (~> 1.50.0) + rubocop-packaging (~> 0.5.2) + rubocop-performance (~> 1.9) + rubocop-rspec (~> 2.20, < 2.21) + ruby_memcheck (>= 3) + simplecov! + simplecov-cobertura (~> 2.1.0) + warning (~> 1) + webmock (>= 3.10.0) + webrick! + +BUNDLED WITH + 2.3.26 diff --git a/lib/datadog/core/configuration/settings.rb b/lib/datadog/core/configuration/settings.rb index 45835ddcdcf..31cddb33bf4 100644 --- a/lib/datadog/core/configuration/settings.rb +++ b/lib/datadog/core/configuration/settings.rb @@ -654,6 +654,33 @@ def initialize(*_) end end + # The monotonic clock time provider used by Datadog. This option is internal and is used by `datadog-ci` + # gem to avoid traces' durations being skewed by timecop. + # + # It must respect the interface of [Datadog::Core::Utils::Time#get_time] method. + # + # For [Timecop](https://rubygems.org/gems/timecop), for example, + # `->(unit = :float_second) { ::Process.clock_gettime_without_mock(::Process::CLOCK_MONOTONIC, unit) }` + # allows Datadog features to use the real monotonic time when time is frozen with + # `Timecop.mock_process_clock = true`. + # + # @default `->(unit = :float_second) { ::Process.clock_gettime(::Process::CLOCK_MONOTONIC, unit)}` + # @return [Proc] + option :get_time_provider do |o| + o.default_proc { |unit = :float_second| ::Process.clock_gettime(::Process::CLOCK_MONOTONIC, unit) } + o.type :proc + + o.after_set do |get_time_provider| + Core::Utils::Time.get_time_provider = get_time_provider + end + + o.resetter do |_value| + ->(unit = :float_second) { ::Process.clock_gettime(::Process::CLOCK_MONOTONIC, unit) }.tap do |default| + Core::Utils::Time.get_time_provider = default + end + end + end + # The `version` tag in Datadog. Use it to enable [Deployment Tracking](https://docs.datadoghq.com/tracing/deployment_tracking/). # @see https://docs.datadoghq.com/getting_started/tagging/unified_service_tagging # @default `DD_VERSION` environment variable, otherwise `nils` diff --git a/lib/datadog/core/utils/time.rb b/lib/datadog/core/utils/time.rb index 20b1c473914..79367097e05 100644 --- a/lib/datadog/core/utils/time.rb +++ b/lib/datadog/core/utils/time.rb @@ -34,6 +34,18 @@ def now_provider=(block) define_singleton_method(:now, &block) end + # Overrides the implementation of `#get_time + # with the provided callable. + # + # Overriding the method `#get_time` instead of + # indirectly calling `block` removes + # one level of method call overhead. + # + # @param block [Proc] block that accepts unit and returns timestamp in the requested unit + def get_time_provider=(block) + define_singleton_method(:get_time, &block) + end + def measure(unit = :float_second) before = get_time(unit) yield diff --git a/lib/datadog/tracing/contrib/active_record/events/instantiation.rb b/lib/datadog/tracing/contrib/active_record/events/instantiation.rb index 0d0cf07b6cc..fb0d4465f53 100644 --- a/lib/datadog/tracing/contrib/active_record/events/instantiation.rb +++ b/lib/datadog/tracing/contrib/active_record/events/instantiation.rb @@ -4,6 +4,7 @@ require_relative '../../analytics' require_relative '../ext' require_relative '../event' +require_relative '../../../../core/telemetry/logger' module Datadog module Tracing @@ -48,7 +49,8 @@ def on_start(span, event, _id, payload) span.set_tag(Ext::TAG_INSTANTIATION_CLASS_NAME, payload.fetch(:class_name)) span.set_tag(Ext::TAG_INSTANTIATION_RECORD_COUNT, payload.fetch(:record_count)) rescue StandardError => e - Datadog.logger.debug(e.message) + Datadog.logger.error(e.message) + Datadog::Core::Telemetry::Logger.report(e) end end end diff --git a/lib/datadog/tracing/contrib/active_record/events/sql.rb b/lib/datadog/tracing/contrib/active_record/events/sql.rb index 1e1c1a87382..8640ac43aa9 100644 --- a/lib/datadog/tracing/contrib/active_record/events/sql.rb +++ b/lib/datadog/tracing/contrib/active_record/events/sql.rb @@ -6,6 +6,7 @@ require_relative '../ext' require_relative '../../analytics' require_relative '../../utils/database' +require_relative '../../../../core/telemetry/logger' module Datadog module Tracing @@ -68,7 +69,8 @@ def on_start(span, event, _id, payload) span.set_tag(Tracing::Metadata::Ext::NET::TAG_TARGET_HOST, config[:host]) if config[:host] span.set_tag(Tracing::Metadata::Ext::NET::TAG_TARGET_PORT, config[:port]) if config[:port] rescue StandardError => e - Datadog.logger.debug(e.message) + Datadog.logger.error(e.message) + Datadog::Core::Telemetry::Logger.report(e) end end end diff --git a/lib/datadog/tracing/contrib/active_support/cache/events/cache.rb b/lib/datadog/tracing/contrib/active_support/cache/events/cache.rb index 2abec4c1d26..0b8820c8fec 100644 --- a/lib/datadog/tracing/contrib/active_support/cache/events/cache.rb +++ b/lib/datadog/tracing/contrib/active_support/cache/events/cache.rb @@ -2,6 +2,7 @@ require_relative '../../ext' require_relative '../event' +require_relative '../../../../../core/telemetry/logger' module Datadog module Tracing @@ -64,7 +65,7 @@ def on_start(span, event, _id, payload) key = payload[:key] store = payload[:store] - mapping = MAPPING[event] + mapping = MAPPING.fetch(event) span.service = configuration[:cache_service] span.resource = mapping[:resource] @@ -81,6 +82,9 @@ def on_start(span, event, _id, payload) span.set_tag('EVENT', event) set_cache_key(span, key, mapping[:multi_key]) + rescue StandardError => e + Datadog.logger.error(e.message) + Datadog::Core::Telemetry::Logger.report(e) end def set_cache_key(span, key, multi_key) diff --git a/lib/datadog/tracing/contrib/aws/instrumentation.rb b/lib/datadog/tracing/contrib/aws/instrumentation.rb index 7194ef9ae01..a19ea684877 100644 --- a/lib/datadog/tracing/contrib/aws/instrumentation.rb +++ b/lib/datadog/tracing/contrib/aws/instrumentation.rb @@ -29,6 +29,7 @@ def call(context) private # rubocop:disable Metrics/AbcSize + # rubocop:disable Metrics/MethodLength def annotate!(span, context) span.service = configuration[:service_name] span.type = Tracing::Metadata::Ext::HTTP::TYPE_OUTBOUND @@ -76,7 +77,11 @@ def annotate!(span, context) span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_STATUS_CODE, context.safely(:status_code)) Contrib::SpanAttributeSchema.set_peer_service!(span, Ext::PEER_SERVICE_SOURCES) + rescue StandardError => e + Datadog.logger.error(e.message) + Datadog::Core::Telemetry::Logger.report(e) end + # rubocop:enable Metrics/MethodLength # rubocop:enable Metrics/AbcSize def configuration diff --git a/lib/datadog/tracing/contrib/faraday/middleware.rb b/lib/datadog/tracing/contrib/faraday/middleware.rb index 1134fb9379a..9bdea9c364b 100644 --- a/lib/datadog/tracing/contrib/faraday/middleware.rb +++ b/lib/datadog/tracing/contrib/faraday/middleware.rb @@ -7,6 +7,7 @@ require_relative '../analytics' require_relative 'ext' require_relative '../http_annotation_helper' +require_relative '../../../core/telemetry/logger' module Datadog module Tracing @@ -37,6 +38,7 @@ def call(env) attr_reader :app + # rubocop:disable Metrics/AbcSize def annotate!(span, env, options) span.resource = resource_name(env) span.service = service_name(env[:url].host, options) @@ -75,7 +77,11 @@ def annotate!(span, env, options) ) Contrib::SpanAttributeSchema.set_peer_service!(span, Ext::PEER_SERVICE_SOURCES) + rescue StandardError => e + Datadog.logger.error(e.message) + Datadog::Core::Telemetry::Logger.report(e) end + # rubocop:enable Metrics/AbcSize def handle_response(span, env, options) span.set_error(["Error #{env[:status]}", env[:body]]) if options[:error_status_codes].include? env[:status] @@ -85,6 +91,9 @@ def handle_response(span, env, options) span.set_tags( Datadog.configuration.tracing.header_tags.response_tags(env[:response_headers]) ) + rescue StandardError => e + Datadog.logger.error(e.message) + Datadog::Core::Telemetry::Logger.report(e) end def propagate!(trace, span, env) diff --git a/lib/datadog/tracing/contrib/httpclient/instrumentation.rb b/lib/datadog/tracing/contrib/httpclient/instrumentation.rb index 5a600970870..5cbc784bf59 100644 --- a/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +++ b/lib/datadog/tracing/contrib/httpclient/instrumentation.rb @@ -102,6 +102,9 @@ def annotate_span_with_response!(span, response, request_options) span.set_tags( Datadog.configuration.tracing.header_tags.response_tags(response.header) ) + rescue StandardError => e + Datadog.logger.error("error preparing span from httpclient response: #{e}, Source: #{e.backtrace}") + Datadog::Core::Telemetry::Logger.report(e) end def annotate_span_with_error!(span, error) diff --git a/lib/datadog/tracing/contrib/httprb/instrumentation.rb b/lib/datadog/tracing/contrib/httprb/instrumentation.rb index b935d3bd14b..c39916ebb4a 100644 --- a/lib/datadog/tracing/contrib/httprb/instrumentation.rb +++ b/lib/datadog/tracing/contrib/httprb/instrumentation.rb @@ -110,6 +110,9 @@ def annotate_span_with_response!(span, response, request_options) span.set_tags( Datadog.configuration.tracing.header_tags.response_tags(response.headers) ) + rescue StandardError => e + logger.error("error preparing span from http.rb response: #{e}, Source: #{e.backtrace}") + Datadog::Core::Telemetry::Logger.report(e) end def annotate_span_with_error!(span, error) diff --git a/lib/datadog/tracing/contrib/mongodb/subscribers.rb b/lib/datadog/tracing/contrib/mongodb/subscribers.rb index 06e67add3ef..fe34da1ad9e 100644 --- a/lib/datadog/tracing/contrib/mongodb/subscribers.rb +++ b/lib/datadog/tracing/contrib/mongodb/subscribers.rb @@ -70,6 +70,8 @@ def started(event) # set the resource with the quantized query span.resource = serialized_query + rescue StandardError => e + Datadog.logger.debug("error when handling MongoDB 'started' event: #{e}") end # rubocop:enable Metrics/AbcSize diff --git a/lib/datadog/tracing/contrib/redis/tags.rb b/lib/datadog/tracing/contrib/redis/tags.rb index 6e8feb49029..98de54f41a9 100644 --- a/lib/datadog/tracing/contrib/redis/tags.rb +++ b/lib/datadog/tracing/contrib/redis/tags.rb @@ -4,6 +4,7 @@ require_relative '../analytics' require_relative 'ext' require_relative '../ext' +require_relative '../../../core/telemetry/logger' module Datadog module Tracing @@ -45,6 +46,9 @@ def set_common_tags(client, span, raw_command) span.set_tag Ext::TAG_RAW_COMMAND, raw_command Contrib::SpanAttributeSchema.set_peer_service!(span, Ext::PEER_SERVICE_SOURCES) + rescue StandardError => e + Datadog.logger.error(e.message) + Datadog::Core::Telemetry::Logger.report(e) end private diff --git a/sig/datadog/core/utils/time.rbs b/sig/datadog/core/utils/time.rbs index 74aeb383b29..39a01face69 100644 --- a/sig/datadog/core/utils/time.rbs +++ b/sig/datadog/core/utils/time.rbs @@ -5,6 +5,7 @@ module Datadog def self?.get_time: (?::Symbol unit) -> ::Numeric def self?.now: () -> ::Time def self?.now_provider=: (^() -> ::Time block) -> void + def self?.get_time_provider=: (^(?::Symbol unit) -> ::Numeric block) -> void def self?.measure: (?::Symbol unit) { () -> void } -> ::Numeric def self?.as_utc_epoch_ns: (::Time time) -> ::Integer end diff --git a/spec/datadog/core/configuration/settings_spec.rb b/spec/datadog/core/configuration/settings_spec.rb index a9c12188b95..8703f477afc 100644 --- a/spec/datadog/core/configuration/settings_spec.rb +++ b/spec/datadog/core/configuration/settings_spec.rb @@ -1392,6 +1392,73 @@ end end + describe '#get_time_provider=' do + subject(:set_get_time_provider) { settings.get_time_provider = get_time_provider } + + after { settings.reset! } + + let(:get_time) { 1 } + + let(:get_time_new_milliseconds) { 42 } + let(:get_time_new_seconds) { 0.042 } + + let(:unit) { :float_second } + let(:get_time_provider) do + new_milliseconds = get_time_new_milliseconds # Capture for closure + new_seconds = get_time_new_seconds # Capture for closure + + ->(unit) { unit == :float_millisecond ? new_milliseconds : new_seconds } + end + + context 'when default' do + before { allow(Process).to receive(:clock_gettime).with(Process::CLOCK_MONOTONIC, unit).and_return(1) } + + it 'delegates to Process.clock_gettime' do + expect(settings.get_time_provider.call(unit)).to eq(get_time) + expect(Datadog::Core::Utils::Time.get_time(unit)).to eq(get_time) + end + end + + context 'when given a value' do + before { set_get_time_provider } + + context 'when unit is :float_second' do + it 'returns the provided time in float seconds' do + expect(settings.get_time_provider.call(unit)).to eq(get_time_new_seconds) + expect(Datadog::Core::Utils::Time.get_time(unit)).to eq(get_time_new_seconds) + end + end + + context 'when unit is :float_millisecond' do + let(:unit) { :float_millisecond } + + it 'returns the provided time in float milliseconds' do + expect(settings.get_time_provider.call(unit)).to eq(get_time_new_milliseconds) + expect(Datadog::Core::Utils::Time.get_time(unit)).to eq(get_time_new_milliseconds) + end + end + end + + context 'then reset' do + let(:original_get_time) { 1 } + + before do + set_get_time_provider + allow(Process).to receive(:clock_gettime).with(Process::CLOCK_MONOTONIC, unit).and_return(original_get_time) + end + + it 'returns the provided time' do + expect(settings.get_time_provider.call(unit)).to eq(get_time_new_seconds) + expect(Datadog::Core::Utils::Time.get_time(unit)).to eq(get_time_new_seconds) + + settings.reset! + + expect(settings.get_time_provider.call(unit)).to eq(original_get_time) + expect(Datadog::Core::Utils::Time.get_time(unit)).to eq(original_get_time) + end + end + end + # Important note: These settings are used as inputs of the AgentSettingsResolver and are used by all components # that consume its result (e.g. tracing, profiling, and telemetry, as of January 2023). describe '#agent' do diff --git a/spec/datadog/di/probe_builder_spec.rb b/spec/datadog/di/probe_builder_spec.rb index 0a8e7609bd3..f81c0f34ff3 100644 --- a/spec/datadog/di/probe_builder_spec.rb +++ b/spec/datadog/di/probe_builder_spec.rb @@ -1,6 +1,9 @@ +require "datadog/di/spec_helper" require "datadog/di/probe_builder" RSpec.describe Datadog::DI::ProbeBuilder do + di_test + describe ".build_from_remote_config" do let(:probe) do described_class.build_from_remote_config(rc_probe_spec) diff --git a/spec/datadog/di/probe_spec.rb b/spec/datadog/di/probe_spec.rb index e37832ac46e..e0c78aa0723 100644 --- a/spec/datadog/di/probe_spec.rb +++ b/spec/datadog/di/probe_spec.rb @@ -1,6 +1,9 @@ +require "datadog/di/spec_helper" require "datadog/di/probe" RSpec.describe Datadog::DI::Probe do + di_test + shared_context "method probe" do let(:probe) do described_class.new(id: "42", type: "foo", type_name: "Foo", method_name: "bar") diff --git a/spec/datadog/tracing/contrib/active_record/events/instantiation_spec.rb b/spec/datadog/tracing/contrib/active_record/events/instantiation_spec.rb new file mode 100644 index 00000000000..c0a08a0ec39 --- /dev/null +++ b/spec/datadog/tracing/contrib/active_record/events/instantiation_spec.rb @@ -0,0 +1,32 @@ +require 'spec_helper' +require 'datadog/tracing/contrib/active_record/events/instantiation' +require 'datadog/tracing/span_operation' + +RSpec.describe Datadog::Tracing::Contrib::ActiveRecord::Events::Instantiation do + describe '.event_name' do + it 'returns the correct event name' do + expect(described_class.event_name).to eq('instantiation.active_record') + end + end + + describe '.span_name' do + it 'returns the correct span name' do + expect(described_class.span_name).to eq('active_record.instantiation') + end + end + + describe '.on_start' do + context 'when an error occurs' do + let(:span) { Datadog::Tracing::SpanOperation.new('fake') } + + it 'logs the error' do + expect(Datadog.logger).to receive(:error).with(/key not found/) + expect(Datadog::Core::Telemetry::Logger).to receive(:report).with(a_kind_of(StandardError)) + + expect do + described_class.on_start(span, double, double, {}) + end.not_to raise_error + end + end + end +end diff --git a/spec/datadog/tracing/contrib/active_record/events/sql_spec.rb b/spec/datadog/tracing/contrib/active_record/events/sql_spec.rb new file mode 100644 index 00000000000..7bacaac6d25 --- /dev/null +++ b/spec/datadog/tracing/contrib/active_record/events/sql_spec.rb @@ -0,0 +1,34 @@ +require 'spec_helper' +require 'datadog/tracing/contrib/active_record/events/sql' +require 'datadog/tracing/span_operation' + +require 'active_record' + +RSpec.describe Datadog::Tracing::Contrib::ActiveRecord::Events::SQL do + describe '.event_name' do + it 'returns the correct event name' do + expect(described_class.event_name).to eq('sql.active_record') + end + end + + describe '.span_name' do + it 'returns the correct span name' do + expect(described_class.span_name).to eq('active_record.sql') + end + end + + describe '.on_start' do + context 'when an error occurs' do + let(:span) { Datadog::Tracing::SpanOperation.new('fake') } + + it 'logs the error' do + expect(Datadog.logger).to receive(:error).with(/key not found/) + expect(Datadog::Core::Telemetry::Logger).to receive(:report).with(a_kind_of(StandardError)) + + expect do + described_class.on_start(span, double, double, {}) + end.not_to raise_error + end + end + end +end diff --git a/spec/datadog/tracing/contrib/active_record/performance_spec.rb b/spec/datadog/tracing/contrib/active_record/performance_spec.rb deleted file mode 100644 index efdffe43937..00000000000 --- a/spec/datadog/tracing/contrib/active_record/performance_spec.rb +++ /dev/null @@ -1,59 +0,0 @@ -require 'datadog/tracing/contrib/support/spec_helper' -require 'datadog' - -require 'active_record' - -if PlatformHelpers.jruby? - require 'activerecord-jdbc-adapter' -else - require 'sqlite3' -end - -RSpec.describe 'ActiveRecord tracing performance' do - let(:options) { {} } - - before do - skip('Performance test does not run in CI.') - - # Configure the tracer - Datadog.configure do |c| - c.tracing.instrument :active_record, options - end - end - - after { Datadog.registry[:active_record].reset_configuration! } - - describe 'for an in-memory database' do - let!(:connection) do - ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:') - end - - describe 'when queried with a simple select' do - subject(:measurement) { measure(iterations) } - - let(:iterations) { 100_000 } - - def measure(iterations = 1) - Benchmark.measure do - iterations.times do - connection.connection.execute('SELECT 42') - end - end - end - - before do - # Perform a measurement to warm up - measure(10) - - # Discard warm-up spans - clear_traces! - end - - it 'produces a measurement' do - expect { measurement }.to_not raise_error - expect(spans).to have(iterations).items - puts "\nRun time for #{iterations} iterations: #{measurement.utime}\n" - end - end - end -end diff --git a/spec/datadog/tracing/contrib/active_support/cache/events/cache_spec.rb b/spec/datadog/tracing/contrib/active_support/cache/events/cache_spec.rb new file mode 100644 index 00000000000..f0df41028b5 --- /dev/null +++ b/spec/datadog/tracing/contrib/active_support/cache/events/cache_spec.rb @@ -0,0 +1,20 @@ +require 'spec_helper' +require 'datadog/tracing/contrib/active_support/cache/events/cache' +require 'datadog/tracing/span_operation' + +RSpec.describe Datadog::Tracing::Contrib::ActiveSupport::Cache::Events::Cache do + describe '.on_start' do + context 'when an error occurs' do + let(:span) { Datadog::Tracing::SpanOperation.new('fake') } + + it 'logs the error' do + expect(Datadog.logger).to receive(:error).with(/key not found/) + expect(Datadog::Core::Telemetry::Logger).to receive(:report).with(a_kind_of(StandardError)) + + expect do + described_class.on_start(span, double, double, {}) + end.not_to raise_error + end + end + end +end diff --git a/spec/datadog/tracing/contrib/redis/tags_spec.rb b/spec/datadog/tracing/contrib/redis/tags_spec.rb new file mode 100644 index 00000000000..895ab09361a --- /dev/null +++ b/spec/datadog/tracing/contrib/redis/tags_spec.rb @@ -0,0 +1,24 @@ +require 'spec_helper' +require 'datadog/tracing/contrib/redis/tags' + +require 'datadog/tracing/span_operation' + +RSpec.describe Datadog::Tracing::Contrib::Redis::Tags do + let(:client) { double('client') } + let(:span) { Datadog::Tracing::SpanOperation.new('fake') } + let(:raw_command) { 'SET key value' } + + describe '.set_common_tags' do + context 'when an error occurs' do + it 'logs the error' do + allow(client).to receive(:host).and_raise(StandardError.new('Oops...')) + expect(Datadog.logger).to receive(:error).with('Oops...') + expect(Datadog::Core::Telemetry::Logger).to receive(:report).with(a_kind_of(StandardError)) + + expect do + described_class.set_common_tags(client, span, raw_command) + end.not_to raise_error + end + end + end +end diff --git a/spec/datadog/tracing/span_operation_spec.rb b/spec/datadog/tracing/span_operation_spec.rb index 6b10bebeb22..5eef0d6a69c 100644 --- a/spec/datadog/tracing/span_operation_spec.rb +++ b/spec/datadog/tracing/span_operation_spec.rb @@ -872,6 +872,27 @@ expect(span_op.end_time - span_op.start_time).to eq 0 end end + + context 'with get_time_provider set' do + let(:clock_increment) { 0.42 } + before do + incr = clock_increment + clock_time = clock_increment + Datadog.configure do |c| + # Use a custom clock provider that increments by `clock_increment` + c.get_time_provider = ->(_unit = :float_second) { clock_time += incr } + end + end + + after { without_warnings { Datadog.configuration.reset! } } + + it 'sets the duration to the provider increment' do + span_op.start + span_op.stop + + expect(span_op.duration).to be_within(0.01).of(clock_increment) + end + end end context 'with start_time provided' do diff --git a/spec/datadog/tracing/transport/http/benchmark_spec.rb b/spec/datadog/tracing/transport/http/benchmark_spec.rb deleted file mode 100644 index ef1258ef7f3..00000000000 --- a/spec/datadog/tracing/transport/http/benchmark_spec.rb +++ /dev/null @@ -1,50 +0,0 @@ -require 'spec_helper' - -require 'benchmark' -require 'datadog' -require 'datadog/tracing/transport/http' - -RSpec.describe 'Transport::HTTP benchmarks' do - let(:iterations) { 100 } - - before { skip('Performance test does not run in CI.') } - - describe '#send' do - let!(:default_transport) { Datadog::Tracing::Transport::HTTP.default } - let!(:net_transport) { Datadog::Tracing::Transport::HTTP.default { |t| t.adapter :net_http } } - let!(:unix_transport) { Datadog::Tracing::Transport::HTTP.default { |t| t.adapter :unix } } - let!(:test_transport) { Datadog::Tracing::Transport::HTTP.default { |t| t.adapter :test } } - - let!(:traces) { get_test_traces(2) } - - it do - Benchmark.bm do |x| - x.report('Default Datadog::Tracing::Transport::HTTP') do - iterations.times do - default_transport.send_traces(traces) - end - end - - x.report('Datadog::Tracing::Transport::HTTP with Net::HTTP adapter') do - iterations.times do - net_transport.send_traces(traces) - end - end - - # TODO: Enable me when Unix socket support for Datadog agent is released in 6.13. - # Then update the agent configuration for the test suite to enable Unix sockets. - # x.report('Datadog::Tracing::Transport::HTTP with Unix socket adapter') do - # iterations.times do - # unix_transport.send_traces(traces) - # end - # end - - x.report('Datadog::Tracing::Transport::HTTP with test adapter') do - iterations.times do - test_transport.send_traces(traces) - end - end - end - end - end -end diff --git a/tasks/edge.rake b/tasks/edge.rake index 5ee9766ccff..881b9d8d071 100644 --- a/tasks/edge.rake +++ b/tasks/edge.rake @@ -11,6 +11,7 @@ namespace :edge do 'stripe' => 'stripe', 'elasticsearch' => 'elasticsearch', 'opensearch' => 'opensearch-ruby', + 'rack' => 'rack', # Add more integrations here, when they are extracted to its own isolated group } @@ -45,6 +46,7 @@ namespace :edge do 'stripe' => 'stripe', 'elasticsearch' => 'elasticsearch', 'opensearch' => 'opensearch-ruby', + 'rack' => 'rack', # Add more integrations here, when hey are extracted to its own isolated group }