crazy_ivan 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. data/Rakefile +0 -40
  2. data/VERSION +1 -1
  3. data/bin/crazy_ivan +17 -71
  4. data/crazy_ivan.gemspec +119 -118
  5. data/lib/crazy_ivan/report_assembler.rb +2 -2
  6. data/lib/crazy_ivan/test_runner.rb +11 -4
  7. data/lib/crazy_ivan/vendor/json.rb +10 -0
  8. data/lib/crazy_ivan/version.rb +9 -0
  9. data/lib/crazy_ivan.rb +70 -3
  10. data/test/crazy_ivan_test.rb +72 -3
  11. data/test/test_helper.rb +1 -0
  12. metadata +119 -117
  13. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/CHANGES +0 -0
  14. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/GPL +0 -0
  15. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/README +0 -0
  16. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/RUBY +0 -0
  17. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/Rakefile +0 -0
  18. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/TODO +0 -0
  19. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/VERSION +0 -0
  20. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log +0 -0
  21. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat +0 -0
  22. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat +0 -0
  23. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat +0 -0
  24. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat +0 -0
  25. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat +0 -0
  26. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat +0 -0
  27. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log +0 -0
  28. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat +0 -0
  29. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat +0 -0
  30. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat +0 -0
  31. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat +0 -0
  32. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat +0 -0
  33. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat +0 -0
  34. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log +0 -0
  35. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat +0 -0
  36. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat +0 -0
  37. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log +0 -0
  38. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log +0 -0
  39. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat +0 -0
  40. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat +0 -0
  41. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log +0 -0
  42. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat +0 -0
  43. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat +0 -0
  44. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log +0 -0
  45. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat +0 -0
  46. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat +0 -0
  47. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log +0 -0
  48. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat +0 -0
  49. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat +0 -0
  50. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log +0 -0
  51. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/generator_benchmark.rb +0 -0
  52. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/benchmarks/parser_benchmark.rb +0 -0
  53. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/bin/edit_json.rb +0 -0
  54. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/bin/prettify_json.rb +0 -0
  55. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/data/example.json +0 -0
  56. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/data/index.html +0 -0
  57. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/data/prototype.js +0 -0
  58. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/doc-templates/main.txt +0 -0
  59. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/ext/json/ext/generator/extconf.rb +0 -0
  60. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/ext/json/ext/generator/generator.c +0 -0
  61. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/ext/json/ext/generator/unicode.c +0 -0
  62. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/ext/json/ext/generator/unicode.h +0 -0
  63. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/ext/json/ext/parser/extconf.rb +0 -0
  64. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/ext/json/ext/parser/parser.c +0 -0
  65. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/ext/json/ext/parser/parser.rl +0 -0
  66. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/ext/json/ext/parser/unicode.c +0 -0
  67. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/ext/json/ext/parser/unicode.h +0 -0
  68. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/install.rb +0 -0
  69. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/Array.xpm +0 -0
  70. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/FalseClass.xpm +0 -0
  71. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/Hash.xpm +0 -0
  72. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/Key.xpm +0 -0
  73. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/NilClass.xpm +0 -0
  74. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/Numeric.xpm +0 -0
  75. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/String.xpm +0 -0
  76. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/TrueClass.xpm +0 -0
  77. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/add/core.rb +0 -0
  78. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/add/rails.rb +0 -0
  79. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/common.rb +0 -0
  80. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/editor.rb +0 -0
  81. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/ext.rb +0 -0
  82. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/json.xpm +0 -0
  83. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/pure/generator.rb +0 -0
  84. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/pure/parser.rb +0 -0
  85. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/pure.rb +0 -0
  86. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json/version.rb +0 -0
  87. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/lib/json.rb +0 -0
  88. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail1.json +0 -0
  89. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail10.json +0 -0
  90. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail11.json +0 -0
  91. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail12.json +0 -0
  92. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail13.json +0 -0
  93. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail14.json +0 -0
  94. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail18.json +0 -0
  95. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail19.json +0 -0
  96. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail2.json +0 -0
  97. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail20.json +0 -0
  98. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail21.json +0 -0
  99. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail22.json +0 -0
  100. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail23.json +0 -0
  101. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail24.json +0 -0
  102. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail25.json +0 -0
  103. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail27.json +0 -0
  104. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail28.json +0 -0
  105. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail3.json +0 -0
  106. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail4.json +0 -0
  107. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail5.json +0 -0
  108. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail6.json +0 -0
  109. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail7.json +0 -0
  110. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail8.json +0 -0
  111. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/fail9.json +0 -0
  112. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/pass1.json +0 -0
  113. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/pass15.json +0 -0
  114. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/pass16.json +0 -0
  115. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/pass17.json +0 -0
  116. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/pass2.json +0 -0
  117. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/pass26.json +0 -0
  118. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/fixtures/pass3.json +0 -0
  119. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/test_json.rb +0 -0
  120. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/test_json_addition.rb +0 -0
  121. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/test_json_fixtures.rb +0 -0
  122. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/test_json_generate.rb +0 -0
  123. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/test_json_rails.rb +0 -0
  124. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tests/test_json_unicode.rb +0 -0
  125. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tools/fuzz.rb +0 -0
  126. /data/{vendor → lib/crazy_ivan/vendor}/json-1.1.7/tools/server.rb +0 -0
data/Rakefile CHANGED
@@ -17,7 +17,6 @@ begin
17
17
  gem.email = "edward@edwardog.net"
18
18
  gem.homepage = "http://github.com/edward/crazy_ivan"
19
19
  gem.authors = ["Edward Ocampo-Gooding"]
20
- gem.rubyforge_project = "crazyivan"
21
20
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
22
21
  end
23
22
 
@@ -27,32 +26,6 @@ rescue LoadError
27
26
  puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
28
27
  end
29
28
 
30
- begin
31
- require 'rake/contrib/sshpublisher'
32
- namespace :rubyforge do
33
-
34
- desc "Release gem and RDoc documentation to RubyForge"
35
- task :release => ["rubyforge:release:gem", "rubyforge:release:docs"]
36
-
37
- namespace :release do
38
- desc "Publish RDoc to RubyForge."
39
- task :docs => [:rdoc] do
40
- config = YAML.load(
41
- File.read(File.expand_path('~/.rubyforge/user-config.yml'))
42
- )
43
-
44
- host = "#{config['username']}@rubyforge.org"
45
- remote_dir = "/var/www/gforge-projects/crazyivan/"
46
- local_dir = 'rdoc'
47
-
48
- Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload
49
- end
50
- end
51
- end
52
- rescue LoadError
53
- puts "Rake SshDirPublisher is unavailable or your rubyforge environment is not configured."
54
- end
55
-
56
29
  require 'rake/testtask'
57
30
  Rake::TestTask.new(:test) do |test|
58
31
  test.libs << 'lib' << 'test'
@@ -60,19 +33,6 @@ Rake::TestTask.new(:test) do |test|
60
33
  test.verbose = true
61
34
  end
62
35
 
63
- begin
64
- require 'rcov/rcovtask'
65
- Rcov::RcovTask.new do |test|
66
- test.libs << 'test'
67
- test.pattern = 'test/**/*_test.rb'
68
- test.verbose = true
69
- end
70
- rescue LoadError
71
- task :rcov do
72
- abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
73
- end
74
- end
75
-
76
36
  task :test => :check_dependencies
77
37
 
78
38
  task :default => :test
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.2
1
+ 0.3.3
data/bin/crazy_ivan CHANGED
@@ -1,72 +1,20 @@
1
- #!/usr/bin/env ruby -wKU
1
+ #!/usr/bin/env ruby
2
2
 
3
- require File.join(File.dirname(__FILE__), *%w[.. lib crazy_ivan])
4
- require File.join(File.dirname(__FILE__), *%w[.. vendor json-1.1.7 lib json])
3
+ begin
4
+ gem 'crazy_ivan'
5
+ rescue LoadError
6
+ # If people are not using gems, the load path must still
7
+ # be correct.
8
+ # TODO: Remove the begin / rescue block somehow
9
+ $:.unshift File.dirname(__FILE__) + '/../lib'
10
+ retry
11
+ end
12
+
13
+ require 'crazy_ivan'
5
14
  require "optparse"
6
15
  require "logger"
7
16
 
8
- CRAZY_IVAN_VERSION = File.read(File.join(File.dirname(__FILE__), *%w[.. VERSION]))
9
-
10
- def setup
11
- Dir['*'].each do |dir|
12
- Dir.chdir(dir) do
13
- FileUtils.mkdir_p('.ci')
14
-
15
- Dir.chdir('.ci') do
16
- File.open('update', 'w+') do |f|
17
- f.puts "#!/usr/bin/env bash"
18
- f.puts
19
- f.puts "# This script updates your code"
20
- f.puts "#"
21
- f.puts "# If you're not using a code repository system, this script could just do some"
22
- f.puts "# some basic copying commands."
23
- f.puts
24
- f.puts "git pull"
25
- end
26
-
27
- File.open('version', 'w+') do |f|
28
- f.puts "#!/usr/bin/env ruby -wKU"
29
- f.puts
30
- f.puts "# This script grabs a unique hash from your version control system"
31
- f.puts "#"
32
- f.puts "# If you're not able to use a VCS, this script could just generate a timestamp."
33
- f.puts
34
- f.puts "puts `git show`[/^commit (.+)$/, 1]"
35
- end
36
-
37
- File.open('test', 'w+') do |f|
38
- f.puts "#!/usr/bin/env bash"
39
- f.puts
40
- f.puts "# This script runs your testing suite. For a typical Ruby project running"
41
- f.puts "# test-unit this is probably all you need."
42
- f.puts
43
- f.puts "rake"
44
- end
45
-
46
- File.chmod 0755, 'update', 'version', 'test'
47
- end
48
-
49
- puts
50
- puts "Created #{dir}/.ci/update"
51
- puts " #{' ' * (dir + "/.ci").size}/version"
52
- puts " #{' ' * (dir + "/.ci").size}/test"
53
- puts
54
- puts "Take a look at those 3 scripts to make sure "
55
- puts "they do the right thing for each case."
56
- puts
57
- end
58
- end
59
- end
60
-
61
- def generate_test_reports_in(output_directory)
62
- Dir['*'].each do |dir|
63
- if File.directory?(dir)
64
- report = ReportAssembler.new(output_directory)
65
- report.test_results << TestRunner.new(dir).invoke
66
- report.generate
67
- end
68
- end
69
- end
17
+ Signal.trap("INT") { puts; exit }
70
18
 
71
19
  def show_howto
72
20
  puts "Hankering for a continuous integration server, eh?"
@@ -107,7 +55,7 @@ ARGV.options do |opts|
107
55
  end
108
56
 
109
57
  opts.on_tail("--version", "Show version") do
110
- puts CRAZY_IVAN_VERSION
58
+ puts CrazyIvan::VERSION
111
59
  exit
112
60
  end
113
61
 
@@ -116,11 +64,9 @@ ARGV.options do |opts|
116
64
 
117
65
  case ARGV[0]
118
66
  when /setup/
119
- setup
120
- when /\w+/
121
- output_directory = ARGV[0]
122
- FileUtils.mkdir_p(output_directory)
123
- generate_test_reports_in(output_directory)
67
+ CrazyIvan::setup
68
+ when /\w+/ # a directory for test results
69
+ CrazyIvan::generate_test_reports_in(ARGV[0])
124
70
  else
125
71
  show_howto
126
72
  exit
data/crazy_ivan.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{crazy_ivan}
8
- s.version = "0.3.2"
8
+ s.version = "0.3.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Edward Ocampo-Gooding"]
12
- s.date = %q{2009-11-29}
12
+ s.date = %q{2009-11-30}
13
13
  s.default_executable = %q{crazy_ivan}
14
14
  s.description = %q{Continuous integration should really just be a script that captures the output of running your project update & test commands and presents recent results in a static html page.
15
15
 
@@ -39,6 +39,122 @@ Gem::Specification.new do |s|
39
39
  "lib/crazy_ivan/html_asset_crush.rb",
40
40
  "lib/crazy_ivan/report_assembler.rb",
41
41
  "lib/crazy_ivan/test_runner.rb",
42
+ "lib/crazy_ivan/vendor/json-1.1.7/CHANGES",
43
+ "lib/crazy_ivan/vendor/json-1.1.7/GPL",
44
+ "lib/crazy_ivan/vendor/json-1.1.7/README",
45
+ "lib/crazy_ivan/vendor/json-1.1.7/RUBY",
46
+ "lib/crazy_ivan/vendor/json-1.1.7/Rakefile",
47
+ "lib/crazy_ivan/vendor/json-1.1.7/TODO",
48
+ "lib/crazy_ivan/vendor/json-1.1.7/VERSION",
49
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log",
50
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat",
51
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat",
52
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat",
53
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat",
54
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat",
55
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat",
56
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log",
57
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat",
58
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat",
59
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat",
60
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat",
61
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat",
62
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat",
63
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log",
64
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat",
65
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat",
66
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log",
67
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log",
68
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat",
69
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat",
70
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log",
71
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat",
72
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat",
73
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log",
74
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat",
75
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat",
76
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log",
77
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat",
78
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat",
79
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log",
80
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/generator_benchmark.rb",
81
+ "lib/crazy_ivan/vendor/json-1.1.7/benchmarks/parser_benchmark.rb",
82
+ "lib/crazy_ivan/vendor/json-1.1.7/bin/edit_json.rb",
83
+ "lib/crazy_ivan/vendor/json-1.1.7/bin/prettify_json.rb",
84
+ "lib/crazy_ivan/vendor/json-1.1.7/data/example.json",
85
+ "lib/crazy_ivan/vendor/json-1.1.7/data/index.html",
86
+ "lib/crazy_ivan/vendor/json-1.1.7/data/prototype.js",
87
+ "lib/crazy_ivan/vendor/json-1.1.7/doc-templates/main.txt",
88
+ "lib/crazy_ivan/vendor/json-1.1.7/ext/json/ext/generator/extconf.rb",
89
+ "lib/crazy_ivan/vendor/json-1.1.7/ext/json/ext/generator/generator.c",
90
+ "lib/crazy_ivan/vendor/json-1.1.7/ext/json/ext/generator/unicode.c",
91
+ "lib/crazy_ivan/vendor/json-1.1.7/ext/json/ext/generator/unicode.h",
92
+ "lib/crazy_ivan/vendor/json-1.1.7/ext/json/ext/parser/extconf.rb",
93
+ "lib/crazy_ivan/vendor/json-1.1.7/ext/json/ext/parser/parser.c",
94
+ "lib/crazy_ivan/vendor/json-1.1.7/ext/json/ext/parser/parser.rl",
95
+ "lib/crazy_ivan/vendor/json-1.1.7/ext/json/ext/parser/unicode.c",
96
+ "lib/crazy_ivan/vendor/json-1.1.7/ext/json/ext/parser/unicode.h",
97
+ "lib/crazy_ivan/vendor/json-1.1.7/install.rb",
98
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json.rb",
99
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/Array.xpm",
100
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/FalseClass.xpm",
101
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/Hash.xpm",
102
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/Key.xpm",
103
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/NilClass.xpm",
104
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/Numeric.xpm",
105
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/String.xpm",
106
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/TrueClass.xpm",
107
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/add/core.rb",
108
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/add/rails.rb",
109
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/common.rb",
110
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/editor.rb",
111
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/ext.rb",
112
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/json.xpm",
113
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/pure.rb",
114
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/pure/generator.rb",
115
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/pure/parser.rb",
116
+ "lib/crazy_ivan/vendor/json-1.1.7/lib/json/version.rb",
117
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail1.json",
118
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail10.json",
119
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail11.json",
120
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail12.json",
121
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail13.json",
122
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail14.json",
123
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail18.json",
124
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail19.json",
125
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail2.json",
126
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail20.json",
127
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail21.json",
128
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail22.json",
129
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail23.json",
130
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail24.json",
131
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail25.json",
132
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail27.json",
133
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail28.json",
134
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail3.json",
135
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail4.json",
136
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail5.json",
137
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail6.json",
138
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail7.json",
139
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail8.json",
140
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/fail9.json",
141
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/pass1.json",
142
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/pass15.json",
143
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/pass16.json",
144
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/pass17.json",
145
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/pass2.json",
146
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/pass26.json",
147
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/fixtures/pass3.json",
148
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/test_json.rb",
149
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/test_json_addition.rb",
150
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/test_json_fixtures.rb",
151
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/test_json_generate.rb",
152
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/test_json_rails.rb",
153
+ "lib/crazy_ivan/vendor/json-1.1.7/tests/test_json_unicode.rb",
154
+ "lib/crazy_ivan/vendor/json-1.1.7/tools/fuzz.rb",
155
+ "lib/crazy_ivan/vendor/json-1.1.7/tools/server.rb",
156
+ "lib/crazy_ivan/vendor/json.rb",
157
+ "lib/crazy_ivan/version.rb",
42
158
  "templates/css/ci.css",
43
159
  "templates/index.html",
44
160
  "templates/javascript/builder.js",
@@ -51,126 +167,11 @@ Gem::Specification.new do |s|
51
167
  "templates/javascript/scriptaculous.js",
52
168
  "templates/javascript/slider.js",
53
169
  "test/crazy_ivan_test.rb",
54
- "test/test_helper.rb",
55
- "vendor/json-1.1.7/CHANGES",
56
- "vendor/json-1.1.7/GPL",
57
- "vendor/json-1.1.7/README",
58
- "vendor/json-1.1.7/RUBY",
59
- "vendor/json-1.1.7/Rakefile",
60
- "vendor/json-1.1.7/TODO",
61
- "vendor/json-1.1.7/VERSION",
62
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log",
63
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat",
64
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat",
65
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat",
66
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat",
67
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat",
68
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat",
69
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log",
70
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat",
71
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat",
72
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat",
73
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat",
74
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat",
75
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat",
76
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log",
77
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat",
78
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat",
79
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log",
80
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log",
81
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat",
82
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat",
83
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log",
84
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat",
85
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat",
86
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log",
87
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat",
88
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat",
89
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log",
90
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat",
91
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat",
92
- "vendor/json-1.1.7/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log",
93
- "vendor/json-1.1.7/benchmarks/generator_benchmark.rb",
94
- "vendor/json-1.1.7/benchmarks/parser_benchmark.rb",
95
- "vendor/json-1.1.7/bin/edit_json.rb",
96
- "vendor/json-1.1.7/bin/prettify_json.rb",
97
- "vendor/json-1.1.7/data/example.json",
98
- "vendor/json-1.1.7/data/index.html",
99
- "vendor/json-1.1.7/data/prototype.js",
100
- "vendor/json-1.1.7/doc-templates/main.txt",
101
- "vendor/json-1.1.7/ext/json/ext/generator/extconf.rb",
102
- "vendor/json-1.1.7/ext/json/ext/generator/generator.c",
103
- "vendor/json-1.1.7/ext/json/ext/generator/unicode.c",
104
- "vendor/json-1.1.7/ext/json/ext/generator/unicode.h",
105
- "vendor/json-1.1.7/ext/json/ext/parser/extconf.rb",
106
- "vendor/json-1.1.7/ext/json/ext/parser/parser.c",
107
- "vendor/json-1.1.7/ext/json/ext/parser/parser.rl",
108
- "vendor/json-1.1.7/ext/json/ext/parser/unicode.c",
109
- "vendor/json-1.1.7/ext/json/ext/parser/unicode.h",
110
- "vendor/json-1.1.7/install.rb",
111
- "vendor/json-1.1.7/lib/json.rb",
112
- "vendor/json-1.1.7/lib/json/Array.xpm",
113
- "vendor/json-1.1.7/lib/json/FalseClass.xpm",
114
- "vendor/json-1.1.7/lib/json/Hash.xpm",
115
- "vendor/json-1.1.7/lib/json/Key.xpm",
116
- "vendor/json-1.1.7/lib/json/NilClass.xpm",
117
- "vendor/json-1.1.7/lib/json/Numeric.xpm",
118
- "vendor/json-1.1.7/lib/json/String.xpm",
119
- "vendor/json-1.1.7/lib/json/TrueClass.xpm",
120
- "vendor/json-1.1.7/lib/json/add/core.rb",
121
- "vendor/json-1.1.7/lib/json/add/rails.rb",
122
- "vendor/json-1.1.7/lib/json/common.rb",
123
- "vendor/json-1.1.7/lib/json/editor.rb",
124
- "vendor/json-1.1.7/lib/json/ext.rb",
125
- "vendor/json-1.1.7/lib/json/json.xpm",
126
- "vendor/json-1.1.7/lib/json/pure.rb",
127
- "vendor/json-1.1.7/lib/json/pure/generator.rb",
128
- "vendor/json-1.1.7/lib/json/pure/parser.rb",
129
- "vendor/json-1.1.7/lib/json/version.rb",
130
- "vendor/json-1.1.7/tests/fixtures/fail1.json",
131
- "vendor/json-1.1.7/tests/fixtures/fail10.json",
132
- "vendor/json-1.1.7/tests/fixtures/fail11.json",
133
- "vendor/json-1.1.7/tests/fixtures/fail12.json",
134
- "vendor/json-1.1.7/tests/fixtures/fail13.json",
135
- "vendor/json-1.1.7/tests/fixtures/fail14.json",
136
- "vendor/json-1.1.7/tests/fixtures/fail18.json",
137
- "vendor/json-1.1.7/tests/fixtures/fail19.json",
138
- "vendor/json-1.1.7/tests/fixtures/fail2.json",
139
- "vendor/json-1.1.7/tests/fixtures/fail20.json",
140
- "vendor/json-1.1.7/tests/fixtures/fail21.json",
141
- "vendor/json-1.1.7/tests/fixtures/fail22.json",
142
- "vendor/json-1.1.7/tests/fixtures/fail23.json",
143
- "vendor/json-1.1.7/tests/fixtures/fail24.json",
144
- "vendor/json-1.1.7/tests/fixtures/fail25.json",
145
- "vendor/json-1.1.7/tests/fixtures/fail27.json",
146
- "vendor/json-1.1.7/tests/fixtures/fail28.json",
147
- "vendor/json-1.1.7/tests/fixtures/fail3.json",
148
- "vendor/json-1.1.7/tests/fixtures/fail4.json",
149
- "vendor/json-1.1.7/tests/fixtures/fail5.json",
150
- "vendor/json-1.1.7/tests/fixtures/fail6.json",
151
- "vendor/json-1.1.7/tests/fixtures/fail7.json",
152
- "vendor/json-1.1.7/tests/fixtures/fail8.json",
153
- "vendor/json-1.1.7/tests/fixtures/fail9.json",
154
- "vendor/json-1.1.7/tests/fixtures/pass1.json",
155
- "vendor/json-1.1.7/tests/fixtures/pass15.json",
156
- "vendor/json-1.1.7/tests/fixtures/pass16.json",
157
- "vendor/json-1.1.7/tests/fixtures/pass17.json",
158
- "vendor/json-1.1.7/tests/fixtures/pass2.json",
159
- "vendor/json-1.1.7/tests/fixtures/pass26.json",
160
- "vendor/json-1.1.7/tests/fixtures/pass3.json",
161
- "vendor/json-1.1.7/tests/test_json.rb",
162
- "vendor/json-1.1.7/tests/test_json_addition.rb",
163
- "vendor/json-1.1.7/tests/test_json_fixtures.rb",
164
- "vendor/json-1.1.7/tests/test_json_generate.rb",
165
- "vendor/json-1.1.7/tests/test_json_rails.rb",
166
- "vendor/json-1.1.7/tests/test_json_unicode.rb",
167
- "vendor/json-1.1.7/tools/fuzz.rb",
168
- "vendor/json-1.1.7/tools/server.rb"
170
+ "test/test_helper.rb"
169
171
  ]
170
172
  s.homepage = %q{http://github.com/edward/crazy_ivan}
171
173
  s.rdoc_options = ["--charset=UTF-8"]
172
174
  s.require_paths = ["lib"]
173
- s.rubyforge_project = %q{crazyivan}
174
175
  s.rubygems_version = %q{1.3.5}
175
176
  s.summary = %q{Crazy Ivan (CI) is simplest possible continuous integration tool.}
176
177
  s.test_files = [
@@ -1,7 +1,7 @@
1
1
  class ReportAssembler
2
2
  MAXIMUM_RECENTS = 10
3
3
  ROOT_PATH = File.expand_path(File.dirname(__FILE__))
4
- TEMPLATES_PATH = File.join(ROOT_PATH, *%w[.. templates])
4
+ TEMPLATES_PATH = File.join(ROOT_PATH, *%w[.. .. templates])
5
5
 
6
6
  attr_accessor :test_results
7
7
 
@@ -37,7 +37,7 @@ class ReportAssembler
37
37
  filename = filename_from_version(result.version_output)
38
38
  File.open("#{filename}.json", 'w+') do |f|
39
39
  f.puts({
40
- "version" => result.version_output,
40
+ "version" => [result.version_error, result.version_output].join,
41
41
  "timestamp" => result.timestamp,
42
42
  "update" => result.update_output,
43
43
  "update_error" => result.update_error,
@@ -2,7 +2,7 @@ require 'open3'
2
2
 
3
3
  class TestRunner
4
4
 
5
- class Result < Struct.new(:project_name, :update_output, :version_output, :test_output, :update_error, :test_error, :timestamp)
5
+ class Result < Struct.new(:project_name, :version_output, :update_output, :test_output, :version_error, :update_error, :test_error, :timestamp)
6
6
  end
7
7
 
8
8
  def initialize(project_path)
@@ -53,14 +53,21 @@ class TestRunner
53
53
 
54
54
  def invoke
55
55
  if valid?
56
- project_name = @project_path.split(File::SEPARATOR).last
56
+ project_name = File.basename(@project_path)
57
57
  results = Result.new(project_name)
58
58
 
59
- results.version_output = run_script('version').join
60
- results.update_output, results.update_error = run_script('update')
59
+ results.version_output, results.version_error = run_script('version')
60
+
61
+ if results.version_error.empty?
62
+ results.update_output, results.update_error = run_script('update')
63
+ else
64
+ results.update_output, results.update_error = '', ''
65
+ end
61
66
 
62
67
  if results.update_error.empty?
63
68
  results.test_output, results.test_error = run_script('test')
69
+ else
70
+ results.test_output, results.test_error = '', ''
64
71
  end
65
72
 
66
73
  results.timestamp = Time.now
@@ -0,0 +1,10 @@
1
+ # Prefer gems to the bundled libs.
2
+ require 'rubygems'
3
+
4
+ begin
5
+ gem 'json', '~> 1.1.7'
6
+ rescue LoadError
7
+ $:.unshift "#{File.dirname(__FILE__)}/json-1.1.7"
8
+ end
9
+
10
+ require 'json'
@@ -0,0 +1,9 @@
1
+ module CrazyIvan
2
+ module VERSION #:nodoc:
3
+ MAJOR = 3
4
+ MINOR = 2
5
+ TINY = 3
6
+
7
+ STRING = [MAJOR, MINOR, TINY].join('.')
8
+ end
9
+ end
data/lib/crazy_ivan.rb CHANGED
@@ -1,6 +1,73 @@
1
1
  require 'fileutils'
2
- require 'yaml'
3
-
4
2
  require 'crazy_ivan/report_assembler'
5
3
  require 'crazy_ivan/test_runner'
6
- require 'crazy_ivan/html_asset_crush'
4
+ require 'crazy_ivan/html_asset_crush'
5
+ require 'crazy_ivan/version'
6
+ require 'crazy_ivan/vendor/json'
7
+
8
+ module CrazyIvan
9
+ def self.setup
10
+ Dir['*'].each do |dir|
11
+ Dir.chdir(dir) do
12
+ FileUtils.mkdir_p('.ci')
13
+
14
+ Dir.chdir('.ci') do
15
+ File.open('version', 'w+') do |f|
16
+ f.puts "#!/usr/bin/env ruby"
17
+ f.puts
18
+ f.puts "# This script grabs a unique hash from your version control system"
19
+ f.puts "#"
20
+ f.puts "# If you're not able to use a VCS, this script could just generate a timestamp."
21
+ f.puts
22
+ f.puts "puts `git show`[/^commit (.+)$/, 1]"
23
+ end
24
+
25
+ File.open('update', 'w+') do |f|
26
+ f.puts "#!/usr/bin/env bash"
27
+ f.puts
28
+ f.puts "# This script updates your code"
29
+ f.puts "#"
30
+ f.puts "# If you can’t use a version control system, this script could just do some"
31
+ f.puts "# some basic copying commands."
32
+ f.puts
33
+ f.puts "git pull"
34
+ end
35
+
36
+ File.open('test', 'w+') do |f|
37
+ f.puts "#!/usr/bin/env bash"
38
+ f.puts
39
+ f.puts "# This script runs your testing suite. For a typical Ruby project running"
40
+ f.puts "# test-unit this is probably all you need."
41
+ f.puts
42
+ f.puts "rake"
43
+ end
44
+
45
+ File.chmod 0755, 'update', 'version', 'test'
46
+ end
47
+
48
+ puts
49
+ puts "Created #{dir}/.ci/update"
50
+ puts " #{' ' * (dir + "/.ci").size}/version"
51
+ puts " #{' ' * (dir + "/.ci").size}/test"
52
+ puts
53
+ puts "Take a look at those 3 scripts to make sure "
54
+ puts "they do the right thing for each case."
55
+ puts
56
+ end
57
+ end
58
+ end
59
+
60
+ def self.generate_test_reports_in(output_directory)
61
+ FileUtils.mkdir_p(output_directory)
62
+ report = ReportAssembler.new(output_directory)
63
+
64
+ Dir['*'].each do |dir|
65
+ if File.directory?(dir)
66
+ report.test_results << TestRunner.new(dir).invoke
67
+ end
68
+ end
69
+
70
+ report.generate
71
+ puts "Generated test reports for #{report.test_results.size} projects"
72
+ end
73
+ end