test-parser 0.8.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -9,4 +9,14 @@
9
9
  * Support for rspec
10
10
  * Support for rubyunit
11
11
  * Support for pyunit
12
- * Support for quickCheck
12
+ * Support for quickCheck
13
+
14
+ == 0.9.0
15
+
16
+ * 1 major enhancement:
17
+ * Initial support for junit
18
+
19
+ == 0.11.0
20
+
21
+ * 1 major enhancement:
22
+ * Initial support for cutest
data/Manifest.txt CHANGED
@@ -9,18 +9,20 @@ lib/test-parser/version.rb
9
9
  lib/test-parser/parsers/pyunit.rb
10
10
  lib/test-parser/parsers/rspec.rb
11
11
  lib/test-parser/parsers/rubyunit.rb
12
- lib/test-parser/parsers/junit4.rb
12
+ lib/test-parser/parsers/junit.rb
13
13
  lib/test-parser/parsers/quickCheck.rb
14
14
  lib/test-parser/parsers/base.rb
15
+ lib/test-parser/parsers/cutest.rb
15
16
  scripts/txt2html
16
17
  setup.rb
17
18
  spec/spec_helper.rb
18
19
  spec/test_parsers_spec.rb
19
- spec/example_data/pyunit.rb
20
- spec/example_data/rspec.rb
21
- spec/example_data/junit4.rb
22
- spec/example_data/rubyunit.rb
23
- spec/example_data/quickCheck.rb
20
+ spec/example_data/pyunit
21
+ spec/example_data/rspec
22
+ spec/example_data/junit
23
+ spec/example_data/rubyunit
24
+ spec/example_data/quickcheck
25
+ spec/example_data/cutest
24
26
  website/index.html
25
27
  website/index.txt
26
28
  website/parser_output.txt
data/Rakefile CHANGED
@@ -80,7 +80,9 @@ hoe = Hoe.new(GEM_NAME, VERS) do |p|
80
80
 
81
81
  # == Optional
82
82
  p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
83
- #p.extra_deps = [] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ]
83
+ p.extra_deps = [["rake", '>= 0.7.3'],]
84
+ # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ]
85
+
84
86
  #p.spec_extras = {} # A hash of extra values to set in the gemspec.
85
87
  end
86
88
 
@@ -129,19 +131,26 @@ task :check_version do
129
131
  end
130
132
  end
131
133
 
134
+
132
135
  desc "Run the specs under spec/models"
133
136
  Spec::Rake::SpecTask.new do |t|
134
- t.spec_opts = ['--options', "spec/spec.opts"]
135
137
  t.spec_files = FileList['spec/*_spec.rb']
136
138
  end
137
139
 
138
140
  desc "Default task is to run specs"
139
141
  task :default => :spec
140
142
 
143
+
144
+
141
145
  desc "Uninstall the current version of the library"
142
146
  task :uninstall do
143
147
  sh "yes | gem uninstall #{RUBYFORGE_PROJECT}"
144
148
  end
145
149
 
146
150
  desc "Uninstall the current version and deploy locally again"
147
- task :reinstall => [:uninstall, :local_deploy]
151
+ task :reinstall => [:uninstall, :local_deploy]
152
+
153
+ desc "Begin continuous testing"
154
+ task :gtest do
155
+ sh "gtest -t rspec -c 'rake spec'"
156
+ end
data/bin/test_parser CHANGED
@@ -13,4 +13,5 @@ usage if !parser
13
13
 
14
14
 
15
15
 
16
- puts YAML.dump(parser.parse(STDIN.read))
16
+ puts YAML.dump(parser.parse(STDIN.read))
17
+
data/lib/test-parser.rb CHANGED
@@ -7,8 +7,9 @@ module TestParser
7
7
  def self.parsers
8
8
  {:rspec => TestParser::RSpec,
9
9
  :pyunit => TestParser::PyUnit,
10
- # :junit4 => TestParser::JUnit4,
10
+ :junit => TestParser::JUnit,
11
11
  :rubyunit => TestParser::RubyUnit,
12
- :quickCheck => TestParser::QuickCheck}
12
+ :quickCheck => TestParser::QuickCheck,
13
+ :cutest => TestParser::CuTest}
13
14
  end
14
15
  end
@@ -0,0 +1,30 @@
1
+ module TestParser
2
+ class CuTest < Base
3
+ def self.parse test_results
4
+ test_info = Hash.new(0)
5
+ test_info[:failures] = []
6
+
7
+ test_results.scan(/Runs: (\d+) Passes: (\d+) Fails: (\d+)/).each do |(test_count,success_count,failure_count)|
8
+ test_info[:test_count] += test_count.to_i
9
+ test_info[:success_count] += success_count.to_i
10
+ test_info[:failure_count] += failure_count.to_i
11
+ end
12
+
13
+ test_results.scan(/OK \((\d+) tests?\)/).each do |(success_count,)|
14
+ test_info[:failure_count] = 0 if !test_info.has_key?(:failure_count)
15
+ test_info[:success_count] += success_count.to_i
16
+ test_info[:test_count] += success_count.to_i
17
+ end
18
+
19
+ test_results.scan(/\d+\) (.*?): (.*?):(\d+): (.*)/).each do |(test,file,line,message)|
20
+ test_info[:failures] << {:test => test,
21
+ :file => file,
22
+ :line => line.to_i,
23
+ :message => message}
24
+ end
25
+
26
+ test_info.default = nil
27
+ test_info
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,53 @@
1
+ module TestParser
2
+ class JUnit < Base
3
+ def self.parse test_results
4
+ test_info = Hash.new(0)
5
+ test_info[:failures] = []
6
+
7
+ #Tests run: 2, Failures: 1, Errors: 0
8
+ test_results.scan(/Tests? run: (\d+),\s+Failures?: (\d+),\s+Errors?: (\d+)/).each do |(tests,failures,errors)|
9
+ test_info[:failure_count] += failures.to_i + errors.to_i
10
+ test_info[:test_count] += tests.to_i
11
+ end
12
+
13
+ puts
14
+
15
+ #need unit tests for this one, this is a lazy include...
16
+ #OK (1 test)
17
+ test_results.scan(/OK \((\d+) tests?\)/).each do |(successes,)|
18
+ test_info[:test_count] += successes.to_i
19
+ test_info[:failure_count] = 0 if test_info[:failure_count] == 0 #this makes sense
20
+ end
21
+
22
+ # junit.textui.TestRunner.run style output:
23
+
24
+ #1) testParseInteger(TestEval)junit.framework.AssertionFailedError: expected:<1> but was:<2>
25
+ # at TestEval.testParseInteger(TestEval.java:6)
26
+ test_results.scan(/\d+\) (.*?\(.*?\))(.*?): (.*?)\n\s+at .*?\((.*?):(\d+)\)/).each do |(test,error_type,message,file,line)|
27
+ test_info[:failures] << {:test => test,
28
+ :error_type => error_type,
29
+ :message => message,
30
+ :file => file,
31
+ :line => line.to_i }
32
+ end
33
+
34
+
35
+ #ant style output:
36
+
37
+ # [junit] TEST org.antlr.test.TestRewriteAST FAILED
38
+ test_results.scan(/TEST ([^ ]*?) FAILED/).each do |(test,)|
39
+ test_info[:failures] << {:test => test}
40
+ end
41
+
42
+ # 1) testConstructor(com.networksByteDesign.eMarket.inventory.salesItemTest)
43
+ # "Expected exception was not thrown"
44
+ test_results.scan(/\d+\) (.*?)\s+"(.*?)"/).each do |(test,message)|
45
+ test_info[:failures] << {:test => test, :message => message}
46
+ end
47
+
48
+ test_info[:success_count] = test_info[:test_count] - test_info[:failure_count]
49
+ test_info.default = nil
50
+ test_info
51
+ end
52
+ end
53
+ end
@@ -5,14 +5,14 @@ module TestParser
5
5
  test_info[:failure_count] = 0
6
6
  test_info[:failures] = []
7
7
 
8
- failure_regex = /^(ERROR|FAIL): (.*?)\n-+\nTraceback \(most recent call last\):\n(\s*File \"(.*?)\", line (\d+),( in (.*?))?\n.*?\n(.*?)([A-Za-z]*?): (.*?))\n+(---------|=======)/m
9
- failed_tests = test_results.scan(failure_regex).each do |_1,test,_stack_trace,file,line,_2,method,_rest_of_stack,error_class,message,_3|
8
+ failure_regex = /^(ERROR|FAIL): (.*?)\n-+\nTraceback \(most recent call last\):\n(\s*File \"(.*?)\", line (\d+),( in (.*?))?\n.*?\n(.*?)([A-Za-z]*?)(: (.*?))?)\s+(---------|=======)/m
9
+ failed_tests = test_results.scan(failure_regex).each do |_1,test,_stack_trace,file,line,_2,method,_rest_of_stack,error_class,_3,message,_4|
10
10
  failure_info = {:file => file,
11
11
  :line => line.to_i,
12
12
  :error_type => error_class,
13
- :message => message,
14
13
  :test => test}
15
14
  failure_info[:method] = method if method
15
+ failure_info[:message] = message if message
16
16
  test_info[:failures] << failure_info
17
17
  end
18
18
  test_info[:failure_count] += failed_tests.size
@@ -14,7 +14,7 @@ module TestParser
14
14
  #known bug: need to deal with the characters used to rewrite the number of tests written
15
15
  # i.e. the ascii control characters that quickCheck uses to increment the current number of tests ran
16
16
 
17
- test_results.scan(/((^\s*?): )?OK, passed (\d+) tests./).each do |(_1,test,tests_passed,)|
17
+ test_results.scan(/((\w*?): )?OK, passed (\d+) tests./).each do |(_1,test,tests_passed,)|
18
18
  test_info[:success_count] += 1
19
19
  test_info[:test_count] += 1
20
20
  end
@@ -4,7 +4,7 @@ module TestParser #:nodoc:
4
4
  0
5
5
  end
6
6
  def self.minor
7
- 8
7
+ 11
8
8
  end
9
9
  def self.tiny
10
10
  0
@@ -0,0 +1,43 @@
1
+ [
2
+
3
+
4
+ ["There were 2 failures:
5
+ 1) TestSimple: list.c:8: expected <1> but was <2>
6
+ 2) TestSimply: list.c:12: expected <1> but was <3>
7
+
8
+ !!!FAILURES!!!
9
+ Runs: 2 Passes: 0 Fails: 2
10
+ ",
11
+ {:failure_count => 2, :success_count => 0, :test_count => 2,
12
+ :failures => [{:test => "TestSimple",
13
+ :file => "list.c",
14
+ :line => 8,
15
+ :message => "expected <1> but was <2>"},
16
+ {:test => "TestSimply",
17
+ :file => "list.c",
18
+ :line => 12,
19
+ :message => "expected <1> but was <3>"}
20
+ ]
21
+ }
22
+ ],
23
+
24
+ ["..
25
+
26
+ OK (2 tests)
27
+
28
+ ",
29
+ {:failure_count => 0, :success_count => 2, :test_count => 2,
30
+ :failures => []}
31
+
32
+ ],
33
+
34
+ [".
35
+
36
+ OK (1 test)
37
+
38
+ ",
39
+ {:failure_count => 0, :success_count => 1, :test_count => 1,
40
+ :failures => []}
41
+ ]
42
+
43
+ ]
@@ -0,0 +1,293 @@
1
+ #not sure if this is junit4
2
+ #stolen from http://www.samspublishing.com/articles/article.asp?p=32052&seqNum=6&rl=1
3
+ [
4
+ ["% java com.networksByteDesign.eMarket.inventory.salesItemTest
5
+ .F.
6
+ Time: 0.033
7
+ There was 1 failure:
8
+ 1) testConstructor(com.networksByteDesign.eMarket.inventory.salesItemTest)
9
+ \"Expected exception was not thrown\"
10
+
11
+ FAILURES!!!
12
+ Tests run: 2, Failures: 1, Errors: 0",
13
+ {:failure_count => 1, :success_count => 1, :test_count => 2,
14
+ :failures => [{:test => 'testConstructor(com.networksByteDesign.eMarket.inventory.salesItemTest)',
15
+ :message => "Expected exception was not thrown"}]
16
+ }],
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+ #actual output of building antlr-3.0
26
+ ["Buildfile: build.xml
27
+
28
+ generator:
29
+
30
+ compile:
31
+
32
+ run-tests:
33
+ [mkdir] Created dir: /Users/peter/Documents/Projects/antlr-3.0/build/tests/xml
34
+ [mkdir] Created dir: /tmp/antlr3
35
+ [junit] Running org.antlr.test.TestUnBufferedTreeNodeStream
36
+ [junit] warning(105): <string>:2:7: no lexer rule corresponding to token: ID
37
+ [junit] warning(105): <string>:2:7: no lexer rule corresponding to token: ID
38
+ [junit] warning(105): <string>:2:7: no lexer rule corresponding to token: ID
39
+ [junit] warning(105): <string>:3:5: no lexer rule corresponding to token: ID
40
+ [junit] warning(105): <string>:2:8: no lexer rule corresponding to token: A
41
+ [junit] warning(105): <string>:2:10: no lexer rule corresponding to token: B
42
+ [junit] warning(105): <string>:2:9: no lexer rule corresponding to token: A
43
+ [junit] warning(105): <string>:2:11: no lexer rule corresponding to token: B
44
+ [junit] warning(105): <string>:2:10: no lexer rule corresponding to token: A
45
+ [junit] warning(105): <string>:2:12: no lexer rule corresponding to token: B
46
+ [junit] warning(105): <string>:2:10: no lexer rule corresponding to token: A
47
+ [junit] warning(105): <string>:2:12: no lexer rule corresponding to token: B
48
+ [junit] warning(105): <string>:3:5: no lexer rule corresponding to token: ID
49
+ [junit] warning(105): <string>:2:8: no lexer rule corresponding to token: ID
50
+ [junit] warning(105): <string>:4:5: no lexer rule corresponding to token: ID
51
+ [junit] Tests run: 31, Failures: 0, Errors: 0, Time elapsed: 0.618 sec
52
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
53
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
54
+ [junit] Note: Recompile with -Xlint:unchecked for details.
55
+
56
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
57
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
58
+ [junit] Note: Recompile with -Xlint:unchecked for details.
59
+
60
+ [junit] equeue:infos: []errors: [error(116): <string>:6:9: unknown attribute for rule a: stop]warnings: []
61
+ [junit] Tests run: 107, Failures: 0, Errors: 0, Time elapsed: 12.856 sec
62
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
63
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
64
+ [junit] Note: Recompile with -Xlint:unchecked for details.
65
+
66
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
67
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
68
+ [junit] Note: Recompile with -Xlint:unchecked for details.
69
+
70
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
71
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
72
+ [junit] Note: Recompile with -Xlint:unchecked for details.
73
+
74
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
75
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
76
+ [junit] Note: Recompile with -Xlint:unchecked for details.
77
+
78
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
79
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
80
+ [junit] Note: Recompile with -Xlint:unchecked for details.
81
+
82
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
83
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
84
+ [junit] Note: Recompile with -Xlint:unchecked for details.
85
+
86
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
87
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
88
+ [junit] Note: Recompile with -Xlint:unchecked for details.
89
+
90
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
91
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
92
+ [junit] Note: Recompile with -Xlint:unchecked for details.
93
+
94
+ [junit] Tests run: 36, Failures: 0, Errors: 0, Time elapsed: 70.159 sec
95
+ [junit] Tests run: 29, Failures: 0, Errors: 0, Time elapsed: 0.106 sec
96
+ [junit] Tests run: 16, Failures: 0, Errors: 0, Time elapsed: 0.013 sec
97
+ [junit] Tests run: 59, Failures: 0, Errors: 0, Time elapsed: 0.268 sec
98
+ [junit] Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 0.018 sec
99
+ [junit] Tests run: 6, Failures: 0, Errors: 0, Time elapsed: 0.04 sec
100
+ [junit] Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 0.061 sec
101
+ [junit] Tests run: 34, Failures: 0, Errors: 0, Time elapsed: 0.007 sec
102
+ [junit] Tests run: 7, Failures: 0, Errors: 0, Time elapsed: 7.957 sec
103
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar PLexer.java
104
+ [junit] Note: /tmp/antlr3/PLexer.java uses unchecked or unsafe operations.
105
+ [junit] Note: Recompile with -Xlint:unchecked for details.
106
+
107
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar PLexer.java
108
+ [junit] Note: /tmp/antlr3/PLexer.java uses unchecked or unsafe operations.
109
+ [junit] Note: Recompile with -Xlint:unchecked for details.
110
+
111
+ [junit] Tests run: 13, Failures: 0, Errors: 0, Time elapsed: 19.943 sec
112
+ [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.365 sec
113
+ [junit] Tests run: 54, Failures: 0, Errors: 0, Time elapsed: 0.103 sec
114
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
115
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
116
+ [junit] Note: Recompile with -Xlint:unchecked for details.
117
+
118
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
119
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
120
+ [junit] Note: Recompile with -Xlint:unchecked for details.
121
+
122
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
123
+ [junit] /tmp/antlr3/TParser.java:76: illegal start of expression
124
+ [junit] adaptor.addChild(root_0, adaptor.create(ID, ));
125
+ [junit] ^
126
+ [junit] /tmp/antlr3/TParser.java:76: ')' expected
127
+ [junit] adaptor.addChild(root_0, adaptor.create(ID, ));
128
+ [junit] ^
129
+ [junit] 2 errors
130
+
131
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar Test.java
132
+ [junit] /tmp/antlr3/TParser.java:76: illegal start of expression
133
+ [junit] adaptor.addChild(root_0, adaptor.create(ID, ));
134
+ [junit] ^
135
+ [junit] /tmp/antlr3/TParser.java:76: ')' expected
136
+ [junit] adaptor.addChild(root_0, adaptor.create(ID, ));
137
+ [junit] ^
138
+ [junit] 2 errors
139
+
140
+ [junit] exec parser stderrVacuum: Exception in thread \"main\" java.lang.NoClassDefFoundError: Test
141
+
142
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
143
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
144
+ [junit] Note: Recompile with -Xlint:unchecked for details.
145
+
146
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
147
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
148
+ [junit] Note: Recompile with -Xlint:unchecked for details.
149
+
150
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
151
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
152
+ [junit] Note: Recompile with -Xlint:unchecked for details.
153
+
154
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
155
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
156
+ [junit] Note: Recompile with -Xlint:unchecked for details.
157
+
158
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
159
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
160
+ [junit] Note: Recompile with -Xlint:unchecked for details.
161
+
162
+ [junit] exec parser stderrVacuum: Exception in thread \"main\" org.antlr.runtime.tree.RewriteCardinalityException: token ID
163
+ [junit] at org.antlr.runtime.tree.RewriteRuleElementStream._next(RewriteRuleElementStream.java:150)
164
+ [junit] at org.antlr.runtime.tree.RewriteRuleElementStream.next(RewriteRuleElementStream.java:131)
165
+ [junit] at TParser.a(TParser.java:106)
166
+ [junit] at Test.main(Test.java:15)
167
+
168
+ [junit] exec parser stderrVacuum: Exception in thread \"main\" org.antlr.runtime.tree.RewriteCardinalityException: token ID
169
+ [junit] at org.antlr.runtime.tree.RewriteRuleElementStream._next(RewriteRuleElementStream.java:150)
170
+ [junit] at org.antlr.runtime.tree.RewriteRuleElementStream.next(RewriteRuleElementStream.java:131)
171
+ [junit] at TParser.a(TParser.java:107)
172
+ [junit] at Test.main(Test.java:15)
173
+
174
+ [junit] exec parser stderrVacuum: Exception in thread \"main\" org.antlr.runtime.tree.RewriteEmptyStreamException: token ID
175
+ [junit] at org.antlr.runtime.tree.RewriteRuleElementStream._next(RewriteRuleElementStream.java:143)
176
+ [junit] at org.antlr.runtime.tree.RewriteRuleElementStream.next(RewriteRuleElementStream.java:131)
177
+ [junit] at TParser.a(TParser.java:100)
178
+ [junit] at Test.main(Test.java:15)
179
+
180
+ [junit] exec parser stderrVacuum: Exception in thread \"main\" org.antlr.runtime.tree.RewriteEarlyExitException
181
+ [junit] at TParser.a(TParser.java:101)
182
+ [junit] at Test.main(Test.java:15)
183
+
184
+ [junit] Tests run: 77, Failures: 1, Errors: 0, Time elapsed: 139.845 sec
185
+ [junit] TEST org.antlr.test.TestRewriteAST FAILED
186
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TP.java
187
+ [junit] Note: /tmp/antlr3/TP.java uses unchecked or unsafe operations.
188
+ [junit] Note: Recompile with -Xlint:unchecked for details.
189
+
190
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
191
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
192
+ [junit] Note: Recompile with -Xlint:unchecked for details.
193
+
194
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
195
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
196
+ [junit] Note: Recompile with -Xlint:unchecked for details.
197
+
198
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
199
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
200
+ [junit] Note: Recompile with -Xlint:unchecked for details.
201
+
202
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
203
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
204
+ [junit] Note: Recompile with -Xlint:unchecked for details.
205
+
206
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
207
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
208
+ [junit] Note: Recompile with -Xlint:unchecked for details.
209
+
210
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
211
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
212
+ [junit] Note: Recompile with -Xlint:unchecked for details.
213
+
214
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
215
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
216
+ [junit] Note: Recompile with -Xlint:unchecked for details.
217
+
218
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
219
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
220
+ [junit] Note: Recompile with -Xlint:unchecked for details.
221
+
222
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
223
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
224
+ [junit] Note: Recompile with -Xlint:unchecked for details.
225
+
226
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
227
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
228
+ [junit] Note: Recompile with -Xlint:unchecked for details.
229
+
230
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TParser.java
231
+ [junit] Note: /tmp/antlr3/TParser.java uses unchecked or unsafe operations.
232
+ [junit] Note: Recompile with -Xlint:unchecked for details.
233
+
234
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TP.java
235
+ [junit] Note: /tmp/antlr3/TP.java uses unchecked or unsafe operations.
236
+ [junit] Note: Recompile with -Xlint:unchecked for details.
237
+
238
+ [junit] Tests run: 17, Failures: 0, Errors: 0, Time elapsed: 29.494 sec
239
+ [junit] Tests run: 15, Failures: 0, Errors: 0, Time elapsed: 27.215 sec
240
+ [junit] Tests run: 32, Failures: 1, Errors: 0, Time elapsed: 0.084 sec
241
+ [junit] TEST org.antlr.test.TestSemanticPredicates FAILED
242
+ [junit] Tests run: 24, Failures: 0, Errors: 0, Time elapsed: 45.154 sec
243
+ [junit] Tests run: 47, Failures: 0, Errors: 0, Time elapsed: 3.782 sec
244
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar tParser.java
245
+ [junit] Note: /tmp/antlr3/tParser.java uses unchecked or unsafe operations.
246
+ [junit] Note: Recompile with -Xlint:unchecked for details.
247
+
248
+ [junit] Tests run: 15, Failures: 0, Errors: 0, Time elapsed: 42.133 sec
249
+ [junit] Tests run: 8, Failures: 0, Errors: 0, Time elapsed: 0.694 sec
250
+ [junit] Tests run: 25, Failures: 0, Errors: 0, Time elapsed: 0.079 sec
251
+ [junit] Tests run: 12, Failures: 0, Errors: 0, Time elapsed: 0.003 sec
252
+ [junit] compile stderr from: javac -d /tmp/antlr3 -classpath /tmp/antlr3:/Users/peter/Documents/Projects/antlr-3.0/build/classes:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-2.7.7.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr-runtime-3.0.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/antlr.jar:/Users/peter/Documents/Projects/antlr-3.0/lib/stringtemplate-3.0.jar:/Users/peter/projects/junit4.4/junit-4.4.jar:/Developer/Java/Ant/lib/ant-launcher.jar:/Developer/Java/Ant/lib/ant.jar:/Developer/Java/Ant/lib/ant-junit.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar TP.java
253
+ [junit] Note: /tmp/antlr3/TP.java uses unchecked or unsafe operations.
254
+ [junit] Note: Recompile with -Xlint:unchecked for details.
255
+
256
+ [junit] Tests run: 10, Failures: 0, Errors: 0, Time elapsed: 30.671 sec
257
+ [junit] Tests run: 14, Failures: 0, Errors: 0, Time elapsed: 0.009 sec
258
+ [junit] Tests FAILED
259
+
260
+ run-reports:
261
+ [mkdir] Created dir: /Users/peter/Documents/Projects/antlr-3.0/build/tests/reports
262
+ [junitreport] Transform time: 1167ms
263
+
264
+ test:
265
+
266
+ BUILD FAILED
267
+ /Users/peter/Documents/Projects/antlr-3.0/build.xml:158: Tests failed
268
+
269
+ Total time: 7 minutes 15 seconds",
270
+ {:failure_count => 2, :success_count => 695, :test_count => 697,
271
+ :failures => [{:test => "org.antlr.test.TestRewriteAST"}, {:test => "org.antlr.test.TestSemanticPredicates"}]}
272
+ ],
273
+ [".F
274
+ Time: 0.002
275
+ There was 1 failure:
276
+ 1) testParseInteger(TestEval)junit.framework.AssertionFailedError: expected:<1> but was:<2>
277
+ at TestEval.testParseInteger(TestEval.java:6)
278
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
279
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
280
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
281
+ at TestEvalSuite.main(TestEvalSuite.java:18)
282
+
283
+ FAILURES!!!
284
+ Tests run: 1, Failures: 1, Errors: 0
285
+ ",
286
+ {:failure_count => 1, :success_count => 0, :test_count => 1,
287
+ :failures => [{:message => "expected:<1> but was:<2>",
288
+ :test => "testParseInteger(TestEval)",
289
+ :error_type => "junit.framework.AssertionFailedError",
290
+ :file => "TestEval.java",
291
+ :line => 6}]}
292
+ ],
293
+ ]
@@ -139,5 +139,64 @@ FAILED (failures=1, errors=1)",
139
139
  }
140
140
  ]
141
141
  }
142
- ]
142
+ ],
143
+ [".......F...
144
+ ======================================================================
145
+ FAIL: A SearchBuffer's removal count should be accurate
146
+ ----------------------------------------------------------------------
147
+ Traceback (most recent call last):
148
+ File \"test_searchBuffers.py\", line 32, in testCountRemovals
149
+ countRemovalsTest(self,SearchBuffer())
150
+ File \"test_searchBuffers.py\", line 16, in countRemovalsTest
151
+ self.assertFalse(sbuffer.isEmpty())
152
+ AssertionError
153
+
154
+ ----------------------------------------------------------------------
155
+ Ran 11 tests in 0.002s
156
+
157
+ FAILED (failures=1)
158
+ 5
159
+ 4
160
+ 6
161
+ 3
162
+ 7
163
+ 2
164
+ 8
165
+ 1
166
+ 9
167
+ 10
168
+ rake aborted!
169
+ Command failed with status (1): [python test*.py...]
170
+ /Users/peter/Documents/Class Notes/2007f/AI/projects/assignment2/rakefile:4
171
+ (See full trace by running task with --trace)
172
+ ",
173
+ {:failure_count => 1, :success_count => 10}],
174
+ ["A PriorityQueue's insertion count should be accurate ... ok
175
+ A PriorityQueue's removal count should be accurate ... ok
176
+ A PriorityQueue should sort its values according to the given heuristic. ... FAIL
177
+ A Queue's insertion count should be accurate ... ok
178
+ A Queue's removal count should be accurate ... ok
179
+ A Queue should behave in a FIFO manner. ... ok
180
+ A Stack's insertion count should be accurate ... ok
181
+ A Stack's removal count should be accurate ... ok
182
+ A Stack should behave in a LIFO manner. ... ok
183
+
184
+ ======================================================================
185
+ FAIL: A PriorityQueue should sort its values according to the given heuristic.
186
+ ----------------------------------------------------------------------
187
+ Traceback (most recent call last):
188
+ File \"test_searchBuffers.py\", line 71, in testSorting
189
+ self.assertTrue( not pq.heuristic)
190
+ AssertionError
191
+
192
+ ----------------------------------------------------------------------
193
+ Ran 9 tests in 0.002s
194
+
195
+ FAILED (failures=1)
196
+ rake aborted!
197
+ Command failed with status (1): [python test_searchBuffers.py --verbose...]
198
+ /Users/peter/Documents/Class Notes/2007f/AI/projects/assignment2/rakefile:5
199
+ (See full trace by running task with --trace)",
200
+ {:failure_count => 1, :success_count => 8}
201
+ ],
143
202
  ]
@@ -57,5 +57,23 @@ prop_PrimesArePrime: OK, passed 100 tests.
57
57
  :failures => [{:test => "prop_PrimesAreOdd", :message => "Falsifiable, after 65 tests:\n2"}]}
58
58
  ],
59
59
 
60
+ # [" ___ ___ _
61
+ # / _ \\ /\\ /\\/ __(_)
62
+ # / /_\\// /_/ / / | | GHC Interactive, version 6.5.20060608, for Haskell 98.
63
+ # / /_\\\\/ __ / /___| | http://www.haskell.org/ghc/
64
+ # \\____/\\/ /_/\\____/|_| Type :? for help.
65
+ #
66
+ # Loading package base-1.0 ... linking ... done.
67
+ # Prelude> [1 of 2] Compiling QuickCheck ( QuickCheck.hs, interpreted )
68
+ # [2 of 2] Compiling CoreParser ( core_parser.hs, interpreted )
69
+ # Ok, modules loaded: QuickCheck, CoreParser.
70
+ # *CoreParser> Loading package haskell98-1.0 ... linking ... done.
71
+ # Loading package parsec-2.0 ... linking ... done.
72
+ # prop_trivial: OK, passed 100 tests.
73
+ # *CoreParser> prop_parse_number: OK, passed 100 tests.
74
+ # *CoreParser> Leaving GHCi.
75
+ # ",
76
+ # {:failure_count => 1, :success_count => 1, :test_count => 2}
77
+ # ],
60
78
 
61
79
  ]
File without changes
File without changes
@@ -19,7 +19,7 @@ end
19
19
  TestParser.parsers.each_value do |parser|
20
20
 
21
21
  begin
22
- data_filename = File.dirname(__FILE__) + "/example_data/" + parser.name.downcase.sub("testparser::","") + ".rb"
22
+ data_filename = File.dirname(__FILE__) + "/example_data/" + parser.name.downcase.sub("testparser::","")
23
23
  examples = eval(File.read(data_filename))
24
24
  rescue Exception => err
25
25
  STDERR.puts "Syntax error in #{data_filename}:\n\n"
@@ -65,10 +65,18 @@ TestParser.parsers.each_value do |parser|
65
65
 
66
66
  #find the relevent failure in the parsed_info by the filename/line number this may not work for some systems...
67
67
 
68
- parsed_hash = parsed_info[:failures].find {|p_h| p_h[:file] == correct_hash[:file] && p_h[:line] == correct_hash[:line] }
68
+ parsed_hash = parsed_info[:failures].find {|p_h|
69
+ if correct_hash[:test]
70
+ p_h[:test] == correct_hash[:test]
71
+ elsif correct_hash[:file] && correct_hash[:line]
72
+ p_h[:file] == correct_hash[:file] && p_h[:line] == correct_hash[:line]
73
+ else
74
+ fail "Can't match up this error hash, not enough info: #{correct_hash.inspect}"
75
+ end
76
+ }
69
77
 
70
78
  if !parsed_hash
71
- fail "didn't find the error in '#{correct_hash[:file]}' line #{correct_hash[:line]}"
79
+ fail "didn't find this error: #{correct_hash.inspect}"
72
80
  else
73
81
  #anything in the correct_info needs to match what was parsed
74
82
  #this enables the parsed data to include more info than we're testing for
@@ -81,8 +89,9 @@ TestParser.parsers.each_value do |parser|
81
89
  end
82
90
 
83
91
  #the number of detailed failure accounts should match the number of reported failures
84
- it "should give the same number of failure details as there were failures" do
92
+ it "should give the same number of failure details as there were failures, when :failures is nonempty" do
85
93
  examples.each do |test_results, correct_info, parsed_info|
94
+ next if (parsed_info[:failures].empty?)
86
95
  parsed_info[:failures].length.should == parsed_info[:failure_count]
87
96
  end
88
97
  end
data/website/index.html CHANGED
@@ -7,8 +7,8 @@
7
7
  <title>
8
8
  test-parser
9
9
  </title>
10
+ <![if !IE]>
10
11
  <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
-
12
12
  <script type="text/javascript">
13
13
  window.onload = function() {
14
14
  settings = {
@@ -24,6 +24,7 @@
24
24
  versionBox.applyCornersToAll();
25
25
  }
26
26
  </script>
27
+ <![endif]>
27
28
  </head>
28
29
  <body>
29
30
  <div id="main">
@@ -32,7 +33,7 @@
32
33
 
33
34
  <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/test-parser"; return false'>
34
35
  <p>Get Version</p>
35
- <a href="http://rubyforge.org/projects/test-parser" class="numbers">0.8.0</a>
36
+ <a href="http://rubyforge.org/projects/test-parser" class="numbers">0.11.0</a>
36
37
  </div>
37
38
 
38
39
  <h2>Overview</h2>
@@ -66,7 +67,7 @@
66
67
  <p>Included is a script that will parse the output of a set of tests and print out a <a href="http://www.yaml.org/"><span class="caps">YAML</span></a> representation of the results.</p>
67
68
 
68
69
 
69
- <p>Since we need a test suite to show this example on, we might as well test test-parser itself. <a href='#note1' id='back1'>[1]</a></p>
70
+ <p>Since we need a test suite to show this example on, we might as well test test-parser itself. <sup><a href='#note1' id='back1'>1</a></sup></p>
70
71
 
71
72
 
72
73
  <pre><code></code>
@@ -74,7 +75,7 @@
74
75
  [...]
75
76
  A test-parser/README.txt
76
77
  A test-parser/examples
77
- Checked out revision 9.
78
+ Checked out revision 14.
78
79
  <span class='command'>&#126;&gt;&gt; cd test-parser</span>
79
80
  <span class='command'>&#126;/test-parser&gt;&gt; test_parser </span>
80
81
  usage: test_parser &lt;test_framework&gt;
@@ -85,14 +86,14 @@ usage: test_parser &lt;test_framework&gt;
85
86
  quickCheck
86
87
  <span class='command'>&#126;/test_parser&gt;&gt; spec spec/test_parsers_spec.rb | test_parser rspec</span>
87
88
  <del>-</del>
88
- :success_count: 22
89
+ :success_count: 28
89
90
  :failures: []
90
91
 
91
92
  :failure_count: 0
92
- :test_count: 22
93
+ :test_count: 28
93
94
  </pre>
94
95
 
95
- <p>And thus you can see that test-parser has 22 tests, and all of them pass successfully. More importantly, you could use <span class="caps">YAML</span> to get easy access to this information with another program in your toolchain.</p>
96
+ <p>And thus you can see that test-parser has 28 tests, and all of them pass successfully.<sup><a href='#note2' id='back2'>2</a></sup> More importantly, you could use <span class="caps">YAML</span> to get easy access to this information with another program in your toolchain.</p>
96
97
 
97
98
 
98
99
  <p>You could do something equivalent in Ruby with something like the following:</p>
@@ -106,9 +107,6 @@ usage: test_parser &lt;test_framework&gt;
106
107
 
107
108
  </pre>
108
109
 
109
- <p><a href='#back1' id='note1'>1)</a> requires rspec, easily installed via <code>sudo gem install rspec</code></p>
110
-
111
-
112
110
  <h2>More Information</h2>
113
111
 
114
112
 
@@ -146,6 +144,13 @@ usage: test_parser &lt;test_framework&gt;
146
144
 
147
145
 
148
146
  <p>Comments are welcome. Send an email to <a href="mailto:rictic@gmail.com">Peter Burns</a>.</p>
147
+
148
+
149
+ <div class='footnotes'>
150
+ <a href='#back1' id='note1'>1)</a> requires rspec, easily installed via <code>sudo gem install rspec</code>
151
+
152
+ <p><a href='#back2' id='note2'>2)</a> This, you may notice, is more than the 22 tests in 0.8.0. This reflects the additional tests for the preliminary <a href="http://junit.sourceforge.net/">junit</a> support that&#8217;s coming in 0.9.0. Shhh!
153
+ </div></p>
149
154
  <p class="coda">
150
155
  <a href="mailto:drnicwilliams@gmail.com">Dr Nic</a><br/>
151
156
  Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
data/website/index.txt CHANGED
@@ -22,7 +22,7 @@ h2. Demonstration of usage
22
22
 
23
23
  Included is a script that will parse the output of a set of tests and print out a "YAML":http://www.yaml.org/ representation of the results.
24
24
 
25
- Since we need a test suite to show this example on, we might as well test test-parser itself. <a href='#note1' id='back1'>[1]</a>
25
+ Since we need a test suite to show this example on, we might as well test test-parser itself. <sup><a href='#note1' id='back1'>1</a></sup>
26
26
 
27
27
 
28
28
  <pre><code></code>
@@ -30,7 +30,7 @@ Since we need a test suite to show this example on, we might as well test test-p
30
30
  [...]
31
31
  A test-parser/README.txt
32
32
  A test-parser/examples
33
- Checked out revision 9.
33
+ Checked out revision 14.
34
34
  <span class='command'>&#126;>> cd test-parser</span>
35
35
  <span class='command'>&#126;/test-parser>> test_parser </span>
36
36
  usage: test_parser &lt;test_framework&gt;
@@ -41,14 +41,14 @@ usage: test_parser &lt;test_framework&gt;
41
41
  quickCheck
42
42
  <span class='command'>&#126;/test_parser>> spec spec/test_parsers_spec.rb | test_parser rspec</span>
43
43
  ---
44
- :success_count: 22
44
+ :success_count: 28
45
45
  :failures: []
46
46
 
47
47
  :failure_count: 0
48
- :test_count: 22
48
+ :test_count: 28
49
49
  </pre>
50
50
 
51
- And thus you can see that test-parser has 22 tests, and all of them pass successfully. More importantly, you could use YAML to get easy access to this information with another program in your toolchain.
51
+ And thus you can see that test-parser has 28 tests, and all of them pass successfully.<sup><a href='#note2' id='back2'>2</a></sup> More importantly, you could use YAML to get easy access to this information with another program in your toolchain.
52
52
 
53
53
  You could do something equivalent in Ruby with something like the following:
54
54
 
@@ -68,7 +68,7 @@ You could do something equivalent in Ruby with something like the following:
68
68
 
69
69
 
70
70
 
71
- <a href='#back1' id='note1'>1)</a> requires rspec, easily installed via <code>sudo gem install rspec</code>
71
+
72
72
 
73
73
  h2. More Information
74
74
 
@@ -96,3 +96,9 @@ This code is free to use under the terms of "the MIT license":http://www.opensou
96
96
  h2. Contact
97
97
 
98
98
  Comments are welcome. Send an email to "Peter Burns":mailto:rictic@gmail.com.
99
+
100
+ <div class='footnotes'>
101
+ <a href='#back1' id='note1'>1)</a> requires rspec, easily installed via <code>sudo gem install rspec</code>
102
+
103
+ <a href='#back2' id='note2'>2)</a> This, you may notice, is more than the 22 tests in 0.8.0. This reflects the additional tests for the preliminary "junit":http://junit.sourceforge.net/ support that's coming in 0.9.0. Shhh!
104
+ </div>
@@ -4,19 +4,33 @@ h2. Guarantees
4
4
 
5
5
  The output of the different parsers must vary to a certain degree. Different testing systems produce varying levels of detail. Some parsers may return more than the information displayed on this page, though as of version 0.8.0, none do.
6
6
 
7
- This page merely lists things you can be sure about. This is essentially a retelling of what test-parser's own automated tests ensure. <a href='#note1' id='back1'>[1]</a> Only the first property, <code>:failure_count</code> can be guaranteed. If a parser can't determine the other properties, it may not provide them. Partially implemented parsers also might only return some of these properties, but all parsers give a valid result for <code>:failure_count</code>.
7
+ This page merely lists things you can be sure about. This is essentially a retelling of what test-parser's own automated tests ensure. <sup><a href='#note1' id='back1'>1</a></sup>
8
+
9
+ Only the first property, <code>:failure_count</code> can be guaranteed. If a parser can't determine the other properties, it may not provide them.
10
+
11
+ Partially implemented parsers also might only return some of these properties, but all parsers give a valid result for <code>:failure_count</code>.
8
12
 
9
13
  h2. :failure_count
10
14
 
11
- The most important property is <code>:failure_count</code>, which gives the number of tests that failed. All parsers must yield this property. A test which encounters an error in its operation is counted here. If this property is missing, it's a good indication that there was a major problem. Ensure that the correct parser is receiving the correct output.
15
+ The most important property is <code>:failure_count</code>, which gives the number of tests that failed. All parsers must yield this property.
16
+
17
+ The count includes both tests that failed and tests that encountered errors.
18
+
19
+ If this property is missing, it's a good indication that there was a major problem. Ensure that the correct parser is receiving the correct output.
12
20
 
13
21
  h2. :success_count and :test_count
14
22
 
15
- Two ancillary properties are <code>:success_count</code> and <code>:test_count</code>. They represent the number of successful tests, and the total number of tests run. If both of these properties are present, then <code>:success_count</code> + <code>:failure_count</code> must equal <code>:test_count</code>.
23
+ Two ancillary properties are <code>:success_count</code> and <code>:test_count</code>. They represent the number of successful tests, and the total number of tests run respectively.
24
+
25
+ If both of these properties are present, then <code>:success_count</code> + <code>:failure_count</code> must equal <code>:test_count</code>.
16
26
 
17
27
  h2. :failures
18
28
 
19
- The last property, <code>:failures</code> is an array of detailed information about the failed tests. If present and nonempty, the length of <code>:failures</code> must equal <code>:failure_count</code>. The following are details that may be found in an element of <code>:failures</code>:
29
+ The last property, <code>:failures</code> is an array of dictionaries<sup><a href='#note2' id='back2'>2</a></sup> containing detailed information about the failed tests.
30
+
31
+ If present and nonempty, the length of <code>:failures</code> must equal <code>:failure_count</code>.
32
+
33
+ The following are details that may be found in an element of <code>:failures</code>:
20
34
 
21
35
  <table class='failure_details'>
22
36
  <tr><td><code>:test</code></td><td>the name of the test that failed</td></tr>
@@ -28,4 +42,9 @@ The last property, <code>:failures</code> is an array of detailed information ab
28
42
  <tr><td><code>:line</code></td><td>the line number where the test failed/error was encountered</td></tr>
29
43
  </table>
30
44
 
31
- <a href='#back1' id='note1'>1)</a> The automated tests mere run against a list of examples and the known correct parsing of those examples. If you find a test that doesn't parse correctly, please submit it to "the google group":http://groups.google.com/group/test-parser.
45
+
46
+ <div class='footnotes'>
47
+ <a href='#back1' id='note1'>1)</a> The automated tests merely run against a list of examples and the known correct parsing of those examples. If you find a test that doesn't parse correctly, please submit it to "the google group":http://groups.google.com/group/test-parser.
48
+
49
+ <a href='#back2' id='note2'>2)</a> Or hashes, or hashmaps, as you prefer
50
+ </div>
@@ -154,4 +154,9 @@ pre, code {
154
154
  table.failure_details {
155
155
  border: none;
156
156
  margin-bottom: 50px;
157
+ }
158
+
159
+ .footnotes {
160
+ margin-top: 100px;
161
+ font-size: 80%;
157
162
  }
@@ -7,8 +7,8 @@
7
7
  <title>
8
8
  <%= title %>
9
9
  </title>
10
+ <![if !IE]>
10
11
  <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
-
12
12
  <script type="text/javascript">
13
13
  window.onload = function() {
14
14
  settings = {
@@ -24,6 +24,7 @@
24
24
  versionBox.applyCornersToAll();
25
25
  }
26
26
  </script>
27
+ <![endif]>
27
28
  </head>
28
29
  <body>
29
30
  <div id="main">
@@ -32,7 +33,7 @@
32
33
  <% if display_download %>
33
34
  <div id="version" class="clickable" onclick='document.location = "<%= download %>"; return false'>
34
35
  <p>Get Version</p>
35
- <a href="<%= download %>" class="numbers"><%= version %></a>
36
+ <a href="<%= download %>" class="numbers"><%= "0.11.0" %></a>
36
37
  </div>
37
38
  <% end %>
38
39
  <%= body %>
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: test-parser
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.8.0
7
- date: 2007-08-02 00:00:00 -05:00
6
+ version: 0.11.0
7
+ date: 2007-10-13 00:00:00 -07:00
8
8
  summary: A collection of parsers for parsing the output of various testing suites.
9
9
  require_paths:
10
10
  - lib
@@ -40,18 +40,20 @@ files:
40
40
  - lib/test-parser/parsers/pyunit.rb
41
41
  - lib/test-parser/parsers/rspec.rb
42
42
  - lib/test-parser/parsers/rubyunit.rb
43
- - lib/test-parser/parsers/junit4.rb
43
+ - lib/test-parser/parsers/junit.rb
44
44
  - lib/test-parser/parsers/quickCheck.rb
45
45
  - lib/test-parser/parsers/base.rb
46
+ - lib/test-parser/parsers/cutest.rb
46
47
  - scripts/txt2html
47
48
  - setup.rb
48
49
  - spec/spec_helper.rb
49
50
  - spec/test_parsers_spec.rb
50
- - spec/example_data/pyunit.rb
51
- - spec/example_data/rspec.rb
52
- - spec/example_data/junit4.rb
53
- - spec/example_data/rubyunit.rb
54
- - spec/example_data/quickCheck.rb
51
+ - spec/example_data/pyunit
52
+ - spec/example_data/rspec
53
+ - spec/example_data/junit
54
+ - spec/example_data/rubyunit
55
+ - spec/example_data/quickcheck
56
+ - spec/example_data/cutest
55
57
  - website/index.html
56
58
  - website/index.txt
57
59
  - website/parser_output.txt
@@ -76,5 +78,13 @@ extensions: []
76
78
 
77
79
  requirements: []
78
80
 
79
- dependencies: []
80
-
81
+ dependencies:
82
+ - !ruby/object:Gem::Dependency
83
+ name: rake
84
+ version_requirement:
85
+ version_requirements: !ruby/object:Gem::Version::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: 0.7.3
90
+ version:
@@ -1,18 +0,0 @@
1
- module TestParser
2
- class JUnit4 < Base
3
- def self.parse test_results
4
- test_info = Hash.new(0)
5
- test_info[:failures] = []
6
-
7
- "Tests run: 2, Failures: 1, Errors: 0"
8
- test_results.scan(/Tests? run: (\d+), Failures: (\d+), Errors: (\d+)/).each do |(tests,failures,errors)|
9
- test_info[:failure_count] += failures.to_i + errors.to_i
10
- test_info[:test_count] += tests.to_i
11
- end
12
-
13
- test_info[:success_count] = test_info[:test_count] - test_info[:failure_count]
14
- test_info.default = nil
15
- test_info
16
- end
17
- end
18
- end
@@ -1,17 +0,0 @@
1
- #not sure if this is junit4
2
- #stolen from http://www.samspublishing.com/articles/article.asp?p=32052&seqNum=6&rl=1
3
- [
4
- ["% java com.networksByteDesign.eMarket.inventory.salesItemTest
5
- .F.
6
- Time: 0.033
7
- There was 1 failure:
8
- 1) testConstructor(com.networksByteDesign.eMarket.inventory.salesItemTest)
9
- \"Expected exception was not thrown\"
10
-
11
- FAILURES!!!
12
- Tests run: 2, Failures: 1, Errors: 0",
13
- {:failure_count => 1, :success_count => 1, :test_count => 2,
14
- # :failures => [{:test => 'testConstructor',
15
- # :message => "Expected exception was not thrown"}]
16
- }],
17
- ]