appmap 0.27.0 → 0.33.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.
- checksums.yaml +4 -4
- data/.gitignore +1 -3
- data/CHANGELOG.md +37 -0
- data/README.md +170 -29
- data/Rakefile +1 -1
- data/appmap.gemspec +1 -0
- data/exe/appmap +3 -1
- data/lib/appmap.rb +54 -38
- data/lib/appmap/algorithm/stats.rb +2 -1
- data/lib/appmap/class_map.rb +21 -28
- data/lib/appmap/command/record.rb +2 -61
- data/lib/appmap/config.rb +89 -0
- data/lib/appmap/cucumber.rb +89 -0
- data/lib/appmap/event.rb +28 -19
- data/lib/appmap/hook.rb +56 -128
- data/lib/appmap/hook/method.rb +78 -0
- data/lib/appmap/metadata.rb +62 -0
- data/lib/appmap/middleware/remote_recording.rb +2 -6
- data/lib/appmap/minitest.rb +141 -0
- data/lib/appmap/open.rb +57 -0
- data/lib/appmap/rails/action_handler.rb +7 -7
- data/lib/appmap/rails/sql_handler.rb +10 -8
- data/lib/appmap/railtie.rb +2 -2
- data/lib/appmap/record.rb +27 -0
- data/lib/appmap/rspec.rb +9 -37
- data/lib/appmap/trace.rb +18 -10
- data/lib/appmap/util.rb +59 -0
- data/lib/appmap/version.rb +1 -1
- data/package-lock.json +3 -3
- data/spec/abstract_controller4_base_spec.rb +1 -1
- data/spec/abstract_controller_base_spec.rb +9 -2
- data/spec/config_spec.rb +3 -3
- data/spec/fixtures/hook/compare.rb +7 -0
- data/spec/fixtures/hook/singleton_method.rb +54 -0
- data/spec/fixtures/rails_users_app/Gemfile +1 -0
- data/spec/fixtures/rails_users_app/features/api_users.feature +13 -0
- data/spec/fixtures/rails_users_app/features/support/env.rb +4 -0
- data/spec/fixtures/rails_users_app/features/support/hooks.rb +11 -0
- data/spec/fixtures/rails_users_app/features/support/steps.rb +18 -0
- data/spec/hook_spec.rb +228 -53
- data/spec/open_spec.rb +19 -0
- data/spec/rails_spec_helper.rb +2 -0
- data/spec/record_sql_rails_pg_spec.rb +56 -33
- data/spec/rspec_feature_metadata_spec.rb +2 -0
- data/spec/spec_helper.rb +4 -0
- data/spec/util_spec.rb +21 -0
- data/test/cli_test.rb +4 -4
- data/test/cucumber_test.rb +72 -0
- data/test/fixtures/cucumber4_recorder/Gemfile +5 -0
- data/test/fixtures/cucumber4_recorder/appmap.yml +3 -0
- data/test/fixtures/cucumber4_recorder/features/say_hello.feature +5 -0
- data/test/fixtures/cucumber4_recorder/features/support/env.rb +5 -0
- data/test/fixtures/cucumber4_recorder/features/support/hooks.rb +11 -0
- data/test/fixtures/cucumber4_recorder/features/support/steps.rb +9 -0
- data/test/fixtures/cucumber4_recorder/lib/hello.rb +7 -0
- data/test/fixtures/cucumber_recorder/Gemfile +5 -0
- data/test/fixtures/cucumber_recorder/appmap.yml +3 -0
- data/test/fixtures/cucumber_recorder/features/say_hello.feature +5 -0
- data/test/fixtures/cucumber_recorder/features/support/env.rb +5 -0
- data/test/fixtures/cucumber_recorder/features/support/hooks.rb +11 -0
- data/test/fixtures/cucumber_recorder/features/support/steps.rb +9 -0
- data/test/fixtures/cucumber_recorder/lib/hello.rb +7 -0
- data/test/fixtures/minitest_recorder/Gemfile +5 -0
- data/test/fixtures/minitest_recorder/appmap.yml +3 -0
- data/test/fixtures/minitest_recorder/lib/hello.rb +5 -0
- data/test/fixtures/minitest_recorder/test/hello_test.rb +12 -0
- data/test/fixtures/process_recorder/appmap.yml +3 -0
- data/test/fixtures/process_recorder/hello.rb +9 -0
- data/test/minitest_test.rb +38 -0
- data/test/record_process_test.rb +35 -0
- data/test/test_helper.rb +1 -0
- metadata +55 -3
- data/spec/fixtures/hook/class_method.rb +0 -17
@@ -0,0 +1,38 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'test_helper'
|
5
|
+
require 'English'
|
6
|
+
|
7
|
+
class MinitestTest < Minitest::Test
|
8
|
+
def perform_test(test_name)
|
9
|
+
Bundler.with_clean_env do
|
10
|
+
Dir.chdir 'test/fixtures/minitest_recorder' do
|
11
|
+
FileUtils.rm_rf 'tmp'
|
12
|
+
system 'bundle config --local local.appmap ../../..'
|
13
|
+
system 'bundle'
|
14
|
+
system({ 'APPMAP' => 'true' }, %(bundle exec ruby -Ilib -Itest test/#{test_name}_test.rb))
|
15
|
+
|
16
|
+
yield
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_hello
|
22
|
+
perform_test 'hello' do
|
23
|
+
appmap_file = 'tmp/appmap/minitest/Hello_hello.appmap.json'
|
24
|
+
|
25
|
+
assert File.file?(appmap_file), 'appmap output file does not exist'
|
26
|
+
appmap = JSON.parse(File.read(appmap_file))
|
27
|
+
assert_equal AppMap::APPMAP_FORMAT_VERSION, appmap['version']
|
28
|
+
assert_includes appmap.keys, 'metadata'
|
29
|
+
metadata = appmap['metadata']
|
30
|
+
assert_equal 'minitest_recorder', metadata['app']
|
31
|
+
assert_equal 'minitest', metadata['recorder']['name']
|
32
|
+
assert_equal 'ruby', metadata['language']['name']
|
33
|
+
assert_equal 'Hello', metadata['feature_group']
|
34
|
+
assert_equal 'hello', metadata['feature']
|
35
|
+
assert_equal 'Hello hello', metadata['name']
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'test_helper'
|
5
|
+
require 'English'
|
6
|
+
|
7
|
+
class RecordProcessTest < Minitest::Test
|
8
|
+
def perform_test(program_name)
|
9
|
+
Bundler.with_clean_env do
|
10
|
+
Dir.chdir 'test/fixtures/process_recorder' do
|
11
|
+
FileUtils.rm_rf 'tmp'
|
12
|
+
system 'bundle config --local local.appmap ../../..'
|
13
|
+
system 'bundle'
|
14
|
+
system(%(bundle exec ruby #{program_name}))
|
15
|
+
|
16
|
+
yield
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_hello
|
22
|
+
perform_test 'hello.rb' do
|
23
|
+
appmap_file = 'appmap.json'
|
24
|
+
|
25
|
+
assert File.file?(appmap_file), 'appmap output file does not exist'
|
26
|
+
appmap = JSON.parse(File.read(appmap_file))
|
27
|
+
assert_equal AppMap::APPMAP_FORMAT_VERSION, appmap['version']
|
28
|
+
assert_includes appmap.keys, 'metadata'
|
29
|
+
metadata = appmap['metadata']
|
30
|
+
assert_equal 'process_recorder', metadata['app']
|
31
|
+
assert_equal 'record_process', metadata['recorder']['name']
|
32
|
+
assert_equal 'ruby', metadata['language']['name']
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/test/test_helper.rb
CHANGED
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.
|
4
|
+
version: 0.33.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: 2020-
|
11
|
+
date: 2020-08-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rack
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: bundler
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -269,14 +283,22 @@ files:
|
|
269
283
|
- lib/appmap/class_map.rb
|
270
284
|
- lib/appmap/command/record.rb
|
271
285
|
- lib/appmap/command/stats.rb
|
286
|
+
- lib/appmap/config.rb
|
287
|
+
- lib/appmap/cucumber.rb
|
272
288
|
- lib/appmap/event.rb
|
273
289
|
- lib/appmap/hook.rb
|
290
|
+
- lib/appmap/hook/method.rb
|
291
|
+
- lib/appmap/metadata.rb
|
274
292
|
- lib/appmap/middleware/remote_recording.rb
|
293
|
+
- lib/appmap/minitest.rb
|
294
|
+
- lib/appmap/open.rb
|
275
295
|
- lib/appmap/rails/action_handler.rb
|
276
296
|
- lib/appmap/rails/sql_handler.rb
|
277
297
|
- lib/appmap/railtie.rb
|
298
|
+
- lib/appmap/record.rb
|
278
299
|
- lib/appmap/rspec.rb
|
279
300
|
- lib/appmap/trace.rb
|
301
|
+
- lib/appmap/util.rb
|
280
302
|
- lib/appmap/version.rb
|
281
303
|
- lore/pages/2019-05-21-install-and-record/index.pug
|
282
304
|
- lore/pages/2019-05-21-install-and-record/install_example_appmap.png
|
@@ -301,10 +323,11 @@ files:
|
|
301
323
|
- spec/abstract_controller_base_spec.rb
|
302
324
|
- spec/config_spec.rb
|
303
325
|
- spec/fixtures/hook/attr_accessor.rb
|
304
|
-
- spec/fixtures/hook/
|
326
|
+
- spec/fixtures/hook/compare.rb
|
305
327
|
- spec/fixtures/hook/constructor.rb
|
306
328
|
- spec/fixtures/hook/exception_method.rb
|
307
329
|
- spec/fixtures/hook/instance_method.rb
|
330
|
+
- spec/fixtures/hook/singleton_method.rb
|
308
331
|
- spec/fixtures/rack_users_app/.dockerignore
|
309
332
|
- spec/fixtures/rack_users_app/.gitignore
|
310
333
|
- spec/fixtures/rack_users_app/Dockerfile
|
@@ -436,6 +459,10 @@ files:
|
|
436
459
|
- spec/fixtures/rails_users_app/db/migrate/20190728211408_create_users.rb
|
437
460
|
- spec/fixtures/rails_users_app/db/schema.rb
|
438
461
|
- spec/fixtures/rails_users_app/docker-compose.yml
|
462
|
+
- spec/fixtures/rails_users_app/features/api_users.feature
|
463
|
+
- spec/fixtures/rails_users_app/features/support/env.rb
|
464
|
+
- spec/fixtures/rails_users_app/features/support/hooks.rb
|
465
|
+
- spec/fixtures/rails_users_app/features/support/steps.rb
|
439
466
|
- spec/fixtures/rails_users_app/lib/tasks/.keep
|
440
467
|
- spec/fixtures/rails_users_app/log/.keep
|
441
468
|
- spec/fixtures/rails_users_app/public/robots.txt
|
@@ -445,6 +472,7 @@ files:
|
|
445
472
|
- spec/fixtures/rails_users_app/spec/spec_helper.rb
|
446
473
|
- spec/fixtures/rails_users_app/users_app/.gitignore
|
447
474
|
- spec/hook_spec.rb
|
475
|
+
- spec/open_spec.rb
|
448
476
|
- spec/rails_spec_helper.rb
|
449
477
|
- spec/railtie_spec.rb
|
450
478
|
- spec/record_sql_rails4_pg_spec.rb
|
@@ -452,15 +480,39 @@ files:
|
|
452
480
|
- spec/remote_recording_spec.rb
|
453
481
|
- spec/rspec_feature_metadata_spec.rb
|
454
482
|
- spec/spec_helper.rb
|
483
|
+
- spec/util_spec.rb
|
455
484
|
- test/cli_test.rb
|
485
|
+
- test/cucumber_test.rb
|
456
486
|
- test/fixtures/cli_record_test/appmap.yml
|
457
487
|
- test/fixtures/cli_record_test/lib/cli_record_test/main.rb
|
488
|
+
- test/fixtures/cucumber4_recorder/Gemfile
|
489
|
+
- test/fixtures/cucumber4_recorder/appmap.yml
|
490
|
+
- test/fixtures/cucumber4_recorder/features/say_hello.feature
|
491
|
+
- test/fixtures/cucumber4_recorder/features/support/env.rb
|
492
|
+
- test/fixtures/cucumber4_recorder/features/support/hooks.rb
|
493
|
+
- test/fixtures/cucumber4_recorder/features/support/steps.rb
|
494
|
+
- test/fixtures/cucumber4_recorder/lib/hello.rb
|
495
|
+
- test/fixtures/cucumber_recorder/Gemfile
|
496
|
+
- test/fixtures/cucumber_recorder/appmap.yml
|
497
|
+
- test/fixtures/cucumber_recorder/features/say_hello.feature
|
498
|
+
- test/fixtures/cucumber_recorder/features/support/env.rb
|
499
|
+
- test/fixtures/cucumber_recorder/features/support/hooks.rb
|
500
|
+
- test/fixtures/cucumber_recorder/features/support/steps.rb
|
501
|
+
- test/fixtures/cucumber_recorder/lib/hello.rb
|
502
|
+
- test/fixtures/minitest_recorder/Gemfile
|
503
|
+
- test/fixtures/minitest_recorder/appmap.yml
|
504
|
+
- test/fixtures/minitest_recorder/lib/hello.rb
|
505
|
+
- test/fixtures/minitest_recorder/test/hello_test.rb
|
506
|
+
- test/fixtures/process_recorder/appmap.yml
|
507
|
+
- test/fixtures/process_recorder/hello.rb
|
458
508
|
- test/fixtures/rspec_recorder/Gemfile
|
459
509
|
- test/fixtures/rspec_recorder/appmap.yml
|
460
510
|
- test/fixtures/rspec_recorder/lib/hello.rb
|
461
511
|
- test/fixtures/rspec_recorder/spec/decorated_hello_spec.rb
|
462
512
|
- test/fixtures/rspec_recorder/spec/labeled_hello_spec.rb
|
463
513
|
- test/fixtures/rspec_recorder/spec/plain_hello_spec.rb
|
514
|
+
- test/minitest_test.rb
|
515
|
+
- test/record_process_test.rb
|
464
516
|
- test/rspec_test.rb
|
465
517
|
- test/test_helper.rb
|
466
518
|
homepage: https://github.com/applandinc/appmap-ruby
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
class ClassMethod
|
4
|
-
class << self
|
5
|
-
def say_default
|
6
|
-
'default'
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
def ClassMethod.say_class_defined
|
11
|
-
'defined with explicit class scope'
|
12
|
-
end
|
13
|
-
|
14
|
-
def self.say_self_defined
|
15
|
-
'defined with self class scope'
|
16
|
-
end
|
17
|
-
end
|