newrelic_rpm 9.3.0 → 9.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/.build_ignore +6 -1
  3. data/CHANGELOG.md +193 -6
  4. data/README.md +4 -0
  5. data/Rakefile +1 -1
  6. data/lib/new_relic/agent/attribute_pre_filtering.rb +109 -0
  7. data/lib/new_relic/agent/configuration/default_source.rb +177 -34
  8. data/lib/new_relic/agent/configuration/environment_source.rb +1 -1
  9. data/lib/new_relic/agent/distributed_tracing.rb +1 -1
  10. data/lib/new_relic/agent/http_clients/async_http_wrappers.rb +83 -0
  11. data/lib/new_relic/agent/http_clients/ethon_wrappers.rb +111 -0
  12. data/lib/new_relic/agent/http_clients/httpx_wrappers.rb +93 -0
  13. data/lib/new_relic/agent/instrumentation/action_controller_other_subscriber.rb +1 -1
  14. data/lib/new_relic/agent/instrumentation/active_record_helper.rb +1 -2
  15. data/lib/new_relic/agent/instrumentation/active_support_broadcast_logger/chain.rb +69 -0
  16. data/lib/new_relic/agent/instrumentation/active_support_broadcast_logger/instrumentation.rb +13 -0
  17. data/lib/new_relic/agent/instrumentation/active_support_broadcast_logger/prepend.rb +37 -0
  18. data/lib/new_relic/agent/instrumentation/active_support_broadcast_logger.rb +23 -0
  19. data/lib/new_relic/agent/instrumentation/active_support_logger/instrumentation.rb +4 -0
  20. data/lib/new_relic/agent/instrumentation/active_support_logger.rb +3 -1
  21. data/lib/new_relic/agent/instrumentation/async_http/chain.rb +23 -0
  22. data/lib/new_relic/agent/instrumentation/async_http/instrumentation.rb +37 -0
  23. data/lib/new_relic/agent/instrumentation/async_http/prepend.rb +15 -0
  24. data/lib/new_relic/agent/instrumentation/async_http.rb +26 -0
  25. data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +9 -0
  26. data/lib/new_relic/agent/instrumentation/concurrent_ruby/instrumentation.rb +2 -2
  27. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +1 -2
  28. data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +4 -0
  29. data/lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb +3 -0
  30. data/lib/new_relic/agent/instrumentation/elasticsearch/instrumentation.rb +4 -1
  31. data/lib/new_relic/agent/instrumentation/ethon/chain.rb +39 -0
  32. data/lib/new_relic/agent/instrumentation/ethon/instrumentation.rb +105 -0
  33. data/lib/new_relic/agent/instrumentation/ethon/prepend.rb +35 -0
  34. data/lib/new_relic/agent/instrumentation/ethon.rb +39 -0
  35. data/lib/new_relic/agent/instrumentation/excon/middleware.rb +3 -0
  36. data/lib/new_relic/agent/instrumentation/grape/instrumentation.rb +4 -0
  37. data/lib/new_relic/agent/instrumentation/grpc/client/instrumentation.rb +4 -0
  38. data/lib/new_relic/agent/instrumentation/grpc/server/instrumentation.rb +4 -0
  39. data/lib/new_relic/agent/instrumentation/grpc_client.rb +1 -1
  40. data/lib/new_relic/agent/instrumentation/grpc_server.rb +1 -1
  41. data/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb +4 -0
  42. data/lib/new_relic/agent/instrumentation/httprb/instrumentation.rb +4 -0
  43. data/lib/new_relic/agent/instrumentation/httpx/chain.rb +20 -0
  44. data/lib/new_relic/agent/instrumentation/httpx/instrumentation.rb +51 -0
  45. data/lib/new_relic/agent/instrumentation/httpx/prepend.rb +15 -0
  46. data/lib/new_relic/agent/instrumentation/httpx.rb +27 -0
  47. data/lib/new_relic/agent/instrumentation/logger/instrumentation.rb +3 -0
  48. data/lib/new_relic/agent/instrumentation/memcache/instrumentation.rb +9 -0
  49. data/lib/new_relic/agent/instrumentation/memcache.rb +2 -2
  50. data/lib/new_relic/agent/instrumentation/mongodb_command_subscriber.rb +1 -3
  51. data/lib/new_relic/agent/instrumentation/net_http/instrumentation.rb +5 -1
  52. data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +4 -0
  53. data/lib/new_relic/agent/instrumentation/padrino/instrumentation.rb +4 -0
  54. data/lib/new_relic/agent/instrumentation/queue_time.rb +1 -1
  55. data/lib/new_relic/agent/instrumentation/rack/instrumentation.rb +6 -0
  56. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +4 -0
  57. data/lib/new_relic/agent/instrumentation/rails_notifications/action_controller.rb +1 -0
  58. data/lib/new_relic/agent/instrumentation/rake/instrumentation.rb +4 -0
  59. data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +4 -0
  60. data/lib/new_relic/agent/instrumentation/resque/instrumentation.rb +4 -0
  61. data/lib/new_relic/agent/instrumentation/roda/chain.rb +43 -0
  62. data/lib/new_relic/agent/instrumentation/roda/ignorer.rb +45 -0
  63. data/lib/new_relic/agent/instrumentation/roda/instrumentation.rb +68 -0
  64. data/lib/new_relic/agent/instrumentation/roda/prepend.rb +24 -0
  65. data/lib/new_relic/agent/instrumentation/roda/roda_transaction_namer.rb +29 -0
  66. data/lib/new_relic/agent/instrumentation/roda.rb +36 -0
  67. data/lib/new_relic/agent/instrumentation/sequel.rb +1 -1
  68. data/lib/new_relic/agent/instrumentation/sidekiq/client.rb +4 -0
  69. data/lib/new_relic/agent/instrumentation/sidekiq/server.rb +26 -3
  70. data/lib/new_relic/agent/instrumentation/sidekiq.rb +5 -3
  71. data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +4 -0
  72. data/lib/new_relic/agent/instrumentation/sinatra/transaction_namer.rb +1 -3
  73. data/lib/new_relic/agent/instrumentation/stripe.rb +28 -0
  74. data/lib/new_relic/agent/instrumentation/stripe_subscriber.rb +77 -0
  75. data/lib/new_relic/agent/instrumentation/tilt/instrumentation.rb +4 -0
  76. data/lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb +5 -1
  77. data/lib/new_relic/agent/log_event_attributes.rb +1 -1
  78. data/lib/new_relic/agent/messaging.rb +2 -2
  79. data/lib/new_relic/agent/monitors/synthetics_monitor.rb +12 -1
  80. data/lib/new_relic/agent/new_relic_service.rb +33 -17
  81. data/lib/new_relic/agent/pipe_service.rb +1 -1
  82. data/lib/new_relic/agent/rules_engine.rb +1 -1
  83. data/lib/new_relic/agent/span_event_primitive.rb +16 -4
  84. data/lib/new_relic/agent/system_info.rb +26 -0
  85. data/lib/new_relic/agent/tracer.rb +5 -6
  86. data/lib/new_relic/agent/transaction/abstract_segment.rb +55 -0
  87. data/lib/new_relic/agent/transaction/external_request_segment.rb +5 -2
  88. data/lib/new_relic/agent/transaction/message_broker_segment.rb +1 -2
  89. data/lib/new_relic/agent/transaction/request_attributes.rb +46 -10
  90. data/lib/new_relic/agent/transaction.rb +30 -6
  91. data/lib/new_relic/agent/transaction_error_primitive.rb +16 -0
  92. data/lib/new_relic/agent/transaction_event_primitive.rb +19 -0
  93. data/lib/new_relic/agent/utilization/gcp.rb +1 -3
  94. data/lib/new_relic/agent/utilization/vendor.rb +5 -7
  95. data/lib/new_relic/agent.rb +19 -3
  96. data/lib/new_relic/cli/command.rb +1 -0
  97. data/lib/new_relic/constants.rb +3 -0
  98. data/lib/new_relic/control/class_methods.rb +1 -7
  99. data/lib/new_relic/control/frameworks/rails.rb +14 -2
  100. data/lib/new_relic/control/frameworks/roda.rb +20 -0
  101. data/lib/new_relic/language_support.rb +9 -0
  102. data/lib/new_relic/noticed_error.rb +5 -2
  103. data/lib/new_relic/rack/agent_hooks.rb +1 -1
  104. data/lib/new_relic/rack/agent_middleware.rb +0 -16
  105. data/lib/new_relic/rack/browser_monitoring.rb +1 -1
  106. data/lib/new_relic/supportability_helper.rb +1 -0
  107. data/lib/new_relic/version.rb +1 -1
  108. data/lib/tasks/bump_version.rake +1 -1
  109. data/lib/tasks/config.rake +3 -2
  110. data/lib/tasks/helpers/config.html.erb +93 -0
  111. data/lib/tasks/helpers/format.rb +11 -7
  112. data/lib/tasks/helpers/version_bump.rb +2 -2
  113. data/lib/tasks/instrumentation_generator/instrumentation.thor +3 -3
  114. data/lib/tasks/newrelicyml.rake +1 -1
  115. data/lib/tasks/tests.rake +71 -0
  116. data/newrelic.yml +103 -31
  117. data/newrelic_rpm.gemspec +12 -6
  118. data/test/agent_helper.rb +1027 -0
  119. metadata +63 -8
  120. data/lib/tasks/helpers/removers.rb +0 -33
  121. data/lib/tasks/multiverse.rake +0 -6
  122. data/lib/tasks/multiverse.rb +0 -76
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newrelic_rpm
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.3.0
4
+ version: 9.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanna McClure
@@ -11,8 +11,22 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2023-06-26 00:00:00.000000000 Z
14
+ date: 2023-10-30 00:00:00.000000000 Z
15
15
  dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: base64
18
+ requirement: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
16
30
  - !ruby/object:Gem::Dependency
17
31
  name: bundler
18
32
  requirement: !ruby/object:Gem::Requirement
@@ -69,6 +83,20 @@ dependencies:
69
83
  - - "~>"
70
84
  - !ruby/object:Gem::Version
71
85
  version: '1.16'
86
+ - !ruby/object:Gem::Dependency
87
+ name: rack
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
93
+ type: :development
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
72
100
  - !ruby/object:Gem::Dependency
73
101
  name: rake
74
102
  requirement: !ruby/object:Gem::Requirement
@@ -89,14 +117,14 @@ dependencies:
89
117
  requirements:
90
118
  - - '='
91
119
  - !ruby/object:Gem::Version
92
- version: '1.51'
120
+ version: '1.54'
93
121
  type: :development
94
122
  prerelease: false
95
123
  version_requirements: !ruby/object:Gem::Requirement
96
124
  requirements:
97
125
  - - '='
98
126
  - !ruby/object:Gem::Version
99
- version: '1.51'
127
+ version: '1.54'
100
128
  - !ruby/object:Gem::Dependency
101
129
  name: rubocop-ast
102
130
  requirement: !ruby/object:Gem::Requirement
@@ -241,6 +269,7 @@ files:
241
269
  - lib/new_relic/agent/agent_helpers/transmit.rb
242
270
  - lib/new_relic/agent/agent_logger.rb
243
271
  - lib/new_relic/agent/attribute_filter.rb
272
+ - lib/new_relic/agent/attribute_pre_filtering.rb
244
273
  - lib/new_relic/agent/attribute_processing.rb
245
274
  - lib/new_relic/agent/attributes.rb
246
275
  - lib/new_relic/agent/audit_logger.rb
@@ -302,10 +331,13 @@ files:
302
331
  - lib/new_relic/agent/heap.rb
303
332
  - lib/new_relic/agent/hostname.rb
304
333
  - lib/new_relic/agent/http_clients/abstract.rb
334
+ - lib/new_relic/agent/http_clients/async_http_wrappers.rb
305
335
  - lib/new_relic/agent/http_clients/curb_wrappers.rb
336
+ - lib/new_relic/agent/http_clients/ethon_wrappers.rb
306
337
  - lib/new_relic/agent/http_clients/excon_wrappers.rb
307
338
  - lib/new_relic/agent/http_clients/http_rb_wrappers.rb
308
339
  - lib/new_relic/agent/http_clients/httpclient_wrappers.rb
340
+ - lib/new_relic/agent/http_clients/httpx_wrappers.rb
309
341
  - lib/new_relic/agent/http_clients/net_http_wrappers.rb
310
342
  - lib/new_relic/agent/http_clients/typhoeus_wrappers.rb
311
343
  - lib/new_relic/agent/http_clients/uri_util.rb
@@ -331,11 +363,19 @@ files:
331
363
  - lib/new_relic/agent/instrumentation/active_storage.rb
332
364
  - lib/new_relic/agent/instrumentation/active_storage_subscriber.rb
333
365
  - lib/new_relic/agent/instrumentation/active_support.rb
366
+ - lib/new_relic/agent/instrumentation/active_support_broadcast_logger.rb
367
+ - lib/new_relic/agent/instrumentation/active_support_broadcast_logger/chain.rb
368
+ - lib/new_relic/agent/instrumentation/active_support_broadcast_logger/instrumentation.rb
369
+ - lib/new_relic/agent/instrumentation/active_support_broadcast_logger/prepend.rb
334
370
  - lib/new_relic/agent/instrumentation/active_support_logger.rb
335
371
  - lib/new_relic/agent/instrumentation/active_support_logger/chain.rb
336
372
  - lib/new_relic/agent/instrumentation/active_support_logger/instrumentation.rb
337
373
  - lib/new_relic/agent/instrumentation/active_support_logger/prepend.rb
338
374
  - lib/new_relic/agent/instrumentation/active_support_subscriber.rb
375
+ - lib/new_relic/agent/instrumentation/async_http.rb
376
+ - lib/new_relic/agent/instrumentation/async_http/chain.rb
377
+ - lib/new_relic/agent/instrumentation/async_http/instrumentation.rb
378
+ - lib/new_relic/agent/instrumentation/async_http/prepend.rb
339
379
  - lib/new_relic/agent/instrumentation/bunny.rb
340
380
  - lib/new_relic/agent/instrumentation/bunny/chain.rb
341
381
  - lib/new_relic/agent/instrumentation/bunny/instrumentation.rb
@@ -359,6 +399,10 @@ files:
359
399
  - lib/new_relic/agent/instrumentation/elasticsearch/chain.rb
360
400
  - lib/new_relic/agent/instrumentation/elasticsearch/instrumentation.rb
361
401
  - lib/new_relic/agent/instrumentation/elasticsearch/prepend.rb
402
+ - lib/new_relic/agent/instrumentation/ethon.rb
403
+ - lib/new_relic/agent/instrumentation/ethon/chain.rb
404
+ - lib/new_relic/agent/instrumentation/ethon/instrumentation.rb
405
+ - lib/new_relic/agent/instrumentation/ethon/prepend.rb
362
406
  - lib/new_relic/agent/instrumentation/excon.rb
363
407
  - lib/new_relic/agent/instrumentation/excon/middleware.rb
364
408
  - lib/new_relic/agent/instrumentation/fiber.rb
@@ -388,6 +432,10 @@ files:
388
432
  - lib/new_relic/agent/instrumentation/httprb/chain.rb
389
433
  - lib/new_relic/agent/instrumentation/httprb/instrumentation.rb
390
434
  - lib/new_relic/agent/instrumentation/httprb/prepend.rb
435
+ - lib/new_relic/agent/instrumentation/httpx.rb
436
+ - lib/new_relic/agent/instrumentation/httpx/chain.rb
437
+ - lib/new_relic/agent/instrumentation/httpx/instrumentation.rb
438
+ - lib/new_relic/agent/instrumentation/httpx/prepend.rb
391
439
  - lib/new_relic/agent/instrumentation/ignore_actions.rb
392
440
  - lib/new_relic/agent/instrumentation/logger.rb
393
441
  - lib/new_relic/agent/instrumentation/logger/chain.rb
@@ -440,6 +488,12 @@ files:
440
488
  - lib/new_relic/agent/instrumentation/resque/helper.rb
441
489
  - lib/new_relic/agent/instrumentation/resque/instrumentation.rb
442
490
  - lib/new_relic/agent/instrumentation/resque/prepend.rb
491
+ - lib/new_relic/agent/instrumentation/roda.rb
492
+ - lib/new_relic/agent/instrumentation/roda/chain.rb
493
+ - lib/new_relic/agent/instrumentation/roda/ignorer.rb
494
+ - lib/new_relic/agent/instrumentation/roda/instrumentation.rb
495
+ - lib/new_relic/agent/instrumentation/roda/prepend.rb
496
+ - lib/new_relic/agent/instrumentation/roda/roda_transaction_namer.rb
443
497
  - lib/new_relic/agent/instrumentation/sequel.rb
444
498
  - lib/new_relic/agent/instrumentation/sequel_helper.rb
445
499
  - lib/new_relic/agent/instrumentation/sidekiq.rb
@@ -452,6 +506,8 @@ files:
452
506
  - lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb
453
507
  - lib/new_relic/agent/instrumentation/sinatra/prepend.rb
454
508
  - lib/new_relic/agent/instrumentation/sinatra/transaction_namer.rb
509
+ - lib/new_relic/agent/instrumentation/stripe.rb
510
+ - lib/new_relic/agent/instrumentation/stripe_subscriber.rb
455
511
  - lib/new_relic/agent/instrumentation/thread.rb
456
512
  - lib/new_relic/agent/instrumentation/thread/chain.rb
457
513
  - lib/new_relic/agent/instrumentation/thread/instrumentation.rb
@@ -571,6 +627,7 @@ files:
571
627
  - lib/new_relic/control/frameworks/rails3.rb
572
628
  - lib/new_relic/control/frameworks/rails4.rb
573
629
  - lib/new_relic/control/frameworks/rails_notifications.rb
630
+ - lib/new_relic/control/frameworks/roda.rb
574
631
  - lib/new_relic/control/frameworks/ruby.rb
575
632
  - lib/new_relic/control/frameworks/sinatra.rb
576
633
  - lib/new_relic/control/instance_methods.rb
@@ -611,7 +668,6 @@ files:
611
668
  - lib/tasks/helpers/matches.rb
612
669
  - lib/tasks/helpers/newrelicyml.rb
613
670
  - lib/tasks/helpers/prompt.rb
614
- - lib/tasks/helpers/removers.rb
615
671
  - lib/tasks/helpers/version_bump.rb
616
672
  - lib/tasks/install.rake
617
673
  - lib/tasks/instrumentation_generator/README.md
@@ -627,15 +683,14 @@ files:
627
683
  - lib/tasks/instrumentation_generator/templates/prepend.tt
628
684
  - lib/tasks/instrumentation_generator/templates/prepend_method.tt
629
685
  - lib/tasks/instrumentation_generator/templates/test.tt
630
- - lib/tasks/multiverse.rake
631
- - lib/tasks/multiverse.rb
632
686
  - lib/tasks/newrelic.rb
633
687
  - lib/tasks/newrelicyml.rake
634
688
  - lib/tasks/tests.rake
635
689
  - newrelic.yml
636
690
  - newrelic_rpm.gemspec
637
691
  - recipes/newrelic.rb
638
- homepage: https://github.com/newrelic/rpm
692
+ - test/agent_helper.rb
693
+ homepage: https://github.com/newrelic/newrelic-ruby-agent
639
694
  licenses:
640
695
  - Apache-2.0
641
696
  metadata:
@@ -1,33 +0,0 @@
1
- # This file is distributed under New Relic's license terms.
2
- # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
3
- # frozen_string_literal: true
4
-
5
- module Removers
6
- def remove_local_multiverse_databases
7
- list_databases_command = %(echo "show databases" | mysql -u root)
8
- databases = `#{list_databases_command}`.chomp!.split("\n").select { |s| s.include?('multiverse') }
9
- databases.each do |database|
10
- puts "Dropping #{database}"
11
- `echo "drop database #{database}" | mysql -u root`
12
- end
13
- rescue => error
14
- puts 'ERROR: Cannot get MySQL databases...'
15
- puts error.message
16
- end
17
-
18
- def remove_generated_gemfiles
19
- file_path = File.expand_path('test/multiverse/suites')
20
- Dir.glob(File.join(file_path, '**', 'Gemfile*')).each do |fn|
21
- puts "Removing #{fn.gsub(file_path, '.../suites')}"
22
- FileUtils.rm(fn)
23
- end
24
- end
25
-
26
- def remove_generated_gemfile_lockfiles
27
- file_path = File.expand_path('test/environments')
28
- Dir.glob(File.join(file_path, '**', 'Gemfile.lock')).each do |fn|
29
- puts "Removing #{fn.gsub(file_path, '.../environments')}"
30
- FileUtils.rm(fn)
31
- end
32
- end
33
- end
@@ -1,6 +0,0 @@
1
- # This file is distributed under New Relic's license terms.
2
- # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
3
- # frozen_string_literal: true
4
-
5
- # Guts of task are in a .rb file to allow requiring from external gems
6
- require "#{File.join(File.dirname(__FILE__))}/multiverse"
@@ -1,76 +0,0 @@
1
- # This file is distributed under New Relic's license terms.
2
- # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
3
- # frozen_string_literal: true
4
-
5
- #
6
- # Rake task for running Ruby agent multiverse tests. This file may be required
7
- # from third party gems. It is also used by the agent itself to run multiverse.
8
- #
9
- # Multiverse tests are grouped in (potentially multiverse) "suite" directories.
10
- # These suites are found by default under ./test/multiverse. That location can
11
- # be overridden with ENV['SUITES_DIRECTORY'].
12
- #
13
- # The first parameter to this task is a suite directory name to run. If
14
- # excluded, multiverse will run all suites it finds.
15
- #
16
- # Additional parameters are allowed to multiverse. Many parameters can be
17
- # combined.
18
- #
19
- # Some examples:
20
- #
21
- # # Runs ./test/multiverse/*
22
- # bundle exec rake test:multiverse
23
- #
24
- # # Runs ./test/multiverse/my_gem
25
- # bundle exec rake test:multiverse[my_gem]
26
- #
27
- # # With verbose logging and debugging via pry
28
- # bundle exec rake test:multiverse[my_gem,verbose,debug]
29
- #
30
- # # Runs only first set of gems defined in my_gem's Envfile
31
- # bundle exec rake test:multiverse[my_gem,env=0]
32
- #
33
- # # Runs tests matching the passed name (via Minitest's built-in filtering)
34
- # bundle exec rake test:multiverse[my_gem,name=MyGemTest]
35
- #
36
- # # Runs with a specific test seed
37
- # bundle exec rake test:multiverse[my_gem,seed=1337]
38
-
39
- require_relative 'helpers/removers'
40
- include Removers
41
-
42
- namespace :test do
43
- desc 'Run functional test suite for New Relic'
44
- task :multiverse, [:suite, :param1, :param2, :param3, :param4] => ['multiverse:env'] do |_, args|
45
- Multiverse::Runner.run(args.suite, Multiverse::Runner.parse_args(args))
46
- end
47
-
48
- namespace :multiverse do
49
- # task :prerequisites
50
-
51
- task :env do
52
- # ENV['SUITES_DIRECTORY'] = File.expand_path('../../test/multiverse/suites', __FILE__)
53
- require File.expand_path('../../../test/multiverse/lib/multiverse', __FILE__)
54
- end
55
-
56
- task :clobber do
57
- remove_local_multiverse_databases
58
- remove_generated_gemfiles
59
- remove_generated_gemfile_lockfiles
60
- end
61
-
62
- desc 'Clean cached gemfiles from Bundler.bundle_path'
63
- task :clean_gemfile_cache do
64
- glob = File.expand_path('multiverse-cache/Gemfile.*.lock', Bundler.bundle_path)
65
- File.delete(*Dir[glob])
66
- end
67
-
68
- task :prime, [:suite] => [:env] do |_, args|
69
- Multiverse::Runner.prime(args.suite, Multiverse::Runner.parse_args(args))
70
- end
71
-
72
- task :gem_manifest => :env do
73
- Multiverse::GemManifest.new.report
74
- end
75
- end
76
- end