-
Notifications
You must be signed in to change notification settings - Fork 197
/
helper.rb
59 lines (47 loc) · 1.27 KB
/
helper.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# frozen_string_literal: true
require 'tempfile'
require 'minitest/test'
require 'simplecov'
if ENV.include?('COVERAGE') && SimpleCov.usable?
require_relative 'racc_coverage_helper'
RaccCoverage.start(
%w(
ruby18.y
ruby19.y
ruby20.y
ruby21.y
ruby22.y
ruby23.y
ruby24.y
ruby25.y
ruby26.y
),
File.expand_path('../../lib/parser', __FILE__))
# Report results faster.
at_exit { RaccCoverage.stop }
SimpleCov.start do
self.formatter = SimpleCov::Formatter::MultiFormatter[
SimpleCov::Formatter::HTMLFormatter,
]
add_group 'Grammars' do |source_file|
source_file.filename =~ %r{\.y$}
end
# Exclude the testsuite itself.
add_filter '/test/'
# Exclude generated files.
add_filter do |source_file|
source_file.filename =~ %r{/lib/parser/(lexer|ruby\d+|macruby|rubymotion)\.rb$}
end
end
end
# minitest/autorun must go after SimpleCov to preserve
# correct order of at_exit hooks.
require 'minitest/autorun'
$LOAD_PATH.unshift(File.expand_path('../../lib', __FILE__))
require 'parser'
class Parser::AST::Node
def initialize(type, *)
raise "Type #{type} missing from Parser::Meta::NODE_TYPES" unless Parser::Meta::NODE_TYPES.include?(type)
super
end
end