appmap 0.66.1 → 0.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -0
  3. data/CHANGELOG.md +45 -0
  4. data/lib/appmap/builtin_hooks/json.yml +4 -0
  5. data/lib/appmap/builtin_hooks/net/http.yml +3 -0
  6. data/lib/appmap/builtin_hooks/openssl.yml +16 -0
  7. data/lib/appmap/builtin_hooks/yaml.yml +10 -0
  8. data/lib/appmap/command/agent_setup/validate.rb +8 -1
  9. data/lib/appmap/command/inspect.rb +0 -1
  10. data/lib/appmap/config.rb +157 -137
  11. data/lib/appmap/depends/api.rb +1 -1
  12. data/lib/appmap/depends/configuration.rb +0 -2
  13. data/lib/appmap/depends/util.rb +1 -1
  14. data/lib/appmap/event.rb +6 -2
  15. data/lib/appmap/gem_hooks/actionpack.yml +40 -0
  16. data/lib/appmap/gem_hooks/actionview.yml +13 -0
  17. data/lib/appmap/gem_hooks/activesupport.yml +12 -0
  18. data/lib/appmap/gem_hooks/cancancan.yml +6 -0
  19. data/lib/appmap/handler/net_http.rb +14 -12
  20. data/lib/appmap/handler/rails/request_handler.rb +4 -10
  21. data/lib/appmap/hook.rb +46 -30
  22. data/lib/appmap/minitest.rb +1 -0
  23. data/lib/appmap/rspec.rb +1 -0
  24. data/lib/appmap/swagger/configuration.rb +2 -0
  25. data/lib/appmap/util.rb +20 -2
  26. data/lib/appmap/version.rb +1 -1
  27. data/lib/appmap.rb +2 -2
  28. data/spec/config_spec.rb +207 -65
  29. data/spec/depends/api_spec.rb +3 -3
  30. data/spec/fixtures/config/missing_path_or_gem.yml +3 -0
  31. data/spec/rails_recording_spec.rb +1 -1
  32. data/spec/rails_spec_helper.rb +6 -1
  33. data/test/agent_setup_validate_test.rb +35 -8
  34. data/test/fixtures/mocha_mock_app/Gemfile +5 -0
  35. data/test/fixtures/mocha_mock_app/appmap.yml +5 -0
  36. data/test/fixtures/mocha_mock_app/lib/sheep.rb +5 -0
  37. data/test/fixtures/mocha_mock_app/test/sheep_test.rb +18 -0
  38. data/test/mock_compatibility_test.rb +45 -0
  39. metadata +17 -3
data/spec/config_spec.rb CHANGED
@@ -4,58 +4,7 @@ require 'rails_spec_helper'
4
4
  require 'appmap/config'
5
5
 
6
6
  describe AppMap::Config, docker: false do
7
- it 'loads from a Hash' do
8
- config_data = {
9
- exclude: [],
10
- name: 'test',
11
- packages: [
12
- {
13
- path: 'path-1'
14
- },
15
- {
16
- path: 'path-2',
17
- exclude: [ 'exclude-1' ]
18
- }
19
- ],
20
- functions: [
21
- {
22
- package: 'pkg',
23
- class: 'cls',
24
- function: 'fn',
25
- label: 'lbl'
26
- }
27
- ]
28
- }.deep_stringify_keys!
29
- config = AppMap::Config.load(config_data)
30
-
31
- config_expectation = {
32
- exclude: [],
33
- name: 'test',
34
- packages: [
35
- {
36
- path: 'path-1',
37
- handler_class: 'AppMap::Handler::Function'
38
- },
39
- {
40
- path: 'path-2',
41
- handler_class: 'AppMap::Handler::Function',
42
- exclude: [ 'exclude-1' ]
43
- }
44
- ],
45
- functions: [
46
- {
47
- package: 'pkg',
48
- class: 'cls',
49
- functions: [ :fn ],
50
- labels: ['lbl']
51
- }
52
- ]
53
- }.deep_stringify_keys!
54
-
55
- expect(config.to_h.deep_stringify_keys!).to eq(config_expectation)
56
- end
57
-
58
- it 'interprets a function in canonical name format' do
7
+ it 'loads as expected' do
59
8
  config_data = {
60
9
  name: 'test',
61
10
  packages: [],
@@ -67,20 +16,212 @@ describe AppMap::Config, docker: false do
67
16
  }.deep_stringify_keys!
68
17
  config = AppMap::Config.load(config_data)
69
18
 
70
- config_expectation = {
71
- exclude: [],
72
- name: 'test',
73
- packages: [],
74
- functions: [
19
+ expect(JSON.parse(JSON.generate(config.as_json))).to eq(JSON.parse(<<~FIXTURE))
20
+ {
21
+ "name": "test",
22
+ "appmap_dir": "tmp/appmap",
23
+ "packages": [
24
+ ],
25
+ "swagger_config": {
26
+ "project_name": null,
27
+ "project_version": "1.0",
28
+ "output_dir": "swagger",
29
+ "description": "Generate Swagger from AppMaps"
30
+ },
31
+ "depends_config": {
32
+ "base_dir": null,
33
+ "base_branches": [
34
+ "remotes/origin/main",
35
+ "remotes/origin/master"
36
+ ],
37
+ "test_file_patterns": [
38
+ "spec/**/*_spec.rb",
39
+ "test/**/*_test.rb"
40
+ ],
41
+ "dependent_tasks": [
42
+ "swagger"
43
+ ],
44
+ "description": "Bring AppMaps up to date with local file modifications, and updated derived data such as Swagger files",
45
+ "rspec_environment_method": "AppMap::Depends.test_env",
46
+ "minitest_environment_method": "AppMap::Depends.test_env",
47
+ "rspec_select_tests_method": "AppMap::Depends.select_rspec_tests",
48
+ "minitest_select_tests_method": "AppMap::Depends.select_minitest_tests",
49
+ "rspec_test_command_method": "AppMap::Depends.rspec_test_command",
50
+ "minitest_test_command_method": "AppMap::Depends.minitest_test_command"
51
+ },
52
+ "hook_paths": [
53
+ "pkg",
54
+ "#{Gem.loaded_specs['activesupport'].gem_dir}"
55
+ ],
56
+ "exclude": [
57
+ ],
58
+ "functions": [
75
59
  {
76
- package: 'pkg',
77
- class: 'cls',
78
- functions: [ :fn ],
60
+ "cls": "cls",
61
+ "target_methods": {
62
+ "package": "pkg",
63
+ "method_names": [
64
+ "fn"
65
+ ]
66
+ }
79
67
  }
80
- ]
81
- }.deep_stringify_keys!
82
-
83
- expect(config.to_h.deep_stringify_keys!).to eq(config_expectation)
68
+ ],
69
+ "builtin_hooks": {
70
+ "JSON::Ext::Parser": [
71
+ {
72
+ "package": "json",
73
+ "method_names": [
74
+ "parse"
75
+ ]
76
+ }
77
+ ],
78
+ "JSON::Ext::Generator::State": [
79
+ {
80
+ "package": "json",
81
+ "method_names": [
82
+ "generate"
83
+ ]
84
+ }
85
+ ],
86
+ "Net::HTTP": [
87
+ {
88
+ "package": "net/http",
89
+ "method_names": [
90
+ "request"
91
+ ]
92
+ }
93
+ ],
94
+ "OpenSSL::PKey::PKey": [
95
+ {
96
+ "package": "openssl",
97
+ "method_names": [
98
+ "sign"
99
+ ]
100
+ }
101
+ ],
102
+ "OpenSSL::X509::Request": [
103
+ {
104
+ "package": "openssl",
105
+ "method_names": [
106
+ "sign"
107
+ ]
108
+ },
109
+ {
110
+ "package": "openssl",
111
+ "method_names": [
112
+ "verify"
113
+ ]
114
+ }
115
+ ],
116
+ "OpenSSL::X509::Certificate": [
117
+ {
118
+ "package": "openssl",
119
+ "method_names": [
120
+ "sign"
121
+ ]
122
+ }
123
+ ],
124
+ "OpenSSL::PKCS5": [
125
+ {
126
+ "package": "openssl",
127
+ "method_names": [
128
+ "pbkdf2_hmac"
129
+ ]
130
+ },
131
+ {
132
+ "package": "openssl",
133
+ "method_names": [
134
+ "pbkdf2_hmac_sha1"
135
+ ]
136
+ }
137
+ ],
138
+ "OpenSSL::Cipher": [
139
+ {
140
+ "package": "openssl",
141
+ "method_names": [
142
+ "encrypt"
143
+ ]
144
+ },
145
+ {
146
+ "package": "openssl",
147
+ "method_names": [
148
+ "decrypt"
149
+ ]
150
+ }
151
+ ],
152
+ "Psych": [
153
+ {
154
+ "package": "yaml",
155
+ "method_names": [
156
+ "load"
157
+ ]
158
+ },
159
+ {
160
+ "package": "yaml",
161
+ "method_names": [
162
+ "load_stream"
163
+ ]
164
+ },
165
+ {
166
+ "package": "yaml",
167
+ "method_names": [
168
+ "parse"
169
+ ]
170
+ },
171
+ {
172
+ "package": "yaml",
173
+ "method_names": [
174
+ "parse_stream"
175
+ ]
176
+ },
177
+ {
178
+ "package": "yaml",
179
+ "method_names": [
180
+ "dump"
181
+ ]
182
+ },
183
+ {
184
+ "package": "yaml",
185
+ "method_names": [
186
+ "dump_stream"
187
+ ]
188
+ }
189
+ ]
190
+ },
191
+ "gem_hooks": {
192
+ "cls": [
193
+ {
194
+ "package": "pkg",
195
+ "method_names": [
196
+ "fn"
197
+ ]
198
+ }
199
+ ],
200
+ "ActiveSupport::Callbacks::CallbackSequence": [
201
+ {
202
+ "package": "activesupport",
203
+ "method_names": [
204
+ "invoke_before"
205
+ ]
206
+ },
207
+ {
208
+ "package": "activesupport",
209
+ "method_names": [
210
+ "invoke_after"
211
+ ]
212
+ }
213
+ ],
214
+ "ActiveSupport::SecurityUtils": [
215
+ {
216
+ "package": "activesupport",
217
+ "method_names": [
218
+ "secure_compare"
219
+ ]
220
+ }
221
+ ]
222
+ }
223
+ }
224
+ FIXTURE
84
225
  end
85
226
 
86
227
  context do
@@ -94,7 +235,8 @@ describe AppMap::Config, docker: false do
94
235
  expect(config.to_h).to eq(YAML.load(<<~CONFIG))
95
236
  :name: appmap-ruby
96
237
  :packages:
97
- - :path: lib
238
+ - :name: lib
239
+ :path: lib
98
240
  :handler_class: AppMap::Handler::Function
99
241
  :shallow: false
100
242
  :functions: []
@@ -93,9 +93,9 @@ describe 'Depends API' do
93
93
 
94
94
  test_report.clean_appmaps
95
95
 
96
- expect(File.exists?(new_spec_file)).to be_falsey
96
+ expect(File.exist?(new_spec_file)).to be_falsey
97
97
  ensure
98
- FileUtils.rm_f new_spec_file if File.exists?(new_spec_file)
98
+ FileUtils.rm_f new_spec_file if File.exist?(new_spec_file)
99
99
  FileUtils.rm_rf new_spec_file.split('.')[0]
100
100
  end
101
101
  end
@@ -104,7 +104,7 @@ describe 'Depends API' do
104
104
  describe '.run_tests' do
105
105
  def run_tests
106
106
  Dir.chdir 'spec/fixtures/depends' do
107
- api.run_tests([ 'spec/actual_rspec_test.rb', 'test/actual_minitest_test.rb' ], appmap_dir: Pathname.new(DEPENDS_TEST_DIR).expand_path.to_s)
107
+ api.run_tests([ 'spec/actual_rspec_test.rb', 'test/actual_minitest_test.rb' ], appmap_dir: Pathname.new('.').expand_path.to_s)
108
108
  end
109
109
  end
110
110
 
@@ -0,0 +1,3 @@
1
+ name: name
2
+ packages:
3
+ - dogs: are friendly
@@ -58,7 +58,7 @@ describe 'Rails' do
58
58
  hash_including(
59
59
  'http_server_response' => hash_including(
60
60
  'status_code' => 201,
61
- 'mime_type' => 'application/json; charset=utf-8',
61
+ 'headers' => hash_including('Content-Type' => 'application/json; charset=utf-8'),
62
62
  )
63
63
  )
64
64
  )
@@ -5,9 +5,14 @@ require 'active_support'
5
5
  require 'active_support/core_ext'
6
6
  require 'open3'
7
7
 
8
+ # docker compose v2 replaced the --filter flag with --status
9
+ PS_CMD=`docker-compose --version` =~ /version v2/ ?
10
+ "docker-compose ps -q --status running" :
11
+ "docker-compose ps -q --filter health=healthy"
12
+
8
13
  def wait_for_container(app_name)
9
14
  start_time = Time.now
10
- until `docker-compose ps -q --filter health=healthy #{app_name}`.strip != ''
15
+ until `#{PS_CMD} #{app_name}`.strip != ''
11
16
  elapsed = Time.now - start_time
12
17
  raise "Timeout waiting for container #{app_name} to be ready" if elapsed > 10
13
18
 
@@ -2,27 +2,40 @@
2
2
 
3
3
  require 'test_helper'
4
4
 
5
+ schema_path = File.expand_path('../../config-schema.yml', __FILE__)
6
+ CONFIG_SCHEMA = YAML.safe_load(File.read(schema_path))
5
7
  class AgentSetupValidateTest < Minitest::Test
6
8
  NON_EXISTING_CONFIG_FILENAME = '123.yml'
7
9
  INVALID_YAML_CONFIG_FILENAME = 'spec/fixtures/config/invalid_yaml_config.yml'
8
10
  INVALID_CONFIG_FILENAME = 'spec/fixtures/config/invalid_config.yml'
11
+ MISSING_PATH_OR_GEM_CONFIG_FILENAME = 'spec/fixtures/config/missing_path_or_gem.yml'
9
12
 
13
+ def check_output(output, expected_errors)
14
+ expected = JSON.pretty_generate(
15
+ {
16
+ version: 2,
17
+ errors: expected_errors,
18
+ schema: CONFIG_SCHEMA
19
+ }
20
+ )
21
+ assert_equal(expected, output.strip)
22
+ end
23
+
10
24
  def test_init_when_config_exists
11
25
  output = `./exe/appmap-agent-validate`
12
26
  assert_equal 0, $CHILD_STATUS.exitstatus
13
- expected = JSON.pretty_generate([
27
+ check_output(output, [
14
28
  {
15
29
  level: :error,
16
30
  message: 'AppMap auto-configuration is currently not available for non Rails projects'
17
31
  }
18
32
  ])
19
- assert_equal expected, output.strip
20
33
  end
21
34
 
22
35
  def test_init_with_non_existing_config_file
23
36
  output = `./exe/appmap-agent-validate -c #{NON_EXISTING_CONFIG_FILENAME}`
24
37
  assert_equal 0, $CHILD_STATUS.exitstatus
25
- expected = JSON.pretty_generate([
38
+ check_output(output, [
26
39
  {
27
40
  level: :error,
28
41
  message: 'AppMap auto-configuration is currently not available for non Rails projects'
@@ -33,13 +46,12 @@ class AgentSetupValidateTest < Minitest::Test
33
46
  message: "AppMap configuration #{NON_EXISTING_CONFIG_FILENAME} file does not exist"
34
47
  }
35
48
  ])
36
- assert_equal expected, output.strip
37
49
  end
38
50
 
39
51
  def test_init_with_invalid_YAML
40
52
  output = `./exe/appmap-agent-validate -c #{INVALID_YAML_CONFIG_FILENAME}`
41
53
  assert_equal 0, $CHILD_STATUS.exitstatus
42
- expected = JSON.pretty_generate([
54
+ check_output(output, [
43
55
  {
44
56
  level: :error,
45
57
  message: 'AppMap auto-configuration is currently not available for non Rails projects'
@@ -52,13 +64,12 @@ class AgentSetupValidateTest < Minitest::Test
52
64
  'did not find expected key while parsing a block mapping at line 1 column 1'
53
65
  }
54
66
  ])
55
- assert_equal expected, output.strip
56
67
  end
57
68
 
58
69
  def test_init_with_invalid_data_config
59
70
  output = `./exe/appmap-agent-validate -c #{INVALID_CONFIG_FILENAME}`
60
71
  assert_equal 0, $CHILD_STATUS.exitstatus
61
- expected = JSON.pretty_generate([
72
+ check_output(output, [
62
73
  {
63
74
  level: :error,
64
75
  message: 'AppMap auto-configuration is currently not available for non Rails projects'
@@ -70,6 +81,22 @@ class AgentSetupValidateTest < Minitest::Test
70
81
  detailed_message: "no implicit conversion of String into Integer"
71
82
  }
72
83
  ])
73
- assert_equal expected, output.strip
84
+ end
85
+
86
+ def test_init_with_missing_package_key
87
+ output = `./exe/appmap-agent-validate -c #{MISSING_PATH_OR_GEM_CONFIG_FILENAME}`
88
+ assert_equal 0, $CHILD_STATUS.exitstatus
89
+ check_output(output, [
90
+ {
91
+ level: :error,
92
+ message: 'AppMap auto-configuration is currently not available for non Rails projects'
93
+ },
94
+ {
95
+ level: :error,
96
+ filename: MISSING_PATH_OR_GEM_CONFIG_FILENAME,
97
+ message: "AppMap configuration #{MISSING_PATH_OR_GEM_CONFIG_FILENAME} could not be loaded",
98
+ detailed_message: "AppMap config 'package' element should specify 'gem' or 'path'"
99
+ }
100
+ ])
74
101
  end
75
102
  end
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'appmap', git: 'applandinc/appmap-ruby', branch: `git rev-parse --abbrev-ref HEAD`.strip
4
+ gem 'minitest'
5
+ gem 'mocha'
@@ -0,0 +1,5 @@
1
+ name: mocha_mock_app
2
+ packages:
3
+ - path: lib
4
+ - gem: mocha
5
+ shallow: false
@@ -0,0 +1,5 @@
1
+ class Sheep
2
+ def baa
3
+ 'baa'
4
+ end
5
+ end
@@ -0,0 +1,18 @@
1
+ $LOAD_PATH.unshift File.expand_path('../lib', __dir__)
2
+
3
+ require 'minitest/autorun'
4
+
5
+ require 'appmap'
6
+ require 'appmap/minitest' if ENV['APPMAP_AUTOREQUIRE'] == 'false'
7
+
8
+ require 'sheep'
9
+ require 'mocha/minitest'
10
+
11
+ class SheepTest < Minitest::Test
12
+ def test_sheep
13
+ sheep = mock('sheep')
14
+ sheep.responds_like(Sheep.new)
15
+ sheep.expects(:baa).returns('baa')
16
+ sheep.baa
17
+ end
18
+ end
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'test_helper'
5
+
6
+ class MockCompatibilityTest < Minitest::Test
7
+ def perform_minitest_test(test_name, env = {})
8
+ Bundler.with_clean_env do
9
+ Dir.chdir 'test/fixtures/mocha_mock_app' do
10
+ FileUtils.rm_rf 'tmp'
11
+ system 'bundle config --local local.appmap ../../..'
12
+ system 'bundle'
13
+ system(env.merge({ 'APPMAP' => 'true' }), %(bundle exec ruby -Ilib -Itest test/#{test_name}_test.rb))
14
+
15
+ yield
16
+ end
17
+ end
18
+ end
19
+
20
+ def test_expectation
21
+ perform_minitest_test('sheep') do
22
+ appmap_file = 'tmp/appmap/minitest/Sheep_sheep.appmap.json'
23
+
24
+ assert File.file?(appmap_file), 'appmap output file does not exist'
25
+ appmap = JSON.parse(File.read(appmap_file))
26
+ assert_equal AppMap::APPMAP_FORMAT_VERSION, appmap['version']
27
+ assert_includes appmap.keys, 'metadata'
28
+ metadata = appmap['metadata']
29
+ assert_equal 'succeeded', metadata['test_status']
30
+ end
31
+ end
32
+
33
+ def test_expectation_without_autorequire
34
+ perform_minitest_test('sheep', 'APPMAP_AUTOREQUIRE' => 'false') do
35
+ appmap_file = 'tmp/appmap/minitest/Sheep_sheep.appmap.json'
36
+
37
+ assert File.file?(appmap_file), 'appmap output file does not exist'
38
+ appmap = JSON.parse(File.read(appmap_file))
39
+ assert_equal AppMap::APPMAP_FORMAT_VERSION, appmap['version']
40
+ assert_includes appmap.keys, 'metadata'
41
+ metadata = appmap['metadata']
42
+ assert_equal 'succeeded', metadata['test_status']
43
+ end
44
+ end
45
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appmap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.66.1
4
+ version: 0.68.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Gilpin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-09-29 00:00:00.000000000 Z
11
+ date: 2021-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -3405,6 +3405,10 @@ files:
3405
3405
  - ext/appmap/extconf.rb
3406
3406
  - lib/appmap.rb
3407
3407
  - lib/appmap/agent.rb
3408
+ - lib/appmap/builtin_hooks/json.yml
3409
+ - lib/appmap/builtin_hooks/net/http.yml
3410
+ - lib/appmap/builtin_hooks/openssl.yml
3411
+ - lib/appmap/builtin_hooks/yaml.yml
3408
3412
  - lib/appmap/class_map.rb
3409
3413
  - lib/appmap/command/agent_setup/init.rb
3410
3414
  - lib/appmap/command/agent_setup/status.rb
@@ -3423,6 +3427,10 @@ files:
3423
3427
  - lib/appmap/depends/test_runner.rb
3424
3428
  - lib/appmap/depends/util.rb
3425
3429
  - lib/appmap/event.rb
3430
+ - lib/appmap/gem_hooks/actionpack.yml
3431
+ - lib/appmap/gem_hooks/actionview.yml
3432
+ - lib/appmap/gem_hooks/activesupport.yml
3433
+ - lib/appmap/gem_hooks/cancancan.yml
3426
3434
  - lib/appmap/handler/function.rb
3427
3435
  - lib/appmap/handler/net_http.rb
3428
3436
  - lib/appmap/handler/rails/request_handler.rb
@@ -3462,6 +3470,7 @@ files:
3462
3470
  - spec/fixtures/config/incomplete_config.yml
3463
3471
  - spec/fixtures/config/invalid_config.yml
3464
3472
  - spec/fixtures/config/invalid_yaml_config.yml
3473
+ - spec/fixtures/config/missing_path_or_gem.yml
3465
3474
  - spec/fixtures/config/valid_config.yml
3466
3475
  - spec/fixtures/depends/.gitignore
3467
3476
  - spec/fixtures/depends/app/controllers/api/api_keys_controller.rb
@@ -3698,6 +3707,10 @@ files:
3698
3707
  - test/fixtures/minitest_recorder/appmap.yml
3699
3708
  - test/fixtures/minitest_recorder/lib/hello.rb
3700
3709
  - test/fixtures/minitest_recorder/test/hello_test.rb
3710
+ - test/fixtures/mocha_mock_app/Gemfile
3711
+ - test/fixtures/mocha_mock_app/appmap.yml
3712
+ - test/fixtures/mocha_mock_app/lib/sheep.rb
3713
+ - test/fixtures/mocha_mock_app/test/sheep_test.rb
3701
3714
  - test/fixtures/openssl_recorder/Gemfile
3702
3715
  - test/fixtures/openssl_recorder/appmap.yml
3703
3716
  - test/fixtures/openssl_recorder/lib/openssl_cert_sign.rb
@@ -3714,6 +3727,7 @@ files:
3714
3727
  - test/gem_test.rb
3715
3728
  - test/inspect_cli_test.rb
3716
3729
  - test/minitest_test.rb
3730
+ - test/mock_compatibility_test.rb
3717
3731
  - test/openssl_test.rb
3718
3732
  - test/record_process_test.rb
3719
3733
  - test/rspec_test.rb
@@ -3738,7 +3752,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
3738
3752
  - !ruby/object:Gem::Version
3739
3753
  version: '0'
3740
3754
  requirements: []
3741
- rubygems_version: 3.0.8
3755
+ rubygems_version: 3.0.6
3742
3756
  signing_key:
3743
3757
  specification_version: 4
3744
3758
  summary: Record the operation of a Ruby program, using the AppLand 'AppMap' format.