autotest-java 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
data/Rakefile CHANGED
@@ -5,7 +5,7 @@ begin
5
5
  require 'jeweler'
6
6
  Jeweler::Tasks.new do |gem|
7
7
  gem.name = "autotest-java"
8
- gem.summary = %Q{use autotest for java tests}
8
+ gem.summary = %Q{run java tests with autotest}
9
9
  gem.email = "darrinholst@gmail.com"
10
10
  gem.homepage = "http://github.com/darrinholst/autotest-java"
11
11
  gem.authors = ["Darrin Holst"]
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
@@ -2,30 +2,41 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{autotest-java}
5
- s.version = "0.0.1"
5
+ s.version = "0.0.2"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Darrin Holst"]
9
- s.date = %q{2009-08-09}
9
+ s.date = %q{2009-08-10}
10
10
  s.email = %q{darrinholst@gmail.com}
11
11
  s.extra_rdoc_files = [
12
12
  "LICENSE",
13
13
  "README.textile"
14
14
  ]
15
15
  s.files = [
16
- ".gitignore",
16
+ ".document",
17
+ ".gitignore",
17
18
  "LICENSE",
18
19
  "README.textile",
19
20
  "Rakefile",
20
21
  "VERSION",
21
- "autotest-java.gemspec"
22
+ "autotest-java.gemspec",
23
+ "lib/autotest-java.rb",
24
+ "lib/autotest/discover.rb",
25
+ "lib/autotest/junit_to_testunit_formatter.rb",
26
+ "lib/autotest/maven.rb",
27
+ "test/autotest-java_test.rb",
28
+ "test/test_helper.rb"
22
29
  ]
23
30
  s.homepage = %q{http://github.com/darrinholst/autotest-java}
24
31
  s.rdoc_options = ["--charset=UTF-8"]
25
32
  s.require_paths = ["lib"]
26
33
  s.rubyforge_project = %q{autotest-java}
27
34
  s.rubygems_version = %q{1.3.5}
28
- s.summary = %q{use autotest for java tests}
35
+ s.summary = %q{run java tests with autotest}
36
+ s.test_files = [
37
+ "test/autotest-java_test.rb",
38
+ "test/test_helper.rb"
39
+ ]
29
40
 
30
41
  if s.respond_to? :specification_version then
31
42
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
File without changes
@@ -0,0 +1,5 @@
1
+ Autotest.add_discovery do
2
+ style = []
3
+ style << "maven" if File.exist? 'pom.xml'
4
+ style
5
+ end
@@ -0,0 +1,21 @@
1
+ $stdin.each_line do |l|
2
+ tests = failures = 0
3
+
4
+ match = /Tests run: (\d+), Failures: (\d+)/.match(l)
5
+
6
+ if(match)
7
+ tests, failures = match[1], match[2]
8
+ end
9
+
10
+ match = /OK \((\d+) tests\)/.match(l)
11
+
12
+ if(match)
13
+ tests = match[1]
14
+ end
15
+
16
+ if(tests.to_i > 0)
17
+ puts "#{tests} tests, 0 assertions, #{failures} failures, 0 errors" if tests.to_i > 0
18
+ else
19
+ puts l
20
+ end
21
+ end
@@ -0,0 +1,73 @@
1
+ require 'autotest'
2
+
3
+ class Autotest::Maven < Autotest
4
+ attr_accessor :classpath
5
+
6
+ def initialize # :nodoc:
7
+ super
8
+ cache_classpath
9
+ add_mappings
10
+
11
+ self.failed_results_re = /^\d+\) (.*)\((.*)\)/
12
+ end
13
+
14
+ def make_test_cmd files_to_test
15
+ cmd = ""
16
+ classes = reorder(files_to_test).map{|k,v| file_to_class(k)}
17
+
18
+ unless(classes.empty?)
19
+ cmd = "#{java} -classpath \"#{classpath}\" #{test_runner} #{classes.join(' ')} | #{results_formatter}"
20
+ end
21
+
22
+ cmd
23
+ end
24
+
25
+ def extra_class_map
26
+ Hash[
27
+ *self.find_order.grep(/^target\/test-classes/).map { |f|
28
+ [path_to_classname(f), f]
29
+ }.flatten
30
+ ]
31
+ end
32
+
33
+ def path_to_classname(path)
34
+ path.gsub(/.*classes\//, '').gsub(/\.class/, '').gsub(/\//, '.')
35
+ end
36
+
37
+ def cache_classpath
38
+ puts "extracting classpath from the maven, please stand by"
39
+ result = `mvn -o dependency:build-classpath`
40
+ match = result.match(/.*\.jar/)
41
+ raise "Unable to glean classpath from #{result}" unless match
42
+ self.classpath = ['target/classes', 'target/test-classes', match[0]].join(File::PATH_SEPARATOR) if match
43
+ end
44
+
45
+ def add_mappings
46
+ clear_mappings
47
+
48
+ add_mapping(/^target\/classes\/.*\.class$/) do |filename, match|
49
+ impl = File.basename(filename, '.class')
50
+ files_matching(/^target\/test-classes\/.*#{impl}Test\.class$/)
51
+ end
52
+
53
+ add_mapping(/^target\/test-classes\/.*Test.class$/) do |filename, match|
54
+ filename
55
+ end
56
+ end
57
+
58
+ def java
59
+ "java"
60
+ end
61
+
62
+ def test_runner
63
+ "org.junit.runner.JUnitCore"
64
+ end
65
+
66
+ def file_to_class(file)
67
+ file.gsub(/.*classes\//, '').gsub(/\.class/, '').gsub(/\//, '.')
68
+ end
69
+
70
+ def results_formatter
71
+ "ruby #{File.join(File.dirname(__FILE__), 'junit_to_testunit_formatter.rb')}"
72
+ end
73
+ end
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class AutotestJavaTest < Test::Unit::TestCase
4
+ def test_something_for_real
5
+ flunk "hey buddy, you should probably rename this file and start testing for real"
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ require 'rubygems'
2
+ require 'test/unit'
3
+
4
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
5
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
+ require 'autotest-java'
7
+
8
+ class Test::Unit::TestCase
9
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autotest-java
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Darrin Holst
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-08-09 00:00:00 -05:00
12
+ date: 2009-08-10 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -23,12 +23,19 @@ extra_rdoc_files:
23
23
  - LICENSE
24
24
  - README.textile
25
25
  files:
26
+ - .document
26
27
  - .gitignore
27
28
  - LICENSE
28
29
  - README.textile
29
30
  - Rakefile
30
31
  - VERSION
31
32
  - autotest-java.gemspec
33
+ - lib/autotest-java.rb
34
+ - lib/autotest/discover.rb
35
+ - lib/autotest/junit_to_testunit_formatter.rb
36
+ - lib/autotest/maven.rb
37
+ - test/autotest-java_test.rb
38
+ - test/test_helper.rb
32
39
  has_rdoc: true
33
40
  homepage: http://github.com/darrinholst/autotest-java
34
41
  licenses: []
@@ -56,6 +63,7 @@ rubyforge_project: autotest-java
56
63
  rubygems_version: 1.3.5
57
64
  signing_key:
58
65
  specification_version: 3
59
- summary: use autotest for java tests
60
- test_files: []
61
-
66
+ summary: run java tests with autotest
67
+ test_files:
68
+ - test/autotest-java_test.rb
69
+ - test/test_helper.rb