rbs 0.9.0 → 0.9.1
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/CHANGELOG.md +5 -0
- data/lib/rbs/test/setup.rb +11 -8
- data/lib/rbs/test/tester.rb +4 -2
- data/lib/rbs/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '094182e5d2602ec5ba9244068f67f854dfd5aa9c804fe48f2e943934da3e806b'
|
4
|
+
data.tar.gz: bbd2a02e2c79a092f3e3555337aebdb557301fd2dd712bc46bcfaaa3ae4f3ed5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8de689c6af71a94ef511cd5efc9b64d1277f99256e759ec58ad4185505831e3ca041a8555f454ea6700713a4f03a88caeed2104009b8915b9acf5c8b4e5ba53b
|
7
|
+
data.tar.gz: dec9ab30d0d1261897103b71c7203d3857c2cd4150ef145f3b8f3d005b7ba3f9daa947033a1db37c7f7aaf7530725f9129707d29def747fe9334a75acbcc9a16
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,11 @@
|
|
2
2
|
|
3
3
|
## master
|
4
4
|
|
5
|
+
## 0.9.1 (2020-08-04)
|
6
|
+
|
7
|
+
* Ensure using Module#name [#354](https://github.com/ruby/rbs/pull/354)
|
8
|
+
* Fix runtime test setup [#353](https://github.com/ruby/rbs/pull/353)
|
9
|
+
|
5
10
|
## 0.9.0 (2020-08-03)
|
6
11
|
|
7
12
|
* Fix signature validation [#351](https://github.com/ruby/rbs/pull/351), [#352](https://github.com/ruby/rbs/pull/352)
|
data/lib/rbs/test/setup.rb
CHANGED
@@ -9,15 +9,16 @@ logger = Logger.new(STDERR)
|
|
9
9
|
|
10
10
|
begin
|
11
11
|
opts = Shellwords.shellsplit(ENV["RBS_TEST_OPT"] || "-I sig")
|
12
|
-
filter = ENV.fetch('RBS_TEST_TARGET').split(',').map! { |e| e.strip }
|
12
|
+
filter = ENV.fetch('RBS_TEST_TARGET', "").split(',').map! { |e| e.strip }
|
13
13
|
skips = (ENV['RBS_TEST_SKIP'] || '').split(',').map! { |e| e.strip }
|
14
14
|
RBS.logger_level = (ENV["RBS_TEST_LOGLEVEL"] || "info")
|
15
15
|
sample_size = get_sample_size(ENV['RBS_TEST_SAMPLE_SIZE'] || '')
|
16
16
|
rescue InvalidSampleSizeError => exception
|
17
17
|
RBS.logger.error exception.message
|
18
18
|
exit 1
|
19
|
-
|
20
|
-
|
19
|
+
end
|
20
|
+
|
21
|
+
if filter.empty?
|
21
22
|
STDERR.puts "rbs/test/setup handles the following environment variables:"
|
22
23
|
STDERR.puts " [REQUIRED] RBS_TEST_TARGET: test target class name, `Foo::Bar,Foo::Baz` for each class or `Foo::*` for all classes under `Foo`"
|
23
24
|
STDERR.puts " [OPTIONAL] RBS_TEST_SKIP: skip testing classes"
|
@@ -50,12 +51,14 @@ end
|
|
50
51
|
|
51
52
|
tester = RBS::Test::Tester.new(env: env)
|
52
53
|
|
54
|
+
module_name = Module.instance_method(:name)
|
55
|
+
|
53
56
|
TracePoint.trace :end do |tp|
|
54
|
-
class_name = tp.self.
|
57
|
+
class_name = module_name.bind(tp.self).call&.yield_self {|name| to_absolute_typename name }
|
55
58
|
|
56
59
|
if class_name
|
57
60
|
if filter.any? {|f| match(to_absolute_typename(f).to_s, class_name.to_s) } && skips.none? {|f| match(f, class_name.to_s) }
|
58
|
-
|
61
|
+
unless tester.targets.include?(tp.self)
|
59
62
|
if env.class_decls.key?(class_name)
|
60
63
|
logger.info "Setting up hooks for #{class_name}"
|
61
64
|
tester.install!(tp.self, sample_size: sample_size)
|
@@ -67,8 +70,8 @@ end
|
|
67
70
|
|
68
71
|
at_exit do
|
69
72
|
if $!.nil? || $!.is_a?(SystemExit) && $!.success?
|
70
|
-
|
73
|
+
if tester.targets.empty?
|
74
|
+
logger.warn "No type checker was installed!"
|
75
|
+
end
|
71
76
|
end
|
72
77
|
end
|
73
|
-
|
74
|
-
|
data/lib/rbs/test/tester.rb
CHANGED
@@ -2,11 +2,11 @@ module RBS
|
|
2
2
|
module Test
|
3
3
|
class Tester
|
4
4
|
attr_reader :env
|
5
|
-
attr_reader :
|
5
|
+
attr_reader :targets
|
6
6
|
|
7
7
|
def initialize(env:)
|
8
8
|
@env = env
|
9
|
-
@
|
9
|
+
@targets = []
|
10
10
|
end
|
11
11
|
|
12
12
|
def factory
|
@@ -45,6 +45,8 @@ module RBS
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
end
|
48
|
+
|
49
|
+
targets << klass
|
48
50
|
end
|
49
51
|
|
50
52
|
def new_key(type_name, prefix)
|
data/lib/rbs/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Soutaro Matsumoto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-08-
|
11
|
+
date: 2020-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: RBS is the language for type signatures for Ruby and standard library
|
14
14
|
definitions.
|