diff --git a/Rakefile b/Rakefile index 3a5876fceaa..a29cb33859e 100644 --- a/Rakefile +++ b/Rakefile @@ -261,6 +261,9 @@ TEST_METADATA = { 'redis-4' => '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ✅ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ jruby', 'redis-5' => '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ jruby' }, + 'routetest' => { + 'multi-rack-app' => '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ jruby' + }, 'appsec:rack' => { # Non-deprecated form of Regexp.new does not backport to Rack 1.x, see: https://github.com/rack/rack/pull/1998 'rack-1' => '✅ 2.1 / ✅ 2.2 / ✅ 2.3 / ✅ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ❌ 3.3 / ✅ jruby', @@ -343,7 +346,7 @@ namespace :spec do task all: [:main, :benchmark, :rails, :railsredis, :railsredis_activesupport, :railsactivejob, :elasticsearch, :http, :redis, :sidekiq, :sinatra, :hanami, :hanami_autoinstrument, - :profiling] + :profiling, :routetest] desc '' # "Explicitly hiding from `rake -T`" RSpec::Core::RakeTask.new(:main) do |t, args| @@ -378,6 +381,12 @@ namespace :spec do t.rspec_opts = args.to_a.join(' ') end + desc '' # "Explicitly hiding from `rake -T`" + RSpec::Core::RakeTask.new(:routetest) do |t, args| + t.pattern = 'spec/datadog/tracing/contrib/http_route_spec.rb' + t.rspec_opts = args.to_a.join(' ') + end + desc '' # "Explicitly hiding from `rake -T`" RSpec::Core::RakeTask.new(:railsredis) do |t, args| t.pattern = 'spec/datadog/tracing/contrib/rails/**/*redis*_spec.rb' diff --git a/appraisal/jruby-9.2.rb b/appraisal/jruby-9.2.rb index 60d0c1ebab6..499f2d27dc3 100644 --- a/appraisal/jruby-9.2.rb +++ b/appraisal/jruby-9.2.rb @@ -289,3 +289,11 @@ appraise 'core-old' do gem 'dogstatsd-ruby', '~> 4' end + +appraise 'multi-rack-app' do + gem 'sinatra' + gem 'rack-contrib' + gem 'rack-test' # Dev dependencies for testing rack-based code + gem 'grape' + gem 'rails', '~> 5.2.1' +end diff --git a/appraisal/jruby-9.3.rb b/appraisal/jruby-9.3.rb index bdc4da0c834..909f16428ee 100644 --- a/appraisal/jruby-9.3.rb +++ b/appraisal/jruby-9.3.rb @@ -260,3 +260,11 @@ appraise 'core-old' do gem 'dogstatsd-ruby', '~> 4' end + +appraise 'multi-rack-app' do + gem 'sinatra', '>= 3' + gem 'rack-contrib' + gem 'rack-test' # Dev dependencies for testing rack-based code + gem 'grape' + gem 'rails', '~> 5.2.1' +end diff --git a/appraisal/jruby-9.4.rb b/appraisal/jruby-9.4.rb index 3e27e129855..2be3709b7c0 100644 --- a/appraisal/jruby-9.4.rb +++ b/appraisal/jruby-9.4.rb @@ -166,3 +166,11 @@ appraise 'core-old' do gem 'dogstatsd-ruby', '~> 4' end + +appraise 'multi-rack-app' do + gem 'sinatra', '>= 3' + gem 'rack-contrib' + gem 'rack-test' # Dev dependencies for testing rack-based code + gem 'grape' + gem 'rails', '~> 6.1.0' +end diff --git a/appraisal/ruby-2.5.rb b/appraisal/ruby-2.5.rb index fe6724405ec..fcacbeb9246 100644 --- a/appraisal/ruby-2.5.rb +++ b/appraisal/ruby-2.5.rb @@ -262,3 +262,11 @@ appraise 'core-old' do gem 'dogstatsd-ruby', '~> 4' end + +appraise 'multi-rack-app' do + gem 'sinatra' + gem 'rack-contrib' + gem 'rack-test' # Dev dependencies for testing rack-based code + gem 'grape' + gem 'rails', '~> 5.2.1' +end diff --git a/appraisal/ruby-2.6.rb b/appraisal/ruby-2.6.rb index 48acdee7559..3e20513b688 100644 --- a/appraisal/ruby-2.6.rb +++ b/appraisal/ruby-2.6.rb @@ -263,3 +263,11 @@ appraise 'core-old' do gem 'dogstatsd-ruby', '~> 4' end + +appraise 'multi-rack-app' do + gem 'sinatra', '>= 3' + gem 'rack-contrib' + gem 'rack-test' # Dev dependencies for testing rack-based code + gem 'grape' + gem 'rails', '~> 5.2.1' +end diff --git a/appraisal/ruby-2.7.rb b/appraisal/ruby-2.7.rb index b6304732c24..4660606429e 100644 --- a/appraisal/ruby-2.7.rb +++ b/appraisal/ruby-2.7.rb @@ -264,3 +264,11 @@ appraise 'core-old' do gem 'dogstatsd-ruby', '~> 4' end + +appraise 'multi-rack-app' do + gem 'sinatra', '>= 3' + gem 'rack-contrib' + gem 'rack-test' # Dev dependencies for testing rack-based code + gem 'grape' + gem 'rails', '~> 5.2.1' +end diff --git a/appraisal/ruby-3.0.rb b/appraisal/ruby-3.0.rb index 942a1a023d4..40e99c0dcea 100644 --- a/appraisal/ruby-3.0.rb +++ b/appraisal/ruby-3.0.rb @@ -177,3 +177,11 @@ appraise 'core-old' do gem 'dogstatsd-ruby', '~> 4' end + +appraise 'multi-rack-app' do + gem 'sinatra', '>= 3' + gem 'rack-contrib' + gem 'rack-test' # Dev dependencies for testing rack-based code + gem 'grape' + gem 'rails', '~> 6.1.0' +end diff --git a/appraisal/ruby-3.1.rb b/appraisal/ruby-3.1.rb index 942a1a023d4..40e99c0dcea 100644 --- a/appraisal/ruby-3.1.rb +++ b/appraisal/ruby-3.1.rb @@ -177,3 +177,11 @@ appraise 'core-old' do gem 'dogstatsd-ruby', '~> 4' end + +appraise 'multi-rack-app' do + gem 'sinatra', '>= 3' + gem 'rack-contrib' + gem 'rack-test' # Dev dependencies for testing rack-based code + gem 'grape' + gem 'rails', '~> 6.1.0' +end diff --git a/appraisal/ruby-3.2.rb b/appraisal/ruby-3.2.rb index 942a1a023d4..40e99c0dcea 100644 --- a/appraisal/ruby-3.2.rb +++ b/appraisal/ruby-3.2.rb @@ -177,3 +177,11 @@ appraise 'core-old' do gem 'dogstatsd-ruby', '~> 4' end + +appraise 'multi-rack-app' do + gem 'sinatra', '>= 3' + gem 'rack-contrib' + gem 'rack-test' # Dev dependencies for testing rack-based code + gem 'grape' + gem 'rails', '~> 6.1.0' +end diff --git a/appraisal/ruby-3.3.rb b/appraisal/ruby-3.3.rb index c9770bd40cf..ec95feba101 100644 --- a/appraisal/ruby-3.3.rb +++ b/appraisal/ruby-3.3.rb @@ -179,3 +179,11 @@ appraise 'core-old' do gem 'dogstatsd-ruby', '~> 4' end + +appraise 'multi-rack-app' do + gem 'sinatra', '>= 3' + gem 'rack-contrib' + gem 'rack-test' # Dev dependencies for testing rack-based code + gem 'grape' + gem 'rails', '~> 6.1.0' +end diff --git a/gemfiles/jruby_9.2_multi_rack_app.gemfile b/gemfiles/jruby_9.2_multi_rack_app.gemfile new file mode 100644 index 00000000000..c6ad9c076fb --- /dev/null +++ b/gemfiles/jruby_9.2_multi_rack_app.gemfile @@ -0,0 +1,40 @@ +# 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 "rspec_n", "~> 1.3" +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 "yard", "~> 0.9" +gem "dogstatsd-ruby", ">= 3.3.0", "!= 5.0.0", "!= 5.0.1", "!= 5.1.0" +gem "sinatra" +gem "rack-contrib" +gem "rack-test" +gem "grape" +gem "rails", "~> 5.2.1" + +group :check do + +end + +gemspec path: "../" diff --git a/gemfiles/jruby_9.2_multi_rack_app.gemfile.lock b/gemfiles/jruby_9.2_multi_rack_app.gemfile.lock new file mode 100644 index 00000000000..9f3cf167164 --- /dev/null +++ b/gemfiles/jruby_9.2_multi_rack_app.gemfile.lock @@ -0,0 +1,311 @@ +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: + ddtrace (1.20.0) + datadog-ci (~> 0.7.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 5.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + actioncable (5.2.8.1) + actionpack (= 5.2.8.1) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailer (5.2.8.1) + actionpack (= 5.2.8.1) + actionview (= 5.2.8.1) + activejob (= 5.2.8.1) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (5.2.8.1) + actionview (= 5.2.8.1) + activesupport (= 5.2.8.1) + rack (~> 2.0, >= 2.0.8) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (5.2.8.1) + activesupport (= 5.2.8.1) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activejob (5.2.8.1) + activesupport (= 5.2.8.1) + globalid (>= 0.3.6) + activemodel (5.2.8.1) + activesupport (= 5.2.8.1) + activerecord (5.2.8.1) + activemodel (= 5.2.8.1) + activesupport (= 5.2.8.1) + arel (>= 9.0) + activestorage (5.2.8.1) + actionpack (= 5.2.8.1) + activerecord (= 5.2.8.1) + marcel (~> 1.0.0) + activesupport (5.2.8.1) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + arel (9.0.0) + benchmark-ips (2.13.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.6-java) + builder (3.2.4) + climate_control (0.2.0) + coderay (1.1.3) + colorize (0.8.1) + concurrent-ruby (1.2.3) + crack (0.4.6) + bigdecimal + rexml + crass (1.0.6) + cri (2.15.11) + datadog-ci (0.7.0) + msgpack + debase-ruby_core_source (3.3.1) + diff-lcs (1.5.1) + digest (3.1.1-java) + docile (1.4.0) + dogstatsd-ruby (5.6.1) + dry-configurable (0.12.1) + concurrent-ruby (~> 1.0) + dry-core (~> 0.5, >= 0.5.0) + dry-container (0.7.2) + concurrent-ruby (~> 1.0) + dry-configurable (~> 0.1, >= 0.1.3) + dry-core (0.6.0) + concurrent-ruby (~> 1.0) + dry-inflector (0.2.0) + dry-logic (1.2.0) + concurrent-ruby (~> 1.0) + dry-core (~> 0.5, >= 0.5) + dry-types (1.5.1) + concurrent-ruby (~> 1.0) + dry-container (~> 0.3) + dry-core (~> 0.5, >= 0.5) + dry-inflector (~> 0.1, >= 0.1.2) + dry-logic (~> 1.0, >= 1.0.2) + erubi (1.12.0) + ffi (1.16.3-java) + globalid (1.1.0) + activesupport (>= 5.0) + grape (1.7.0) + activesupport + builder + dry-types (>= 1.1) + mustermann-grape (~> 1.0.0) + rack (>= 1.3.0) + rack-accept + hashdiff (1.1.0) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + io-wait (0.3.1-java) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (5.0.0.1.0) + libddwaf (1.14.0.0.0-java) + ffi (~> 1.0) + loofah (2.22.0) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.8.1) + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.0.2) + memory_profiler (0.9.14) + method_source (1.0.0) + mini_mime (1.1.2) + minitest (5.15.0) + msgpack (1.7.2-java) + mustermann (2.0.2) + ruby2_keywords (~> 0.0.1) + mustermann-grape (1.0.2) + mustermann (>= 1.0.0) + net-imap (0.2.2) + digest + net-protocol + strscan + net-pop (0.1.2) + net-protocol + net-protocol (0.1.2) + io-wait + timeout + net-smtp (0.3.0) + digest + net-protocol + timeout + nio4r (2.7.0-java) + nokogiri (1.12.5-java) + racc (~> 1.4) + 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) + racc (1.7.3-java) + rack (2.2.8) + rack-accept (0.4.5) + rack (>= 0.4) + rack-contrib (2.4.0) + rack (< 4) + rack-protection (2.2.4) + rack + rack-test (2.1.0) + rack (>= 1.3) + rails (5.2.8.1) + actioncable (= 5.2.8.1) + actionmailer (= 5.2.8.1) + actionpack (= 5.2.8.1) + actionview (= 5.2.8.1) + activejob (= 5.2.8.1) + activemodel (= 5.2.8.1) + activerecord (= 5.2.8.1) + activestorage (= 5.2.8.1) + activesupport (= 5.2.8.1) + bundler (>= 1.3.0) + railties (= 5.2.8.1) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.5.0) + loofah (~> 2.19, >= 2.19.1) + railties (5.2.8.1) + actionpack (= 5.2.8.1) + activesupport (= 5.2.8.1) + method_source + rake (>= 0.8.7) + thor (>= 0.19.0, < 2.0) + rake (13.1.0) + rake-compiler (1.2.7) + rake + rexml (3.2.6) + 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.0) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.0) + rspec-wait (0.0.9) + rspec (>= 3, < 4) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rspec_n (1.3.0) + colorize (~> 0.8.0) + cri (~> 2.15.3) + ruby-debug-base (0.11.0-java) + ruby2_keywords (0.0.5) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.4) + sinatra (2.2.4) + mustermann (~> 2.0) + rack (~> 2.2) + rack-protection (= 2.2.4) + tilt (~> 2.0) + spoon (0.0.6) + ffi + sprockets (4.2.1) + concurrent-ruby (~> 1.0) + rack (>= 2.2.4, < 4) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + sprockets (>= 3.0.0) + strscan (3.1.0-java) + thor (1.2.2) + thread_safe (0.3.6-java) + tilt (2.3.0) + timeout (0.4.0) + tzinfo (1.2.11) + thread_safe (~> 0.1) + warning (1.3.0) + webmock (3.19.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + websocket-driver (0.7.6-java) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + yard (0.9.34) + +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 + ddtrace! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + grape + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-debugger-jruby + rack-contrib + rack-test + rails (~> 5.2.1) + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rspec_n (~> 1.3) + simplecov! + simplecov-cobertura (~> 2.1.0) + sinatra + warning (~> 1) + webmock (>= 3.10.0) + yard (~> 0.9) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/jruby_9.3_multi_rack_app.gemfile b/gemfiles/jruby_9.3_multi_rack_app.gemfile new file mode 100644 index 00000000000..1c1fa567d47 --- /dev/null +++ b/gemfiles/jruby_9.3_multi_rack_app.gemfile @@ -0,0 +1,44 @@ +# 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 "rspec_n", "~> 1.3" +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 "yard", "~> 0.9" +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 "sinatra", ">= 3" +gem "rack-contrib" +gem "rack-test" +gem "grape" +gem "rails", "~> 5.2.1" + +group :check do + +end + +gemspec path: "../" diff --git a/gemfiles/jruby_9.3_multi_rack_app.gemfile.lock b/gemfiles/jruby_9.3_multi_rack_app.gemfile.lock new file mode 100644 index 00000000000..108797066cc --- /dev/null +++ b/gemfiles/jruby_9.3_multi_rack_app.gemfile.lock @@ -0,0 +1,343 @@ +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: + ddtrace (1.20.0) + datadog-ci (~> 0.7.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 5.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + actioncable (5.2.8.1) + actionpack (= 5.2.8.1) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailer (5.2.8.1) + actionpack (= 5.2.8.1) + actionview (= 5.2.8.1) + activejob (= 5.2.8.1) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (5.2.8.1) + actionview (= 5.2.8.1) + activesupport (= 5.2.8.1) + rack (~> 2.0, >= 2.0.8) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (5.2.8.1) + activesupport (= 5.2.8.1) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activejob (5.2.8.1) + activesupport (= 5.2.8.1) + globalid (>= 0.3.6) + activemodel (5.2.8.1) + activesupport (= 5.2.8.1) + activerecord (5.2.8.1) + activemodel (= 5.2.8.1) + activesupport (= 5.2.8.1) + arel (>= 9.0) + activestorage (5.2.8.1) + actionpack (= 5.2.8.1) + activerecord (= 5.2.8.1) + marcel (~> 1.0.0) + activesupport (5.2.8.1) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + arel (9.0.0) + ast (2.4.2) + base64 (0.2.0) + benchmark-ips (2.13.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.6-java) + builder (3.2.4) + climate_control (0.2.0) + coderay (1.1.3) + colorize (0.8.1) + concurrent-ruby (1.2.3) + crack (0.4.6) + bigdecimal + rexml + crass (1.0.6) + cri (2.15.11) + datadog-ci (0.7.0) + msgpack + date (3.3.4-java) + debase-ruby_core_source (3.3.1) + diff-lcs (1.5.1) + docile (1.4.0) + dogstatsd-ruby (5.6.1) + dry-configurable (0.13.0) + concurrent-ruby (~> 1.0) + dry-core (~> 0.6) + dry-container (0.9.0) + concurrent-ruby (~> 1.0) + dry-configurable (~> 0.13, >= 0.13.0) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + dry-inflector (0.2.1) + dry-logic (1.2.0) + concurrent-ruby (~> 1.0) + dry-core (~> 0.5, >= 0.5) + dry-types (1.5.1) + concurrent-ruby (~> 1.0) + dry-container (~> 0.3) + dry-core (~> 0.5, >= 0.5) + dry-inflector (~> 0.1, >= 0.1.2) + dry-logic (~> 1.0, >= 1.0.2) + erubi (1.12.0) + ffi (1.16.3-java) + globalid (1.1.0) + activesupport (>= 5.0) + grape (2.0.0) + activesupport (>= 5) + builder + dry-types (>= 1.1) + mustermann-grape (~> 1.0.0) + rack (>= 1.3.0) + rack-accept + hashdiff (1.1.0) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + json (2.7.1-java) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (5.0.0.1.0) + libddwaf (1.14.0.0.0-java) + ffi (~> 1.0) + loofah (2.22.0) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.8.1) + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.0.2) + memory_profiler (0.9.14) + method_source (1.0.0) + mini_mime (1.1.5) + minitest (5.22.0) + msgpack (1.7.2-java) + mustermann (3.0.0) + ruby2_keywords (~> 0.0.1) + mustermann-grape (1.0.2) + mustermann (>= 1.0.0) + net-imap (0.3.7) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.4.0.1) + net-protocol + nio4r (2.7.0-java) + nokogiri (1.13.10-java) + racc (~> 1.4) + os (1.1.4) + parallel (1.24.0) + parser (3.3.0.5) + 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.0.4) + racc (1.7.3-java) + rack (2.2.8) + rack-accept (0.4.5) + rack (>= 0.4) + rack-contrib (2.4.0) + rack (< 4) + rack-protection (3.2.0) + base64 (>= 0.1.0) + rack (~> 2.2, >= 2.2.4) + rack-test (2.1.0) + rack (>= 1.3) + rails (5.2.8.1) + actioncable (= 5.2.8.1) + actionmailer (= 5.2.8.1) + actionpack (= 5.2.8.1) + actionview (= 5.2.8.1) + activejob (= 5.2.8.1) + activemodel (= 5.2.8.1) + activerecord (= 5.2.8.1) + activestorage (= 5.2.8.1) + activesupport (= 5.2.8.1) + bundler (>= 1.3.0) + railties (= 5.2.8.1) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.5.0) + loofah (~> 2.19, >= 2.19.1) + railties (5.2.8.1) + actionpack (= 5.2.8.1) + activesupport (= 5.2.8.1) + method_source + rake (>= 0.8.7) + thor (>= 0.19.0, < 2.0) + rainbow (3.1.1) + rake (13.1.0) + rake-compiler (1.2.7) + rake + regexp_parser (2.9.0) + rexml (3.2.6) + 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.0) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.0) + rspec-wait (0.0.9) + rspec (>= 3, < 4) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rspec_n (1.4.0) + colorize (~> 0.8.0) + cri (~> 2.15.3) + 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) + ruby2_keywords (0.0.5) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.4) + sinatra (3.2.0) + mustermann (~> 3.0) + rack (~> 2.2, >= 2.2.4) + rack-protection (= 3.2.0) + tilt (~> 2.0) + spoon (0.0.6) + ffi + sprockets (4.2.1) + concurrent-ruby (~> 1.0) + rack (>= 2.2.4, < 4) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + sprockets (>= 3.0.0) + thor (1.3.0) + thread_safe (0.3.6-java) + tilt (2.3.0) + timeout (0.4.1) + tzinfo (1.2.11) + thread_safe (~> 0.1) + unicode-display_width (2.5.0) + warning (1.3.0) + webmock (3.19.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + websocket-driver (0.7.6-java) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + yard (0.9.34) + +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 + ddtrace! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + grape + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-debugger-jruby + rack-contrib + rack-test + rails (~> 5.2.1) + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rspec_n (~> 1.3) + 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) + sinatra (>= 3) + warning (~> 1) + webmock (>= 3.10.0) + yard (~> 0.9) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/jruby_9.4_multi_rack_app.gemfile b/gemfiles/jruby_9.4_multi_rack_app.gemfile new file mode 100644 index 00000000000..497f65f4870 --- /dev/null +++ b/gemfiles/jruby_9.4_multi_rack_app.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 "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 "rspec_n", "~> 1.3" +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 "webrick", ">= 1.7.0" +gem "yard", "~> 0.9" +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 "sinatra", ">= 3" +gem "rack-contrib" +gem "rack-test" +gem "grape" +gem "rails", "~> 6.1.0" + +group :check do + +end + +gemspec path: "../" diff --git a/gemfiles/jruby_9.4_multi_rack_app.gemfile.lock b/gemfiles/jruby_9.4_multi_rack_app.gemfile.lock new file mode 100644 index 00000000000..54f206722bb --- /dev/null +++ b/gemfiles/jruby_9.4_multi_rack_app.gemfile.lock @@ -0,0 +1,362 @@ +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: + ddtrace (1.20.0) + datadog-ci (~> 0.7.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 5.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + actioncable (6.1.7.6) + actionpack (= 6.1.7.6) + activesupport (= 6.1.7.6) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (6.1.7.6) + actionpack (= 6.1.7.6) + activejob (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) + mail (>= 2.7.1) + actionmailer (6.1.7.6) + actionpack (= 6.1.7.6) + actionview (= 6.1.7.6) + activejob (= 6.1.7.6) + activesupport (= 6.1.7.6) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (6.1.7.6) + actionview (= 6.1.7.6) + activesupport (= 6.1.7.6) + rack (~> 2.0, >= 2.0.9) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (6.1.7.6) + actionpack (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) + nokogiri (>= 1.8.5) + actionview (6.1.7.6) + activesupport (= 6.1.7.6) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (6.1.7.6) + activesupport (= 6.1.7.6) + globalid (>= 0.3.6) + activemodel (6.1.7.6) + activesupport (= 6.1.7.6) + activerecord (6.1.7.6) + activemodel (= 6.1.7.6) + activesupport (= 6.1.7.6) + activestorage (6.1.7.6) + actionpack (= 6.1.7.6) + activejob (= 6.1.7.6) + activerecord (= 6.1.7.6) + activesupport (= 6.1.7.6) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (6.1.7.6) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + base64 (0.2.0) + benchmark-ips (2.13.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.6-java) + builder (3.2.4) + climate_control (0.2.0) + coderay (1.1.3) + colorize (0.8.1) + concurrent-ruby (1.2.3) + crack (0.4.6) + bigdecimal + rexml + crass (1.0.6) + cri (2.15.11) + datadog-ci (0.7.0) + msgpack + date (3.3.4-java) + debase-ruby_core_source (3.3.1) + diff-lcs (1.5.1) + docile (1.4.0) + dogstatsd-ruby (5.6.1) + dry-core (1.0.1) + concurrent-ruby (~> 1.0) + zeitwerk (~> 2.6) + dry-inflector (1.0.0) + dry-logic (1.5.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0, < 2) + zeitwerk (~> 2.6) + dry-types (1.7.2) + bigdecimal (~> 3.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0) + dry-inflector (~> 1.0) + dry-logic (~> 1.4) + zeitwerk (~> 2.6) + erubi (1.12.0) + ffi (1.16.3-java) + globalid (1.2.1) + activesupport (>= 6.1) + grape (2.0.0) + activesupport (>= 5) + builder + dry-types (>= 1.1) + mustermann-grape (~> 1.0.0) + rack (>= 1.3.0) + rack-accept + hashdiff (1.1.0) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + json (2.7.1-java) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (5.0.0.1.0) + libddwaf (1.14.0.0.0-java) + ffi (~> 1.0) + loofah (2.22.0) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.8.1) + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.0.2) + memory_profiler (0.9.14) + method_source (1.0.0) + mini_mime (1.1.5) + minitest (5.22.0) + msgpack (1.7.2-java) + mustermann (3.0.0) + ruby2_keywords (~> 0.0.1) + mustermann-grape (1.0.2) + mustermann (>= 1.0.0) + net-imap (0.4.10) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.4.0.1) + net-protocol + nio4r (2.7.0-java) + nokogiri (1.16.2-java) + racc (~> 1.4) + os (1.1.4) + parallel (1.24.0) + parser (3.3.0.5) + 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.0.4) + racc (1.7.3-java) + rack (2.2.8) + rack-accept (0.4.5) + rack (>= 0.4) + rack-contrib (2.4.0) + rack (< 4) + rack-protection (3.2.0) + base64 (>= 0.1.0) + rack (~> 2.2, >= 2.2.4) + rack-test (2.1.0) + rack (>= 1.3) + rails (6.1.7.6) + actioncable (= 6.1.7.6) + actionmailbox (= 6.1.7.6) + actionmailer (= 6.1.7.6) + actionpack (= 6.1.7.6) + actiontext (= 6.1.7.6) + actionview (= 6.1.7.6) + activejob (= 6.1.7.6) + activemodel (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) + bundler (>= 1.15.0) + railties (= 6.1.7.6) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + railties (6.1.7.6) + actionpack (= 6.1.7.6) + activesupport (= 6.1.7.6) + method_source + rake (>= 12.2) + thor (~> 1.0) + rainbow (3.1.1) + rake (13.1.0) + rake-compiler (1.2.7) + rake + regexp_parser (2.9.0) + rexml (3.2.6) + 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.0) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.0) + rspec-wait (0.0.9) + rspec (>= 3, < 4) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rspec_n (1.5.0) + colorize (~> 0.8.0) + cri (~> 2.15.3) + 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.20.0) + rubocop (~> 1.41) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-performance (1.20.2) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.30.0, < 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) + ruby2_keywords (0.0.5) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.4) + sinatra (3.2.0) + mustermann (~> 3.0) + rack (~> 2.2, >= 2.2.4) + rack-protection (= 3.2.0) + tilt (~> 2.0) + spoon (0.0.6) + ffi + sprockets (4.2.1) + concurrent-ruby (~> 1.0) + rack (>= 2.2.4, < 4) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + sprockets (>= 3.0.0) + thor (1.3.0) + tilt (2.3.0) + timeout (0.4.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (2.5.0) + warning (1.3.0) + webmock (3.19.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + webrick (1.8.1) + websocket-driver (0.7.6-java) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + yard (0.9.34) + zeitwerk (2.6.13) + +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 + ddtrace! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + grape + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-debugger-jruby + rack-contrib + rack-test + rails (~> 6.1.0) + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rspec_n (~> 1.3) + 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) + sinatra (>= 3) + warning (~> 1) + webmock (>= 3.10.0) + webrick (>= 1.7.0) + yard (~> 0.9) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_2.5_multi_rack_app.gemfile b/gemfiles/ruby_2.5_multi_rack_app.gemfile new file mode 100644 index 00000000000..29e9626adaf --- /dev/null +++ b/gemfiles/ruby_2.5_multi_rack_app.gemfile @@ -0,0 +1,44 @@ +# 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 "redcarpet", "~> 3.4" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "rspec_n", "~> 1.3" +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 "yard", "~> 0.9" +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 "sinatra" +gem "rack-contrib" +gem "rack-test" +gem "grape" +gem "rails", "~> 5.2.1" + +group :check do + +end + +gemspec path: "../" diff --git a/gemfiles/ruby_2.5_multi_rack_app.gemfile.lock b/gemfiles/ruby_2.5_multi_rack_app.gemfile.lock new file mode 100644 index 00000000000..c9a78ed615d --- /dev/null +++ b/gemfiles/ruby_2.5_multi_rack_app.gemfile.lock @@ -0,0 +1,328 @@ +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: + ddtrace (1.20.0) + datadog-ci (~> 0.7.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 5.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + actioncable (5.2.8.1) + actionpack (= 5.2.8.1) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailer (5.2.8.1) + actionpack (= 5.2.8.1) + actionview (= 5.2.8.1) + activejob (= 5.2.8.1) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (5.2.8.1) + actionview (= 5.2.8.1) + activesupport (= 5.2.8.1) + rack (~> 2.0, >= 2.0.8) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (5.2.8.1) + activesupport (= 5.2.8.1) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activejob (5.2.8.1) + activesupport (= 5.2.8.1) + globalid (>= 0.3.6) + activemodel (5.2.8.1) + activesupport (= 5.2.8.1) + activerecord (5.2.8.1) + activemodel (= 5.2.8.1) + activesupport (= 5.2.8.1) + arel (>= 9.0) + activestorage (5.2.8.1) + actionpack (= 5.2.8.1) + activerecord (= 5.2.8.1) + marcel (~> 1.0.0) + activesupport (5.2.8.1) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + arel (9.0.0) + benchmark-ips (2.13.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.6) + binding_of_caller (0.8.0) + debug_inspector (>= 0.0.1) + builder (3.2.4) + climate_control (0.2.0) + coderay (1.1.3) + colorize (0.8.1) + concurrent-ruby (1.2.3) + crack (0.4.6) + bigdecimal + rexml + crass (1.0.6) + cri (2.15.11) + datadog-ci (0.7.0) + msgpack + debase-ruby_core_source (3.3.1) + debug_inspector (1.2.0) + diff-lcs (1.5.1) + digest (3.1.1) + docile (1.4.0) + dogstatsd-ruby (5.6.1) + dry-configurable (0.12.1) + concurrent-ruby (~> 1.0) + dry-core (~> 0.5, >= 0.5.0) + dry-container (0.7.2) + concurrent-ruby (~> 1.0) + dry-configurable (~> 0.1, >= 0.1.3) + dry-core (0.6.0) + concurrent-ruby (~> 1.0) + dry-inflector (0.2.0) + dry-logic (1.2.0) + concurrent-ruby (~> 1.0) + dry-core (~> 0.5, >= 0.5) + dry-types (1.5.1) + concurrent-ruby (~> 1.0) + dry-container (~> 0.3) + dry-core (~> 0.5, >= 0.5) + dry-inflector (~> 0.1, >= 0.1.2) + dry-logic (~> 1.0, >= 1.0.2) + erubi (1.12.0) + extlz4 (0.3.4) + ffi (1.16.3) + globalid (1.1.0) + activesupport (>= 5.0) + google-protobuf (3.19.1) + google-protobuf (3.19.1-x86_64-linux) + grape (1.7.0) + activesupport + builder + dry-types (>= 1.1) + mustermann-grape (~> 1.0.0) + rack (>= 1.3.0) + rack-accept + hashdiff (1.1.0) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + io-wait (0.3.1) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (5.0.0.1.0-aarch64-linux) + libdatadog (5.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) + loofah (2.22.0) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.8.1) + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.0.2) + memory_profiler (0.9.14) + method_source (1.0.0) + mini_mime (1.1.2) + mini_portile2 (2.6.1) + minitest (5.15.0) + msgpack (1.7.2) + mustermann (2.0.2) + ruby2_keywords (~> 0.0.1) + mustermann-grape (1.0.2) + mustermann (>= 1.0.0) + net-imap (0.2.2) + digest + net-protocol + strscan + net-pop (0.1.2) + net-protocol + net-protocol (0.1.2) + io-wait + timeout + net-smtp (0.3.0) + digest + net-protocol + timeout + nio4r (2.7.0) + nokogiri (1.12.5) + mini_portile2 (~> 2.6.1) + racc (~> 1.4) + nokogiri (1.12.5-x86_64-linux) + racc (~> 1.4) + 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) + racc (1.7.3) + rack (2.2.8) + rack-accept (0.4.5) + rack (>= 0.4) + rack-contrib (2.4.0) + rack (< 4) + rack-protection (2.2.4) + rack + rack-test (2.1.0) + rack (>= 1.3) + rails (5.2.8.1) + actioncable (= 5.2.8.1) + actionmailer (= 5.2.8.1) + actionpack (= 5.2.8.1) + actionview (= 5.2.8.1) + activejob (= 5.2.8.1) + activemodel (= 5.2.8.1) + activerecord (= 5.2.8.1) + activestorage (= 5.2.8.1) + activesupport (= 5.2.8.1) + bundler (>= 1.3.0) + railties (= 5.2.8.1) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.5.0) + loofah (~> 2.19, >= 2.19.1) + railties (5.2.8.1) + actionpack (= 5.2.8.1) + activesupport (= 5.2.8.1) + method_source + rake (>= 0.8.7) + thor (>= 0.19.0, < 2.0) + rake (13.1.0) + rake-compiler (1.2.7) + rake + redcarpet (3.6.0) + rexml (3.2.6) + 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.0) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.0) + rspec-wait (0.0.9) + rspec (>= 3, < 4) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rspec_n (1.3.0) + colorize (~> 0.8.0) + cri (~> 2.15.3) + ruby2_keywords (0.0.5) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.4) + sinatra (2.2.4) + mustermann (~> 2.0) + rack (~> 2.2) + rack-protection (= 2.2.4) + tilt (~> 2.0) + sprockets (4.2.1) + concurrent-ruby (~> 1.0) + rack (>= 2.2.4, < 4) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + sprockets (>= 3.0.0) + strscan (3.1.0) + thor (1.2.2) + thread_safe (0.3.6) + tilt (2.3.0) + timeout (0.4.0) + tzinfo (1.2.11) + thread_safe (~> 0.1) + warning (1.3.0) + webmock (3.19.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + websocket-driver (0.7.6) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + yard (0.9.34) + +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 + ddtrace! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + google-protobuf (~> 3.0, < 3.19.2, != 3.7.1, != 3.7.0) + grape + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-nav + pry-stack_explorer + rack-contrib + rack-test + rails (~> 5.2.1) + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + redcarpet (~> 3.4) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rspec_n (~> 1.3) + simplecov! + simplecov-cobertura (~> 2.1.0) + sinatra + warning (~> 1) + webmock (>= 3.10.0) + yard (~> 0.9) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_2.6_multi_rack_app.gemfile b/gemfiles/ruby_2.6_multi_rack_app.gemfile new file mode 100644 index 00000000000..e63f93f08f3 --- /dev/null +++ b/gemfiles/ruby_2.6_multi_rack_app.gemfile @@ -0,0 +1,48 @@ +# 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 "redcarpet", "~> 3.4" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "rspec_n", "~> 1.3" +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 "yard", "~> 0.9" +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 "sinatra", ">= 3" +gem "rack-contrib" +gem "rack-test" +gem "grape" +gem "rails", "~> 5.2.1" + +group :check do + +end + +gemspec path: "../" diff --git a/gemfiles/ruby_2.6_multi_rack_app.gemfile.lock b/gemfiles/ruby_2.6_multi_rack_app.gemfile.lock new file mode 100644 index 00000000000..49044e453d5 --- /dev/null +++ b/gemfiles/ruby_2.6_multi_rack_app.gemfile.lock @@ -0,0 +1,360 @@ +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: + ddtrace (1.20.0) + datadog-ci (~> 0.7.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 5.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + actioncable (5.2.8.1) + actionpack (= 5.2.8.1) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailer (5.2.8.1) + actionpack (= 5.2.8.1) + actionview (= 5.2.8.1) + activejob (= 5.2.8.1) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (5.2.8.1) + actionview (= 5.2.8.1) + activesupport (= 5.2.8.1) + rack (~> 2.0, >= 2.0.8) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (5.2.8.1) + activesupport (= 5.2.8.1) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activejob (5.2.8.1) + activesupport (= 5.2.8.1) + globalid (>= 0.3.6) + activemodel (5.2.8.1) + activesupport (= 5.2.8.1) + activerecord (5.2.8.1) + activemodel (= 5.2.8.1) + activesupport (= 5.2.8.1) + arel (>= 9.0) + activestorage (5.2.8.1) + actionpack (= 5.2.8.1) + activerecord (= 5.2.8.1) + marcel (~> 1.0.0) + activesupport (5.2.8.1) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + arel (9.0.0) + ast (2.4.2) + base64 (0.2.0) + benchmark-ips (2.13.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.6) + binding_of_caller (1.0.0) + debug_inspector (>= 0.0.1) + builder (3.2.4) + byebug (11.1.3) + climate_control (0.2.0) + coderay (1.1.3) + colorize (0.8.1) + concurrent-ruby (1.2.3) + crack (0.4.6) + bigdecimal + rexml + crass (1.0.6) + cri (2.15.11) + datadog-ci (0.7.0) + msgpack + date (3.3.4) + debase-ruby_core_source (3.3.1) + debug_inspector (1.2.0) + diff-lcs (1.5.1) + docile (1.4.0) + dogstatsd-ruby (5.6.1) + dry-configurable (0.13.0) + concurrent-ruby (~> 1.0) + dry-core (~> 0.6) + dry-container (0.9.0) + concurrent-ruby (~> 1.0) + dry-configurable (~> 0.13, >= 0.13.0) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + dry-inflector (0.2.1) + dry-logic (1.2.0) + concurrent-ruby (~> 1.0) + dry-core (~> 0.5, >= 0.5) + dry-types (1.5.1) + concurrent-ruby (~> 1.0) + dry-container (~> 0.3) + dry-core (~> 0.5, >= 0.5) + dry-inflector (~> 0.1, >= 0.1.2) + dry-logic (~> 1.0, >= 1.0.2) + erubi (1.12.0) + extlz4 (0.3.4) + ffi (1.16.3) + globalid (1.1.0) + activesupport (>= 5.0) + google-protobuf (3.19.1) + google-protobuf (3.19.1-x86_64-linux) + grape (2.0.0) + activesupport (>= 5) + builder + dry-types (>= 1.1) + mustermann-grape (~> 1.0.0) + rack (>= 1.3.0) + rack-accept + hashdiff (1.1.0) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + json (2.7.1) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (5.0.0.1.0-aarch64-linux) + libdatadog (5.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) + loofah (2.22.0) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.8.1) + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.0.2) + memory_profiler (0.9.14) + method_source (1.0.0) + mini_mime (1.1.5) + minitest (5.22.0) + msgpack (1.7.2) + mustermann (3.0.0) + ruby2_keywords (~> 0.0.1) + mustermann-grape (1.0.2) + mustermann (>= 1.0.0) + net-imap (0.3.7) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.4.0.1) + net-protocol + nio4r (2.7.0) + nokogiri (1.13.10-aarch64-linux) + racc (~> 1.4) + nokogiri (1.13.10-x86_64-linux) + racc (~> 1.4) + os (1.1.4) + parallel (1.24.0) + parser (3.3.0.5) + 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.0.4) + racc (1.7.3) + rack (2.2.8) + rack-accept (0.4.5) + rack (>= 0.4) + rack-contrib (2.4.0) + rack (< 4) + rack-protection (3.2.0) + base64 (>= 0.1.0) + rack (~> 2.2, >= 2.2.4) + rack-test (2.1.0) + rack (>= 1.3) + rails (5.2.8.1) + actioncable (= 5.2.8.1) + actionmailer (= 5.2.8.1) + actionpack (= 5.2.8.1) + actionview (= 5.2.8.1) + activejob (= 5.2.8.1) + activemodel (= 5.2.8.1) + activerecord (= 5.2.8.1) + activestorage (= 5.2.8.1) + activesupport (= 5.2.8.1) + bundler (>= 1.3.0) + railties (= 5.2.8.1) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.5.0) + loofah (~> 2.19, >= 2.19.1) + railties (5.2.8.1) + actionpack (= 5.2.8.1) + activesupport (= 5.2.8.1) + method_source + rake (>= 0.8.7) + thor (>= 0.19.0, < 2.0) + rainbow (3.1.1) + rake (13.1.0) + rake-compiler (1.2.7) + rake + redcarpet (3.6.0) + regexp_parser (2.9.0) + rexml (3.2.6) + 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.0) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.0) + rspec-wait (0.0.9) + rspec (>= 3, < 4) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rspec_n (1.4.0) + colorize (~> 0.8.0) + cri (~> 2.15.3) + 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) + ruby2_keywords (0.0.5) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.4) + sinatra (3.2.0) + mustermann (~> 3.0) + rack (~> 2.2, >= 2.2.4) + rack-protection (= 3.2.0) + tilt (~> 2.0) + sprockets (4.2.1) + concurrent-ruby (~> 1.0) + rack (>= 2.2.4, < 4) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + sprockets (>= 3.0.0) + thor (1.3.0) + thread_safe (0.3.6) + tilt (2.3.0) + timeout (0.4.1) + tzinfo (1.2.11) + thread_safe (~> 0.1) + unicode-display_width (2.5.0) + warning (1.3.0) + webmock (3.19.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + websocket-driver (0.7.6) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + yard (0.9.34) + +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 + ddtrace! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + google-protobuf (~> 3.0, < 3.19.2, != 3.7.1, != 3.7.0) + grape + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-byebug + pry-stack_explorer + rack-contrib + rack-test + rails (~> 5.2.1) + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + redcarpet (~> 3.4) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rspec_n (~> 1.3) + 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) + sinatra (>= 3) + warning (~> 1) + webmock (>= 3.10.0) + yard (~> 0.9) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_2.7_multi_rack_app.gemfile b/gemfiles/ruby_2.7_multi_rack_app.gemfile new file mode 100644 index 00000000000..6a5ceddeba5 --- /dev/null +++ b/gemfiles/ruby_2.7_multi_rack_app.gemfile @@ -0,0 +1,48 @@ +# 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 "redcarpet", "~> 3.4" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "rspec_n", "~> 1.3" +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 "yard", "~> 0.9" +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 "sinatra", ">= 3" +gem "rack-contrib" +gem "rack-test" +gem "grape" +gem "rails", "~> 5.2.1" + +group :check do + +end + +gemspec path: "../" diff --git a/gemfiles/ruby_2.7_multi_rack_app.gemfile.lock b/gemfiles/ruby_2.7_multi_rack_app.gemfile.lock new file mode 100644 index 00000000000..3aaf9df480d --- /dev/null +++ b/gemfiles/ruby_2.7_multi_rack_app.gemfile.lock @@ -0,0 +1,358 @@ +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: + ddtrace (1.20.0) + datadog-ci (~> 0.7.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 5.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + actioncable (5.2.8.1) + actionpack (= 5.2.8.1) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailer (5.2.8.1) + actionpack (= 5.2.8.1) + actionview (= 5.2.8.1) + activejob (= 5.2.8.1) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (5.2.8.1) + actionview (= 5.2.8.1) + activesupport (= 5.2.8.1) + rack (~> 2.0, >= 2.0.8) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (5.2.8.1) + activesupport (= 5.2.8.1) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activejob (5.2.8.1) + activesupport (= 5.2.8.1) + globalid (>= 0.3.6) + activemodel (5.2.8.1) + activesupport (= 5.2.8.1) + activerecord (5.2.8.1) + activemodel (= 5.2.8.1) + activesupport (= 5.2.8.1) + arel (>= 9.0) + activestorage (5.2.8.1) + actionpack (= 5.2.8.1) + activerecord (= 5.2.8.1) + marcel (~> 1.0.0) + activesupport (5.2.8.1) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + arel (9.0.0) + ast (2.4.2) + base64 (0.2.0) + benchmark-ips (2.13.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.6) + binding_of_caller (1.0.0) + debug_inspector (>= 0.0.1) + builder (3.2.4) + byebug (11.1.3) + climate_control (0.2.0) + coderay (1.1.3) + colorize (0.8.1) + concurrent-ruby (1.2.3) + crack (0.4.6) + bigdecimal + rexml + crass (1.0.6) + cri (2.15.11) + datadog-ci (0.7.0) + msgpack + date (3.3.4) + debase-ruby_core_source (3.3.1) + debug_inspector (1.2.0) + diff-lcs (1.5.1) + docile (1.4.0) + dogstatsd-ruby (5.6.1) + dry-core (1.0.0) + concurrent-ruby (~> 1.0) + zeitwerk (~> 2.6) + dry-inflector (1.0.0) + dry-logic (1.5.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0, < 2) + zeitwerk (~> 2.6) + dry-types (1.7.1) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0) + dry-inflector (~> 1.0) + dry-logic (~> 1.4) + zeitwerk (~> 2.6) + erubi (1.12.0) + extlz4 (0.3.4) + ffi (1.16.3) + globalid (1.1.0) + activesupport (>= 5.0) + google-protobuf (3.25.2-aarch64-linux) + google-protobuf (3.25.2-x86_64-linux) + grape (2.0.0) + activesupport (>= 5) + builder + dry-types (>= 1.1) + mustermann-grape (~> 1.0.0) + rack (>= 1.3.0) + rack-accept + hashdiff (1.1.0) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + json (2.7.1) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (5.0.0.1.0-aarch64-linux) + libdatadog (5.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) + loofah (2.22.0) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.8.1) + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.0.2) + memory_profiler (0.9.14) + method_source (1.0.0) + mini_mime (1.1.5) + minitest (5.22.0) + msgpack (1.7.2) + mustermann (3.0.0) + ruby2_keywords (~> 0.0.1) + mustermann-grape (1.0.2) + mustermann (>= 1.0.0) + net-imap (0.4.10) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.4.0.1) + net-protocol + nio4r (2.7.0) + nokogiri (1.15.5-aarch64-linux) + racc (~> 1.4) + nokogiri (1.15.5-x86_64-linux) + racc (~> 1.4) + os (1.1.4) + parallel (1.24.0) + parser (3.3.0.5) + 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.0.4) + racc (1.7.3) + rack (2.2.8) + rack-accept (0.4.5) + rack (>= 0.4) + rack-contrib (2.4.0) + rack (< 4) + rack-protection (3.2.0) + base64 (>= 0.1.0) + rack (~> 2.2, >= 2.2.4) + rack-test (2.1.0) + rack (>= 1.3) + rails (5.2.8.1) + actioncable (= 5.2.8.1) + actionmailer (= 5.2.8.1) + actionpack (= 5.2.8.1) + actionview (= 5.2.8.1) + activejob (= 5.2.8.1) + activemodel (= 5.2.8.1) + activerecord (= 5.2.8.1) + activestorage (= 5.2.8.1) + activesupport (= 5.2.8.1) + bundler (>= 1.3.0) + railties (= 5.2.8.1) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + railties (5.2.8.1) + actionpack (= 5.2.8.1) + activesupport (= 5.2.8.1) + method_source + rake (>= 0.8.7) + thor (>= 0.19.0, < 2.0) + rainbow (3.1.1) + rake (13.1.0) + rake-compiler (1.2.7) + rake + redcarpet (3.6.0) + regexp_parser (2.9.0) + rexml (3.2.6) + 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.0) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.0) + rspec-wait (0.0.9) + rspec (>= 3, < 4) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rspec_n (1.5.0) + colorize (~> 0.8.0) + cri (~> 2.15.3) + 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.20.0) + rubocop (~> 1.41) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-performance (1.20.2) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.30.0, < 2.0) + rubocop-rspec (2.20.0) + rubocop (~> 1.33) + rubocop-capybara (~> 2.17) + ruby-progressbar (1.13.0) + ruby2_keywords (0.0.5) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.4) + sinatra (3.2.0) + mustermann (~> 3.0) + rack (~> 2.2, >= 2.2.4) + rack-protection (= 3.2.0) + tilt (~> 2.0) + sprockets (4.2.1) + concurrent-ruby (~> 1.0) + rack (>= 2.2.4, < 4) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + sprockets (>= 3.0.0) + thor (1.3.0) + thread_safe (0.3.6) + tilt (2.3.0) + timeout (0.4.1) + tzinfo (1.2.11) + thread_safe (~> 0.1) + unicode-display_width (2.5.0) + warning (1.3.0) + webmock (3.19.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + websocket-driver (0.7.6) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + yard (0.9.34) + zeitwerk (2.6.13) + +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 + ddtrace! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + google-protobuf (~> 3.0, != 3.7.1, != 3.7.0) + grape + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-byebug + pry-stack_explorer + rack-contrib + rack-test + rails (~> 5.2.1) + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + redcarpet (~> 3.4) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rspec_n (~> 1.3) + 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) + sinatra (>= 3) + warning (~> 1) + webmock (>= 3.10.0) + yard (~> 0.9) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_3.0_multi_rack_app.gemfile b/gemfiles/ruby_3.0_multi_rack_app.gemfile new file mode 100644 index 00000000000..c3efafe49a7 --- /dev/null +++ b/gemfiles/ruby_3.0_multi_rack_app.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 "redcarpet", "~> 3.4" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "rspec_n", "~> 1.3" +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 "webrick", ">= 1.7.0" +gem "yard", "~> 0.9" +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 "sinatra", ">= 3" +gem "rack-contrib" +gem "rack-test" +gem "grape" +gem "rails", "~> 6.1.0" + +group :check do + +end + +gemspec path: "../" diff --git a/gemfiles/ruby_3.0_multi_rack_app.gemfile.lock b/gemfiles/ruby_3.0_multi_rack_app.gemfile.lock new file mode 100644 index 00000000000..0d461b48119 --- /dev/null +++ b/gemfiles/ruby_3.0_multi_rack_app.gemfile.lock @@ -0,0 +1,379 @@ +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: + ddtrace (1.20.0) + datadog-ci (~> 0.7.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 5.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + actioncable (6.1.7.6) + actionpack (= 6.1.7.6) + activesupport (= 6.1.7.6) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (6.1.7.6) + actionpack (= 6.1.7.6) + activejob (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) + mail (>= 2.7.1) + actionmailer (6.1.7.6) + actionpack (= 6.1.7.6) + actionview (= 6.1.7.6) + activejob (= 6.1.7.6) + activesupport (= 6.1.7.6) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (6.1.7.6) + actionview (= 6.1.7.6) + activesupport (= 6.1.7.6) + rack (~> 2.0, >= 2.0.9) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (6.1.7.6) + actionpack (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) + nokogiri (>= 1.8.5) + actionview (6.1.7.6) + activesupport (= 6.1.7.6) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (6.1.7.6) + activesupport (= 6.1.7.6) + globalid (>= 0.3.6) + activemodel (6.1.7.6) + activesupport (= 6.1.7.6) + activerecord (6.1.7.6) + activemodel (= 6.1.7.6) + activesupport (= 6.1.7.6) + activestorage (6.1.7.6) + actionpack (= 6.1.7.6) + activejob (= 6.1.7.6) + activerecord (= 6.1.7.6) + activesupport (= 6.1.7.6) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (6.1.7.6) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + base64 (0.2.0) + benchmark-ips (2.13.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.6) + binding_of_caller (1.0.0) + debug_inspector (>= 0.0.1) + builder (3.2.4) + byebug (11.1.3) + climate_control (0.2.0) + coderay (1.1.3) + colorize (0.8.1) + concurrent-ruby (1.2.3) + crack (0.4.6) + bigdecimal + rexml + crass (1.0.6) + cri (2.15.11) + datadog-ci (0.7.0) + msgpack + date (3.3.4) + debase-ruby_core_source (3.3.1) + debug_inspector (1.2.0) + diff-lcs (1.5.1) + docile (1.4.0) + dogstatsd-ruby (5.6.1) + dry-core (1.0.1) + concurrent-ruby (~> 1.0) + zeitwerk (~> 2.6) + dry-inflector (1.0.0) + dry-logic (1.5.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0, < 2) + zeitwerk (~> 2.6) + dry-types (1.7.2) + bigdecimal (~> 3.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0) + dry-inflector (~> 1.0) + dry-logic (~> 1.4) + zeitwerk (~> 2.6) + erubi (1.12.0) + extlz4 (0.3.4) + ffi (1.16.3) + globalid (1.2.1) + activesupport (>= 6.1) + google-protobuf (3.25.2-aarch64-linux) + google-protobuf (3.25.2-x86_64-linux) + grape (2.0.0) + activesupport (>= 5) + builder + dry-types (>= 1.1) + mustermann-grape (~> 1.0.0) + rack (>= 1.3.0) + rack-accept + hashdiff (1.1.0) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + json (2.7.1) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (5.0.0.1.0-aarch64-linux) + libdatadog (5.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) + loofah (2.22.0) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.8.1) + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.0.2) + memory_profiler (0.9.14) + method_source (1.0.0) + mini_mime (1.1.5) + minitest (5.22.0) + msgpack (1.7.2) + mustermann (3.0.0) + ruby2_keywords (~> 0.0.1) + mustermann-grape (1.0.2) + mustermann (>= 1.0.0) + net-imap (0.4.10) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.4.0.1) + net-protocol + nio4r (2.7.0) + nokogiri (1.16.2-aarch64-linux) + racc (~> 1.4) + nokogiri (1.16.2-x86_64-linux) + racc (~> 1.4) + os (1.1.4) + parallel (1.24.0) + parser (3.3.0.5) + 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.0.4) + racc (1.7.3) + rack (2.2.8) + rack-accept (0.4.5) + rack (>= 0.4) + rack-contrib (2.4.0) + rack (< 4) + rack-protection (3.2.0) + base64 (>= 0.1.0) + rack (~> 2.2, >= 2.2.4) + rack-test (2.1.0) + rack (>= 1.3) + rails (6.1.7.6) + actioncable (= 6.1.7.6) + actionmailbox (= 6.1.7.6) + actionmailer (= 6.1.7.6) + actionpack (= 6.1.7.6) + actiontext (= 6.1.7.6) + actionview (= 6.1.7.6) + activejob (= 6.1.7.6) + activemodel (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) + bundler (>= 1.15.0) + railties (= 6.1.7.6) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + railties (6.1.7.6) + actionpack (= 6.1.7.6) + activesupport (= 6.1.7.6) + method_source + rake (>= 12.2) + thor (~> 1.0) + rainbow (3.1.1) + rake (13.1.0) + rake-compiler (1.2.7) + rake + redcarpet (3.6.0) + regexp_parser (2.9.0) + rexml (3.2.6) + 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.0) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.0) + rspec-wait (0.0.9) + rspec (>= 3, < 4) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rspec_n (1.5.0) + colorize (~> 0.8.0) + cri (~> 2.15.3) + 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.20.0) + rubocop (~> 1.41) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-performance (1.20.2) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.30.0, < 2.0) + rubocop-rspec (2.20.0) + rubocop (~> 1.33) + rubocop-capybara (~> 2.17) + ruby-progressbar (1.13.0) + ruby2_keywords (0.0.5) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.4) + sinatra (3.2.0) + mustermann (~> 3.0) + rack (~> 2.2, >= 2.2.4) + rack-protection (= 3.2.0) + tilt (~> 2.0) + sprockets (4.2.1) + concurrent-ruby (~> 1.0) + rack (>= 2.2.4, < 4) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + sprockets (>= 3.0.0) + thor (1.3.0) + tilt (2.3.0) + timeout (0.4.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (2.5.0) + warning (1.3.0) + webmock (3.19.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + webrick (1.8.1) + websocket-driver (0.7.6) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + yard (0.9.34) + zeitwerk (2.6.13) + +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 + ddtrace! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + google-protobuf (~> 3.0, != 3.7.1, != 3.7.0) + grape + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-byebug + pry-stack_explorer + rack-contrib + rack-test + rails (~> 6.1.0) + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + redcarpet (~> 3.4) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rspec_n (~> 1.3) + 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) + sinatra (>= 3) + warning (~> 1) + webmock (>= 3.10.0) + webrick (>= 1.7.0) + yard (~> 0.9) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_3.1_multi_rack_app.gemfile b/gemfiles/ruby_3.1_multi_rack_app.gemfile new file mode 100644 index 00000000000..c3efafe49a7 --- /dev/null +++ b/gemfiles/ruby_3.1_multi_rack_app.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 "redcarpet", "~> 3.4" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "rspec_n", "~> 1.3" +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 "webrick", ">= 1.7.0" +gem "yard", "~> 0.9" +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 "sinatra", ">= 3" +gem "rack-contrib" +gem "rack-test" +gem "grape" +gem "rails", "~> 6.1.0" + +group :check do + +end + +gemspec path: "../" diff --git a/gemfiles/ruby_3.1_multi_rack_app.gemfile.lock b/gemfiles/ruby_3.1_multi_rack_app.gemfile.lock new file mode 100644 index 00000000000..ecd61e5927d --- /dev/null +++ b/gemfiles/ruby_3.1_multi_rack_app.gemfile.lock @@ -0,0 +1,376 @@ +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: + ddtrace (1.20.0) + datadog-ci (~> 0.7.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 5.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + actioncable (6.1.7.6) + actionpack (= 6.1.7.6) + activesupport (= 6.1.7.6) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (6.1.7.6) + actionpack (= 6.1.7.6) + activejob (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) + mail (>= 2.7.1) + actionmailer (6.1.7.6) + actionpack (= 6.1.7.6) + actionview (= 6.1.7.6) + activejob (= 6.1.7.6) + activesupport (= 6.1.7.6) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (6.1.7.6) + actionview (= 6.1.7.6) + activesupport (= 6.1.7.6) + rack (~> 2.0, >= 2.0.9) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (6.1.7.6) + actionpack (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) + nokogiri (>= 1.8.5) + actionview (6.1.7.6) + activesupport (= 6.1.7.6) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (6.1.7.6) + activesupport (= 6.1.7.6) + globalid (>= 0.3.6) + activemodel (6.1.7.6) + activesupport (= 6.1.7.6) + activerecord (6.1.7.6) + activemodel (= 6.1.7.6) + activesupport (= 6.1.7.6) + activestorage (6.1.7.6) + actionpack (= 6.1.7.6) + activejob (= 6.1.7.6) + activerecord (= 6.1.7.6) + activesupport (= 6.1.7.6) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (6.1.7.6) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + base64 (0.2.0) + benchmark-ips (2.13.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.6) + binding_of_caller (1.0.0) + debug_inspector (>= 0.0.1) + builder (3.2.4) + byebug (11.1.3) + climate_control (0.2.0) + coderay (1.1.3) + colorize (0.8.1) + concurrent-ruby (1.2.3) + crack (0.4.6) + bigdecimal + rexml + crass (1.0.6) + cri (2.15.11) + datadog-ci (0.7.0) + msgpack + date (3.3.4) + debase-ruby_core_source (3.3.1) + debug_inspector (1.2.0) + diff-lcs (1.5.1) + docile (1.4.0) + dogstatsd-ruby (5.6.1) + dry-core (1.0.1) + concurrent-ruby (~> 1.0) + zeitwerk (~> 2.6) + dry-inflector (1.0.0) + dry-logic (1.5.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0, < 2) + zeitwerk (~> 2.6) + dry-types (1.7.2) + bigdecimal (~> 3.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0) + dry-inflector (~> 1.0) + dry-logic (~> 1.4) + zeitwerk (~> 2.6) + erubi (1.12.0) + extlz4 (0.3.4) + ffi (1.16.3) + globalid (1.2.1) + activesupport (>= 6.1) + google-protobuf (3.25.2-aarch64-linux) + google-protobuf (3.25.2-x86_64-linux) + grape (2.0.0) + activesupport (>= 5) + builder + dry-types (>= 1.1) + mustermann-grape (~> 1.0.0) + rack (>= 1.3.0) + rack-accept + hashdiff (1.1.0) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + json (2.7.1) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (5.0.0.1.0-x86_64-linux) + libddwaf (1.14.0.0.0-x86_64-linux) + ffi (~> 1.0) + loofah (2.22.0) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.8.1) + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.0.2) + memory_profiler (0.9.14) + method_source (1.0.0) + mini_mime (1.1.5) + minitest (5.22.0) + msgpack (1.7.2) + mustermann (3.0.0) + ruby2_keywords (~> 0.0.1) + mustermann-grape (1.0.2) + mustermann (>= 1.0.0) + net-imap (0.4.10) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.4.0.1) + net-protocol + nio4r (2.7.0) + nokogiri (1.16.2-aarch64-linux) + racc (~> 1.4) + nokogiri (1.16.2-x86_64-linux) + racc (~> 1.4) + os (1.1.4) + parallel (1.24.0) + parser (3.3.0.5) + 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.0.4) + racc (1.7.3) + rack (2.2.8) + rack-accept (0.4.5) + rack (>= 0.4) + rack-contrib (2.4.0) + rack (< 4) + rack-protection (3.2.0) + base64 (>= 0.1.0) + rack (~> 2.2, >= 2.2.4) + rack-test (2.1.0) + rack (>= 1.3) + rails (6.1.7.6) + actioncable (= 6.1.7.6) + actionmailbox (= 6.1.7.6) + actionmailer (= 6.1.7.6) + actionpack (= 6.1.7.6) + actiontext (= 6.1.7.6) + actionview (= 6.1.7.6) + activejob (= 6.1.7.6) + activemodel (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) + bundler (>= 1.15.0) + railties (= 6.1.7.6) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + railties (6.1.7.6) + actionpack (= 6.1.7.6) + activesupport (= 6.1.7.6) + method_source + rake (>= 12.2) + thor (~> 1.0) + rainbow (3.1.1) + rake (13.1.0) + rake-compiler (1.2.7) + rake + redcarpet (3.6.0) + regexp_parser (2.9.0) + rexml (3.2.6) + 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.0) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.0) + rspec-wait (0.0.9) + rspec (>= 3, < 4) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rspec_n (1.5.0) + colorize (~> 0.8.0) + cri (~> 2.15.3) + 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.20.0) + rubocop (~> 1.41) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-performance (1.20.2) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.30.0, < 2.0) + rubocop-rspec (2.20.0) + rubocop (~> 1.33) + rubocop-capybara (~> 2.17) + ruby-progressbar (1.13.0) + ruby2_keywords (0.0.5) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.4) + sinatra (3.2.0) + mustermann (~> 3.0) + rack (~> 2.2, >= 2.2.4) + rack-protection (= 3.2.0) + tilt (~> 2.0) + sprockets (4.2.1) + concurrent-ruby (~> 1.0) + rack (>= 2.2.4, < 4) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + sprockets (>= 3.0.0) + thor (1.3.0) + tilt (2.3.0) + timeout (0.4.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (2.5.0) + warning (1.3.0) + webmock (3.19.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + webrick (1.8.1) + websocket-driver (0.7.6) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + yard (0.9.34) + zeitwerk (2.6.12) + +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 + ddtrace! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + google-protobuf (~> 3.0, != 3.7.1, != 3.7.0) + grape + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-byebug + pry-stack_explorer + rack-contrib + rack-test + rails (~> 6.1.0) + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + redcarpet (~> 3.4) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rspec_n (~> 1.3) + 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) + sinatra (>= 3) + warning (~> 1) + webmock (>= 3.10.0) + webrick (>= 1.7.0) + yard (~> 0.9) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_3.2_multi_rack_app.gemfile b/gemfiles/ruby_3.2_multi_rack_app.gemfile new file mode 100644 index 00000000000..d5deb903244 --- /dev/null +++ b/gemfiles/ruby_3.2_multi_rack_app.gemfile @@ -0,0 +1,48 @@ +# 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 "redcarpet", "~> 3.4" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "rspec_n", "~> 1.3" +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 "webrick", ">= 1.7.0" +gem "yard", "~> 0.9" +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 "sinatra", ">= 3" +gem "rack-contrib" +gem "rack-test" +gem "grape" +gem "rails", "~> 6.1.0" + +group :check do + +end + +gemspec path: "../" diff --git a/gemfiles/ruby_3.2_multi_rack_app.gemfile.lock b/gemfiles/ruby_3.2_multi_rack_app.gemfile.lock new file mode 100644 index 00000000000..1901570110e --- /dev/null +++ b/gemfiles/ruby_3.2_multi_rack_app.gemfile.lock @@ -0,0 +1,374 @@ +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: + ddtrace (1.20.0) + datadog-ci (~> 0.7.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 5.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + actioncable (6.1.7.6) + actionpack (= 6.1.7.6) + activesupport (= 6.1.7.6) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (6.1.7.6) + actionpack (= 6.1.7.6) + activejob (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) + mail (>= 2.7.1) + actionmailer (6.1.7.6) + actionpack (= 6.1.7.6) + actionview (= 6.1.7.6) + activejob (= 6.1.7.6) + activesupport (= 6.1.7.6) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (6.1.7.6) + actionview (= 6.1.7.6) + activesupport (= 6.1.7.6) + rack (~> 2.0, >= 2.0.9) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (6.1.7.6) + actionpack (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) + nokogiri (>= 1.8.5) + actionview (6.1.7.6) + activesupport (= 6.1.7.6) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (6.1.7.6) + activesupport (= 6.1.7.6) + globalid (>= 0.3.6) + activemodel (6.1.7.6) + activesupport (= 6.1.7.6) + activerecord (6.1.7.6) + activemodel (= 6.1.7.6) + activesupport (= 6.1.7.6) + activestorage (6.1.7.6) + actionpack (= 6.1.7.6) + activejob (= 6.1.7.6) + activerecord (= 6.1.7.6) + activesupport (= 6.1.7.6) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (6.1.7.6) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + base64 (0.2.0) + benchmark-ips (2.13.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.6) + binding_of_caller (1.0.0) + debug_inspector (>= 0.0.1) + builder (3.2.4) + climate_control (0.2.0) + coderay (1.1.3) + colorize (0.8.1) + concurrent-ruby (1.2.3) + crack (0.4.6) + bigdecimal + rexml + crass (1.0.6) + cri (2.15.11) + datadog-ci (0.7.0) + msgpack + date (3.3.4) + debase-ruby_core_source (3.3.1) + debug_inspector (1.2.0) + diff-lcs (1.5.1) + docile (1.4.0) + dogstatsd-ruby (5.6.1) + dry-core (1.0.1) + concurrent-ruby (~> 1.0) + zeitwerk (~> 2.6) + dry-inflector (1.0.0) + dry-logic (1.5.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0, < 2) + zeitwerk (~> 2.6) + dry-types (1.7.2) + bigdecimal (~> 3.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0) + dry-inflector (~> 1.0) + dry-logic (~> 1.4) + zeitwerk (~> 2.6) + erubi (1.12.0) + extlz4 (0.3.4) + ffi (1.16.3) + globalid (1.2.1) + activesupport (>= 6.1) + google-protobuf (3.25.2-aarch64-linux) + google-protobuf (3.25.2-x86_64-linux) + grape (2.0.0) + activesupport (>= 5) + builder + dry-types (>= 1.1) + mustermann-grape (~> 1.0.0) + rack (>= 1.3.0) + rack-accept + hashdiff (1.1.0) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + json (2.7.1) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (5.0.0.1.0-aarch64-linux) + libdatadog (5.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) + loofah (2.22.0) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.8.1) + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.0.2) + memory_profiler (0.9.14) + method_source (1.0.0) + mini_mime (1.1.5) + minitest (5.22.0) + msgpack (1.7.2) + mustermann (3.0.0) + ruby2_keywords (~> 0.0.1) + mustermann-grape (1.0.2) + mustermann (>= 1.0.0) + net-imap (0.4.10) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.4.0.1) + net-protocol + nio4r (2.7.0) + nokogiri (1.16.2-aarch64-linux) + racc (~> 1.4) + nokogiri (1.16.2-x86_64-linux) + racc (~> 1.4) + os (1.1.4) + parallel (1.24.0) + parser (3.3.0.5) + 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 (5.0.4) + racc (1.7.3) + rack (2.2.8) + rack-accept (0.4.5) + rack (>= 0.4) + rack-contrib (2.4.0) + rack (< 4) + rack-protection (3.2.0) + base64 (>= 0.1.0) + rack (~> 2.2, >= 2.2.4) + rack-test (2.1.0) + rack (>= 1.3) + rails (6.1.7.6) + actioncable (= 6.1.7.6) + actionmailbox (= 6.1.7.6) + actionmailer (= 6.1.7.6) + actionpack (= 6.1.7.6) + actiontext (= 6.1.7.6) + actionview (= 6.1.7.6) + activejob (= 6.1.7.6) + activemodel (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) + bundler (>= 1.15.0) + railties (= 6.1.7.6) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + railties (6.1.7.6) + actionpack (= 6.1.7.6) + activesupport (= 6.1.7.6) + method_source + rake (>= 12.2) + thor (~> 1.0) + rainbow (3.1.1) + rake (13.1.0) + rake-compiler (1.2.7) + rake + redcarpet (3.6.0) + regexp_parser (2.9.0) + rexml (3.2.6) + 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.0) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.0) + rspec-wait (0.0.9) + rspec (>= 3, < 4) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rspec_n (1.5.0) + colorize (~> 0.8.0) + cri (~> 2.15.3) + 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.20.0) + rubocop (~> 1.41) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-performance (1.20.2) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.30.0, < 2.0) + rubocop-rspec (2.20.0) + rubocop (~> 1.33) + rubocop-capybara (~> 2.17) + ruby-progressbar (1.13.0) + ruby2_keywords (0.0.5) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.4) + sinatra (3.2.0) + mustermann (~> 3.0) + rack (~> 2.2, >= 2.2.4) + rack-protection (= 3.2.0) + tilt (~> 2.0) + sprockets (4.2.1) + concurrent-ruby (~> 1.0) + rack (>= 2.2.4, < 4) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + sprockets (>= 3.0.0) + thor (1.3.0) + tilt (2.3.0) + timeout (0.4.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (2.5.0) + warning (1.3.0) + webmock (3.19.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + webrick (1.8.1) + websocket-driver (0.7.6) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + yard (0.9.34) + zeitwerk (2.6.13) + +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 + ddtrace! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + google-protobuf (~> 3.0, != 3.7.1, != 3.7.0) + grape + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-stack_explorer + rack-contrib + rack-test + rails (~> 6.1.0) + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + redcarpet (~> 3.4) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rspec_n (~> 1.3) + 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) + sinatra (>= 3) + warning (~> 1) + webmock (>= 3.10.0) + webrick (>= 1.7.0) + yard (~> 0.9) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_3.3_multi_rack_app.gemfile b/gemfiles/ruby_3.3_multi_rack_app.gemfile new file mode 100644 index 00000000000..d5deb903244 --- /dev/null +++ b/gemfiles/ruby_3.3_multi_rack_app.gemfile @@ -0,0 +1,48 @@ +# 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 "redcarpet", "~> 3.4" +gem "rspec", "~> 3.12" +gem "rspec-collection_matchers", "~> 1.1" +gem "rspec-wait", "~> 0" +gem "rspec_junit_formatter", ">= 0.5.1" +gem "rspec_n", "~> 1.3" +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 "webrick", ">= 1.7.0" +gem "yard", "~> 0.9" +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 "sinatra", ">= 3" +gem "rack-contrib" +gem "rack-test" +gem "grape" +gem "rails", "~> 6.1.0" + +group :check do + +end + +gemspec path: "../" diff --git a/gemfiles/ruby_3.3_multi_rack_app.gemfile.lock b/gemfiles/ruby_3.3_multi_rack_app.gemfile.lock new file mode 100644 index 00000000000..d8ff8e4c3f2 --- /dev/null +++ b/gemfiles/ruby_3.3_multi_rack_app.gemfile.lock @@ -0,0 +1,373 @@ +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: + ddtrace (1.20.0) + datadog-ci (~> 0.7.0) + debase-ruby_core_source (= 3.3.1) + libdatadog (~> 5.0.0.1.0) + libddwaf (~> 1.14.0.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + actioncable (6.1.7.6) + actionpack (= 6.1.7.6) + activesupport (= 6.1.7.6) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (6.1.7.6) + actionpack (= 6.1.7.6) + activejob (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) + mail (>= 2.7.1) + actionmailer (6.1.7.6) + actionpack (= 6.1.7.6) + actionview (= 6.1.7.6) + activejob (= 6.1.7.6) + activesupport (= 6.1.7.6) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (6.1.7.6) + actionview (= 6.1.7.6) + activesupport (= 6.1.7.6) + rack (~> 2.0, >= 2.0.9) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (6.1.7.6) + actionpack (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) + nokogiri (>= 1.8.5) + actionview (6.1.7.6) + activesupport (= 6.1.7.6) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (6.1.7.6) + activesupport (= 6.1.7.6) + globalid (>= 0.3.6) + activemodel (6.1.7.6) + activesupport (= 6.1.7.6) + activerecord (6.1.7.6) + activemodel (= 6.1.7.6) + activesupport (= 6.1.7.6) + activestorage (6.1.7.6) + actionpack (= 6.1.7.6) + activejob (= 6.1.7.6) + activerecord (= 6.1.7.6) + activesupport (= 6.1.7.6) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (6.1.7.6) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + base64 (0.2.0) + benchmark-ips (2.13.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + bigdecimal (3.1.6) + binding_of_caller (1.0.0) + debug_inspector (>= 0.0.1) + builder (3.2.4) + climate_control (0.2.0) + coderay (1.1.3) + colorize (0.8.1) + concurrent-ruby (1.2.3) + crack (0.4.6) + bigdecimal + rexml + crass (1.0.6) + cri (2.15.11) + datadog-ci (0.7.0) + msgpack + date (3.3.4) + debase-ruby_core_source (3.3.1) + debug_inspector (1.2.0) + diff-lcs (1.5.1) + docile (1.4.0) + dogstatsd-ruby (5.6.1) + dry-core (1.0.1) + concurrent-ruby (~> 1.0) + zeitwerk (~> 2.6) + dry-inflector (1.0.0) + dry-logic (1.5.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0, < 2) + zeitwerk (~> 2.6) + dry-types (1.7.2) + bigdecimal (~> 3.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0) + dry-inflector (~> 1.0) + dry-logic (~> 1.4) + zeitwerk (~> 2.6) + erubi (1.12.0) + extlz4 (0.3.4) + ffi (1.16.3) + globalid (1.2.1) + activesupport (>= 6.1) + google-protobuf (3.25.2) + grape (2.0.0) + activesupport (>= 5) + builder + dry-types (>= 1.1) + mustermann-grape (~> 1.0.0) + rack (>= 1.3.0) + rack-accept + hashdiff (1.1.0) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + json (2.7.1) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (5.0.0.1.0-aarch64-linux) + libdatadog (5.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) + loofah (2.22.0) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.8.1) + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.0.2) + memory_profiler (0.9.14) + method_source (1.0.0) + mini_mime (1.1.5) + minitest (5.22.0) + msgpack (1.7.2) + mustermann (3.0.0) + ruby2_keywords (~> 0.0.1) + mustermann-grape (1.0.2) + mustermann (>= 1.0.0) + net-imap (0.4.10) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.4.0.1) + net-protocol + nio4r (2.7.0) + nokogiri (1.16.2-aarch64-linux) + racc (~> 1.4) + nokogiri (1.16.2-x86_64-linux) + racc (~> 1.4) + os (1.1.4) + parallel (1.24.0) + parser (3.3.0.5) + 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 (5.0.4) + racc (1.7.3) + rack (2.2.8) + rack-accept (0.4.5) + rack (>= 0.4) + rack-contrib (2.4.0) + rack (< 4) + rack-protection (3.2.0) + base64 (>= 0.1.0) + rack (~> 2.2, >= 2.2.4) + rack-test (2.1.0) + rack (>= 1.3) + rails (6.1.7.6) + actioncable (= 6.1.7.6) + actionmailbox (= 6.1.7.6) + actionmailer (= 6.1.7.6) + actionpack (= 6.1.7.6) + actiontext (= 6.1.7.6) + actionview (= 6.1.7.6) + activejob (= 6.1.7.6) + activemodel (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) + bundler (>= 1.15.0) + railties (= 6.1.7.6) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + railties (6.1.7.6) + actionpack (= 6.1.7.6) + activesupport (= 6.1.7.6) + method_source + rake (>= 12.2) + thor (~> 1.0) + rainbow (3.1.1) + rake (13.1.0) + rake-compiler (1.2.7) + rake + redcarpet (3.6.0) + regexp_parser (2.9.0) + rexml (3.2.6) + 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.0) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.0) + rspec-wait (0.0.9) + rspec (>= 3, < 4) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rspec_n (1.5.0) + colorize (~> 0.8.0) + cri (~> 2.15.3) + 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.20.0) + rubocop (~> 1.41) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-performance (1.20.2) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.30.0, < 2.0) + rubocop-rspec (2.20.0) + rubocop (~> 1.33) + rubocop-capybara (~> 2.17) + ruby-progressbar (1.13.0) + ruby2_keywords (0.0.5) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.4) + sinatra (3.2.0) + mustermann (~> 3.0) + rack (~> 2.2, >= 2.2.4) + rack-protection (= 3.2.0) + tilt (~> 2.0) + sprockets (4.2.1) + concurrent-ruby (~> 1.0) + rack (>= 2.2.4, < 4) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + sprockets (>= 3.0.0) + thor (1.3.0) + tilt (2.3.0) + timeout (0.4.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (2.5.0) + warning (1.3.0) + webmock (3.19.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + webrick (1.8.1) + websocket-driver (0.7.6) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + yard (0.9.34) + zeitwerk (2.6.13) + +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 + ddtrace! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + google-protobuf (~> 3.0, != 3.7.1, != 3.7.0) + grape + json-schema (< 3) + memory_profiler (~> 0.9) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-stack_explorer + rack-contrib + rack-test + rails (~> 6.1.0) + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + redcarpet (~> 3.4) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec-wait (~> 0) + rspec_junit_formatter (>= 0.5.1) + rspec_n (~> 1.3) + 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) + sinatra (>= 3) + warning (~> 1) + webmock (>= 3.10.0) + webrick (>= 1.7.0) + yard (~> 0.9) + +BUNDLED WITH + 2.3.26 diff --git a/lib/datadog/tracing/contrib/grape/endpoint.rb b/lib/datadog/tracing/contrib/grape/endpoint.rb index 3231b853074..3081660ccfb 100644 --- a/lib/datadog/tracing/contrib/grape/endpoint.rb +++ b/lib/datadog/tracing/contrib/grape/endpoint.rb @@ -94,6 +94,8 @@ def endpoint_run(name, start, finish, id, payload) span.set_error(payload[:exception_object]) if exception_is_error?(payload[:exception_object]) + integration_route = endpoint.env['grape.routing_args'][:route_info].pattern.origin + # override the current span with this notification values span.set_tag(Ext::TAG_ROUTE_ENDPOINT, api_view) unless api_view.nil? span.set_tag(Ext::TAG_ROUTE_PATH, path) @@ -101,6 +103,9 @@ def endpoint_run(name, start, finish, id, payload) span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_METHOD, request_method) span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_URL, path) + + trace.set_tag(Tracing::Metadata::Ext::HTTP::TAG_ROUTE, integration_route) + trace.set_tag(Tracing::Metadata::Ext::HTTP::TAG_ROUTE_PATH, endpoint.env['SCRIPT_NAME']) ensure span.start(start) span.finish(finish) diff --git a/lib/datadog/tracing/contrib/rack/middlewares.rb b/lib/datadog/tracing/contrib/rack/middlewares.rb index 59ce44bde78..d2811a6517a 100644 --- a/lib/datadog/tracing/contrib/rack/middlewares.rb +++ b/lib/datadog/tracing/contrib/rack/middlewares.rb @@ -66,6 +66,10 @@ def compute_queue_time(env) end end + # rubocop:disable Metrics/CyclomaticComplexity + # rubocop:disable Metrics/PerceivedComplexity + # rubocop:disable Metrics/MethodLength + # rubocop:disable Metrics/AbcSize def call(env) # Find out if this is rack within rack previous_request_span = env[Ext::RACK_ENV_REQUEST_SPAN] @@ -107,6 +111,30 @@ def call(env) # call the rest of the stack status, headers, response = @app.call(env) + + if status != 404 && (last_route = request_trace.get_tag(Tracing::Metadata::Ext::HTTP::TAG_ROUTE)) + last_script_name = request_trace.get_tag(Tracing::Metadata::Ext::HTTP::TAG_ROUTE_PATH) + + # If the last_script_name is empty but the env['SCRIPT_NAME'] is NOT empty + # then the current rack request was not routed and must be accounted for + # which only happens in pure nested rack requests i.e /rack/rack/hello/world + # + # To account for the unaccounted nested rack requests of /rack/hello/world, + # we use 'PATH_INFO knowing that rack cannot have named parameters + if last_script_name == '' && env['SCRIPT_NAME'] != '' + last_script_name = last_route + last_route = env['PATH_INFO'] + end + + # Clear the route and route path tags from the request trace to avoid possibility of misplacement + request_trace.clear_tag(Tracing::Metadata::Ext::HTTP::TAG_ROUTE) + request_trace.clear_tag(Tracing::Metadata::Ext::HTTP::TAG_ROUTE_PATH) + + # Ensure tags are placed in rack.request span as desired + request_span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_ROUTE, last_script_name + last_route) + request_span.clear_tag(Tracing::Metadata::Ext::HTTP::TAG_ROUTE_PATH) + end + [status, headers, response] # rubocop:disable Lint/RescueException @@ -142,10 +170,6 @@ def call(env) end # rubocop:enable Lint/RescueException - # rubocop:disable Metrics/AbcSize - # rubocop:disable Metrics/CyclomaticComplexity - # rubocop:disable Metrics/PerceivedComplexity - # rubocop:disable Metrics/MethodLength def set_request_tags!(trace, request_span, env, status, headers, response, original_env) request_header_collection = Header::RequestHeaderCollection.new(env) diff --git a/lib/datadog/tracing/contrib/rails/patcher.rb b/lib/datadog/tracing/contrib/rails/patcher.rb index d5837adf171..e2d147cd0cb 100644 --- a/lib/datadog/tracing/contrib/rails/patcher.rb +++ b/lib/datadog/tracing/contrib/rails/patcher.rb @@ -5,11 +5,24 @@ require_relative 'middlewares' require_relative 'utils' require_relative '../semantic_logger/patcher' +require_relative 'ext' module Datadog module Tracing module Contrib module Rails + # Patcher to trace rails routing done by JourneyRouter + module JourneyRouterPatch + def find_routes(*args) + result = super + integration_route = result.first[2].path.spec.to_s.gsub(/\(\.:format\)/, '') if result.any? + request_trace = Tracing.active_trace || TraceOperation.new + request_trace.set_tag(Tracing::Metadata::Ext::HTTP::TAG_ROUTE, integration_route) + request_trace.set_tag(Tracing::Metadata::Ext::HTTP::TAG_ROUTE_PATH, args.first.env['SCRIPT_NAME']) + result + end + end + # Patcher enables patching of 'rails' module. module Patcher include Contrib::Patcher @@ -41,6 +54,9 @@ def before_initialize(app) # Sometimes we don't want to activate middleware e.g. OpenTracing, etc. add_middleware(app) if Datadog.configuration.tracing[:rails][:middleware] + # ActionDispatch::Journey is not available or incompatible in Rails < 4.2. + ActionDispatch::Journey::Router.prepend(JourneyRouterPatch) if Integration.version >= Gem::Version.new('4.2') + Rails::LogInjection.configure_log_tags(app.config) end end diff --git a/lib/datadog/tracing/contrib/sinatra/tracer.rb b/lib/datadog/tracing/contrib/sinatra/tracer.rb index 5b52e7649e7..e85f3ea6830 100644 --- a/lib/datadog/tracing/contrib/sinatra/tracer.rb +++ b/lib/datadog/tracing/contrib/sinatra/tracer.rb @@ -47,16 +47,16 @@ def route_eval configuration = Datadog.configuration.tracing[:sinatra] return super unless Tracing.enabled? - datadog_route = Sinatra::Env.route_path(env) + integration_route = Sinatra::Env.route_path(env) Tracing.trace( Ext::SPAN_ROUTE, service: configuration[:service_name], span_type: Tracing::Metadata::Ext::HTTP::TYPE_INBOUND, - resource: "#{request.request_method} #{datadog_route}", + resource: "#{request.request_method} #{integration_route}", ) do |span, trace| span.set_tag(Ext::TAG_APP_NAME, settings.name || settings.superclass.name) - span.set_tag(Ext::TAG_ROUTE_PATH, datadog_route) + span.set_tag(Ext::TAG_ROUTE_PATH, integration_route) if request.script_name && !request.script_name.empty? span.set_tag(Ext::TAG_SCRIPT_NAME, request.script_name) @@ -73,6 +73,10 @@ def route_eval Contrib::Analytics.set_measured(span) + _, path = env['sinatra.route'].split(' ', 2) + trace.set_tag(Tracing::Metadata::Ext::HTTP::TAG_ROUTE, path) + trace.set_tag(Tracing::Metadata::Ext::HTTP::TAG_ROUTE_PATH, env['SCRIPT_NAME']) + # binding.pry super end end diff --git a/lib/datadog/tracing/metadata/ext.rb b/lib/datadog/tracing/metadata/ext.rb index e8d2a6f0ed2..a2c944bd1b9 100644 --- a/lib/datadog/tracing/metadata/ext.rb +++ b/lib/datadog/tracing/metadata/ext.rb @@ -86,6 +86,8 @@ module HTTP TYPE_TEMPLATE = 'template' TAG_CLIENT_IP = 'http.client_ip' HEADER_USER_AGENT = 'User-Agent' + TAG_ROUTE = 'http.route' + TAG_ROUTE_PATH = 'http.route.path' # General header functionality module Headers diff --git a/sig/datadog/tracing/metadata/ext.rbs b/sig/datadog/tracing/metadata/ext.rbs index aeca3b827a1..f5a236abffc 100644 --- a/sig/datadog/tracing/metadata/ext.rbs +++ b/sig/datadog/tracing/metadata/ext.rbs @@ -42,6 +42,8 @@ module Datadog ERROR_RANGE: ::Range[::Integer] TAG_BASE_URL: ::String TAG_METHOD: ::String + TAG_ROUTE: String + TAG_ROUTE_PATH: String TAG_STATUS_CODE: ::String TAG_USER_AGENT: ::String TAG_URL: ::String diff --git a/spec/datadog/core/environment/execution_spec.rb b/spec/datadog/core/environment/execution_spec.rb index 85bf70010e4..655a4a2a2ec 100644 --- a/spec/datadog/core/environment/execution_spec.rb +++ b/spec/datadog/core/environment/execution_spec.rb @@ -115,6 +115,7 @@ def test_it_does_something_useful gemfile(true) do source 'https://rubygems.org' gem 'spring', '>= 2.0.2' + gem 'concurrent-ruby', '#{Gem.loaded_specs['concurrent-ruby'].version}' end # Load the `bin/spring` file, just like a real Spring application would. diff --git a/spec/datadog/tracing/contrib/http_route_spec.rb b/spec/datadog/tracing/contrib/http_route_spec.rb new file mode 100644 index 00000000000..924db954d96 --- /dev/null +++ b/spec/datadog/tracing/contrib/http_route_spec.rb @@ -0,0 +1,332 @@ +require 'datadog/tracing/contrib/support/spec_helper' + +require 'grape' +require 'rack/test' +require 'sinatra' +require 'rails' +require 'action_controller' + +require 'ddtrace' + +RSpec.describe 'Multi-app testing for http.route' do + include Rack::Test::Methods + + let(:options) { {} } + + before do + Datadog.configure do |c| + c.tracing.instrument :sinatra, options + c.tracing.instrument :rack, options + c.tracing.instrument :grape, options + c.tracing.instrument :rails, options + end + end + + after do + Datadog.registry[:sinatra].reset_configuration! + Datadog.registry[:rack].reset_configuration! + Datadog.registry[:grape].reset_configuration! + Datadog.registry[:rails].reset_configuration! + end + + shared_context 'multi-app' do + let(:app) do + apps_to_build = apps + + Rack::Builder.new do + apps_to_build.each do |route, app| + map route do + run app + end + end + end.to_app + end + + let(:apps) do + { + '/' => rack_app, + '/rack' => rack_app, + '/sinatra' => sinatra_app, + '/grape' => grape_app, + '/rails' => rails_app, + '/rack/rack' => rack_app, + '/rack/sinatra' => sinatra_app, + '/rack/grape' => grape_app, + '/rack/rails' => rails_app + } + end + + let(:rack_app) do + Rack::Builder.new do + map '/hello/world' do + run ->(_env) { [200, { 'content-type' => 'text/plain' }, 'hello world'] } + end + end + end + + let(:sinatra_app) do + Class.new(Sinatra::Application) do + get '/hello/world' do + 'hello world' + end + + get '/hello/:id' do + "hello #{params[:id]}" + end + end + end + + let(:grape_app) do + Class.new(Grape::API) do + get '/hello/world' do + 'hello world' + end + get '/hello/:id' do + "hello #{params[:id]}" + end + end + end + + let(:rails_app) do + Class.new(Rails::Engine) do + routes.draw do + get '/hello/world' => 'hello#world' + get '/hello/:id' => 'hello#show' + end + end + end + + before do + stub_const( + 'HelloController', + Class.new(ActionController::Base) do + def world + render plain: 'Hello, world!' + end + + def show + render plain: "Hello, #{params[:id]}!" + end + end + ) + end + end + + context 'base routes' do + include_context 'multi-app' + + describe 'request to base app' do + subject(:response) { get '/hello/world' } + + it do + is_expected.to be_ok + spans.each do |span| + next unless span.name == Datadog::Tracing::Contrib::Rack::Ext::SPAN_REQUEST + + expect(span.get_tag('http.route')).to eq('/hello/world') + + break + end + end + end + + describe 'request to rack app' do + subject(:response) { get '/rack/hello/world' } + + it do + is_expected.to be_ok + spans.each do |span| + next unless span.name == Datadog::Tracing::Contrib::Rack::Ext::SPAN_REQUEST + + expect(span.get_tag('http.route')).to eq('/rack/hello/world') + + break + end + end + end + + describe 'request to sinatra app' do + subject(:response) { get '/sinatra/hello/world' } + + it do + is_expected.to be_ok + spans.each do |span| + next unless span.name == Datadog::Tracing::Contrib::Rack::Ext::SPAN_REQUEST + + expect(span.get_tag('http.route')).to eq('/sinatra/hello/world') + + break + end + end + end + + describe 'request to sinatra app w/param' do + subject(:response) { get '/sinatra/hello/7' } + + it do + is_expected.to be_ok + spans.each do |span| + next unless span.name == Datadog::Tracing::Contrib::Rack::Ext::SPAN_REQUEST + + expect(span.get_tag('http.route')).to eq('/sinatra/hello/:id') + + break + end + end + end + + describe 'request to grape app' do + subject(:response) { get '/grape/hello/world' } + + it do + is_expected.to be_ok + spans.each do |span| + next unless span.name == Datadog::Tracing::Contrib::Rack::Ext::SPAN_REQUEST + + expect(span.get_tag('http.route')).to eq('/grape/hello/world') + + break + end + end + end + + describe 'request to grape app w/param' do + subject(:response) { get '/grape/hello/7' } + + it do + is_expected.to be_ok + spans.each do |span| + next unless span.name == Datadog::Tracing::Contrib::Rack::Ext::SPAN_REQUEST + + expect(span.get_tag('http.route')).to eq('/grape/hello/:id') + + break + end + end + end + + describe 'request to rails app' do + subject(:response) { get '/rails/hello/world' } + + it do + is_expected.to be_ok + spans.each do |span| + next unless span.name == Datadog::Tracing::Contrib::Rack::Ext::SPAN_REQUEST + + expect(span.get_tag('http.route')).to eq('/rails/hello/world') + + break + end + end + end + + describe 'request to rails app w/param' do + subject(:response) { get '/rails/hello/7' } + + it do + is_expected.to be_ok + spans.each do |span| + next unless span.name == Datadog::Tracing::Contrib::Rack::Ext::SPAN_REQUEST + + expect(span.get_tag('http.route')).to eq('/rails/hello/:id') + + break + end + end + end + end + + context 'nested rack routes' do + include_context 'multi-app' + + describe 'request to nested sinatra app' do + subject(:response) { get '/rack/sinatra/hello/world' } + + it do + is_expected.to be_ok + spans.each do |span| + next unless span.name == Datadog::Tracing::Contrib::Rack::Ext::SPAN_REQUEST + + expect(span.get_tag('http.route')).to eq('/rack/sinatra/hello/world') + + break + end + end + end + + describe 'request to nested sinatra app w/param' do + subject(:response) { get '/rack/sinatra/hello/7' } + + it do + is_expected.to be_ok + spans.each do |span| + next unless span.name == Datadog::Tracing::Contrib::Rack::Ext::SPAN_REQUEST + + expect(span.get_tag('http.route')).to eq('/rack/sinatra/hello/:id') + + break + end + end + end + + describe 'request to nested grape app' do + subject(:response) { get '/rack/grape/hello/world' } + + it do + is_expected.to be_ok + spans.each do |span| + next unless span.name == Datadog::Tracing::Contrib::Rack::Ext::SPAN_REQUEST + + expect(span.get_tag('http.route')).to eq('/rack/grape/hello/world') + + break + end + end + end + + describe 'request to nested grape app w/param' do + subject(:response) { get '/rack/grape/hello/7' } + + it do + is_expected.to be_ok + spans.each do |span| + next unless span.name == Datadog::Tracing::Contrib::Rack::Ext::SPAN_REQUEST + + expect(span.get_tag('http.route')).to eq('/rack/grape/hello/:id') + + break + end + end + end + + describe 'request to nested rails app' do + subject(:response) { get '/rack/rails/hello/world' } + + it do + is_expected.to be_ok + spans.each do |span| + next unless span.name == Datadog::Tracing::Contrib::Rack::Ext::SPAN_REQUEST + + expect(span.get_tag('http.route')).to eq('/rack/rails/hello/world') + + break + end + end + end + + describe 'request to nested rails app w/param' do + subject(:response) { get '/rack/rails/hello/7' } + + it do + is_expected.to be_ok + spans.each do |span| + next unless span.name == Datadog::Tracing::Contrib::Rack::Ext::SPAN_REQUEST + + expect(span.get_tag('http.route')).to eq('/rack/rails/hello/:id') + + break + end + end + end + end +end diff --git a/spec/datadog/tracing/contrib/rails/rack_spec.rb b/spec/datadog/tracing/contrib/rails/rack_spec.rb index 19c3b687e9f..79471b94326 100644 --- a/spec/datadog/tracing/contrib/rails/rack_spec.rb +++ b/spec/datadog/tracing/contrib/rails/rack_spec.rb @@ -144,6 +144,7 @@ def internal_server_error expect(request_span.service).to eq(tracer.default_service) expect(request_span.resource).to eq('TestController#full') expect(request_span.get_tag('http.url')).to eq('/full') + expect(request_span.get_tag('http.route')).to eq('/full') if Rails.version >= '4.2' expect(request_span.get_tag('http.method')).to eq('GET') expect(request_span.get_tag('http.status_code')).to eq('200') expect(request_span).to be_measured @@ -379,6 +380,7 @@ def internal_server_error expect(request_span.span_type).to eq('web') expect(request_span.resource).to eq('TestController#error') expect(request_span.get_tag('http.url')).to eq('/error') + expect(request_span.get_tag('http.route')).to eq('/error') if Rails.version >= '4.2' expect(request_span.get_tag('http.method')).to eq('GET') expect(request_span.get_tag('http.status_code')).to eq('500') expect(request_span).to have_error @@ -414,6 +416,7 @@ def internal_server_error expect(request_span.span_type).to eq('web') expect(request_span.resource).to eq('TestController#soft_error') expect(request_span.get_tag('http.url')).to eq('/soft_error') + expect(request_span.get_tag('http.route')).to eq('/soft_error') if Rails.version >= '4.2' expect(request_span.get_tag('http.method')).to eq('GET') expect(request_span.get_tag('http.status_code')).to eq('520') expect(request_span).to have_error @@ -449,6 +452,7 @@ def internal_server_error expect(request_span.span_type).to eq('web') expect(request_span.resource).to eq('TestController#sub_error') expect(request_span.get_tag('http.url')).to eq('/sub_error') + expect(request_span.get_tag('http.route')).to eq('/sub_error') if Rails.version >= '4.2' expect(request_span.get_tag('http.method')).to eq('GET') expect(request_span.get_tag('http.status_code')).to eq('500') expect(request_span).to have_error