infinity_test 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. data/.gitignore +10 -0
  2. data/.infinity_test +8 -0
  3. data/.rspec +1 -0
  4. data/.rvmrc +1 -0
  5. data/Gemfile +11 -0
  6. data/Rakefile +49 -0
  7. data/Readme.markdown +92 -0
  8. data/Tasks +5 -0
  9. data/VERSION.yml +5 -0
  10. data/bin/infinity_test +7 -0
  11. data/buzz_images/buzz_lightyear.jpg +0 -0
  12. data/buzz_images/buzz_lightyear_continencia.gif +0 -0
  13. data/buzz_images/to_infinity_and_beyond.png +0 -0
  14. data/features/infinity_test.feature +36 -0
  15. data/features/support/env.rb +1 -0
  16. data/images/faces/failure.png +0 -0
  17. data/images/faces/pending.png +0 -0
  18. data/images/faces/sucess.png +0 -0
  19. data/images/hands/failure.png +0 -0
  20. data/images/hands/pending.png +0 -0
  21. data/images/hands/sucess.png +0 -0
  22. data/images/mario_bros/failure.jpg +0 -0
  23. data/images/mario_bros/pending.jpg +0 -0
  24. data/images/mario_bros/sucess.jpg +0 -0
  25. data/images/rails/failure.png +0 -0
  26. data/images/rails/pending.png +0 -0
  27. data/images/rails/sucess.png +0 -0
  28. data/images/rubies/failure.png +0 -0
  29. data/images/rubies/pending.png +0 -0
  30. data/images/rubies/sucess.png +0 -0
  31. data/images/simpson/failure.gif +0 -0
  32. data/images/simpson/pending.jpg +0 -0
  33. data/images/simpson/sucess.jpg +0 -0
  34. data/images/street_fighter/failure.gif +0 -0
  35. data/images/street_fighter/pending.gif +0 -0
  36. data/images/street_fighter/sucess.jpg +0 -0
  37. data/images/toy_story/failure.gif +0 -0
  38. data/images/toy_story/pending.png +0 -0
  39. data/images/toy_story/sucess.png +0 -0
  40. data/infinity_test.gemspec +168 -0
  41. data/lib/infinity_test.rb +31 -0
  42. data/lib/infinity_test/application.rb +168 -0
  43. data/lib/infinity_test/binary_path.rb +21 -0
  44. data/lib/infinity_test/command.rb +57 -0
  45. data/lib/infinity_test/configuration.rb +157 -0
  46. data/lib/infinity_test/continuous_testing.rb +62 -0
  47. data/lib/infinity_test/dependencies.rb +45 -0
  48. data/lib/infinity_test/notifications/growl.rb +15 -0
  49. data/lib/infinity_test/notifications/lib_notify.rb +11 -0
  50. data/lib/infinity_test/options.rb +52 -0
  51. data/lib/infinity_test/rspec.rb +87 -0
  52. data/lib/infinity_test/runner.rb +30 -0
  53. data/lib/infinity_test/test_unit.rb +74 -0
  54. data/lib/infinity_test/test_unit_loader.rb +5 -0
  55. data/spec/factories/buzz/lib/buzz.rb +0 -0
  56. data/spec/factories/buzz/spec/buzz_spec.rb +0 -0
  57. data/spec/factories/company/lib/company.rb +0 -0
  58. data/spec/factories/company/test/company_test.rb +0 -0
  59. data/spec/factories/images/failure.png +0 -0
  60. data/spec/factories/images/pending.png +0 -0
  61. data/spec/factories/images/sucess.png +0 -0
  62. data/spec/factories/infinity_test +5 -0
  63. data/spec/factories/infinity_test_example +7 -0
  64. data/spec/factories/slinky/spec/slinky/slinky_spec.rb +0 -0
  65. data/spec/factories/travel/lib/travel.rb +0 -0
  66. data/spec/factories/travel/test/partner_test.rb +0 -0
  67. data/spec/factories/travel/test/travel_test.rb +0 -0
  68. data/spec/factories/wood/lib/wood.rb +0 -0
  69. data/spec/factories/wood/spec/wood_spec.rb +0 -0
  70. data/spec/infinity_test/application_spec.rb +149 -0
  71. data/spec/infinity_test/command_spec.rb +47 -0
  72. data/spec/infinity_test/configuration_spec.rb +196 -0
  73. data/spec/infinity_test/continuous_testing_spec.rb +7 -0
  74. data/spec/infinity_test/notifications/growl_spec.rb +9 -0
  75. data/spec/infinity_test/notifications/lib_notify_spec.rb +9 -0
  76. data/spec/infinity_test/options_spec.rb +69 -0
  77. data/spec/infinity_test/rspec_spec.rb +189 -0
  78. data/spec/infinity_test/runner_spec.rb +34 -0
  79. data/spec/infinity_test/test_unit_spec.rb +182 -0
  80. data/spec/infinity_test_spec.rb +29 -0
  81. data/spec/spec.opts +1 -0
  82. data/spec/spec_helper.rb +67 -0
  83. metadata +226 -0
@@ -0,0 +1,10 @@
1
+ *.sw?
2
+ .DS_STORE
3
+ .DS_Store
4
+ log*
5
+ pkg*
6
+ temporary
7
+ tmp/*
8
+ rerun.txt
9
+ .bundle/*
10
+ *.rbc
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ infinity_test do
4
+
5
+ use :rubies => ['1.8.7', '1.9.2', 'jruby@infinity_test', 'ree@infinity_test'], :test_framework => :rspec, :cucumber => true
6
+
7
+ end
8
+
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm 1.9.2
data/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ source :rubygems
4
+
5
+ gem 'watchr'
6
+
7
+ group :test do
8
+ gem 'rspec', ">= 2.0.0"
9
+ gem 'cucumber'
10
+ gem 'aruba'
11
+ end
@@ -0,0 +1,49 @@
1
+ # encoding: utf-8
2
+ require 'rubygems'
3
+ require 'rake'
4
+
5
+ $:.unshift(File.dirname(__FILE__) + '/lib')
6
+
7
+ POST_MESSAGE = <<-POST_INSTALL_MESSAGE
8
+
9
+ #{ '-' * 80}
10
+ T O I N F I N I T Y A N D B E Y O N D !!!
11
+
12
+ The Infinity uses the awesome RVM to run.
13
+ If you don't have the RVM installed, stop what you doing =p.
14
+ RVM Installation Instructions:
15
+ http://rvm.beginrescueend.com/rvm/install/
16
+ And don't forget to see how you can customize Infinity Test here:
17
+ http://github.com/tomas-stefano/infinity_test/wiki/Customize-Infinity-Test
18
+
19
+ Happy Coding! :)
20
+
21
+ #{ '-' * 80}
22
+
23
+ POST_INSTALL_MESSAGE
24
+
25
+ begin
26
+ require 'jeweler'
27
+ Jeweler::Tasks.new do |gemspec|
28
+ gemspec.name = "infinity_test"
29
+ gemspec.summary = "Continuous testing and a flexible alternative to Autotest using watchr and RVM"
30
+ gemspec.description = "Infinity Test is a continuous testing library and a flexible alternative to Autotest, using Watchr library with Rspec OR Test::Unit with RVM funcionality, giving the possibility to test with all Rubies that you have in your RVM configuration."
31
+ gemspec.email = "tomasdestefi@gmail.com"
32
+ gemspec.homepage = "http://github.com/tomas-stefano/infinity_test"
33
+ gemspec.authors = ["Tomas D'Stefano"]
34
+
35
+ gemspec.add_dependency('watchr', '>= 0.7')
36
+
37
+ gemspec.add_development_dependency('rspec', '>= 1.3.0')
38
+ gemspec.add_development_dependency('cucumber', '>= 0.6.2')
39
+ gemspec.add_development_dependency('aruba', '>= 0.1.7')
40
+
41
+ gemspec.post_install_message = POST_MESSAGE
42
+ end
43
+ Jeweler::GemcutterTasks.new
44
+ rescue LoadError
45
+ puts("-" * 80)
46
+ puts "Jeweler not available. Install it with:
47
+ [sudo] gem install jeweler"
48
+ puts("-" * 80)
49
+ end
@@ -0,0 +1,92 @@
1
+ # Infinity Test
2
+
3
+
4
+ Infinity Test is a continuous testing library and a flexible alternative to Autotest,
5
+ using Watchr library with Rspec OR Test::Unit with RVM funcionality,
6
+ giving the possibility to test with all <b>Rubies</b> that you have in your RVM configuration.
7
+
8
+ ## To Infinity and Beyond!
9
+
10
+ <div style="padding:2px; border:1px solid silver; float:right; margin:0 0 1em 2em; background:white">
11
+ <img src="http://github.com/tomas-stefano/infinity_test/raw/master/buzz_images/to_infinity_and_beyond.png" alt="Infinity Test" />
12
+ <p style="text-align:center"> Photo taken by <a href="http://www.mixed-metaphor.org/fan/buzz/" title="buzz-light-year"> this site </a></p>
13
+ </div>
14
+
15
+ ## Install
16
+
17
+ * The Infinity Test gem don't have a version, but <b>is looking for contributors</b>. =]
18
+
19
+ This gem will be released in September 17.
20
+
21
+ ## Running Tests only in one ruby
22
+
23
+ With Rspec:
24
+
25
+ infinity_test --rspec
26
+
27
+ With Test::Unit:
28
+
29
+ infinity_test --test-unit
30
+
31
+ ## Running Tests with many Rubies
32
+
33
+ With Rspec:
34
+
35
+ infinity_test --rspec --rubies=1.8.7,jruby,1.9.2,ree
36
+
37
+ Or with Test::Unit:
38
+
39
+ infinity_test --test-unit --rubies=1.8.7,jruby,ree,1.9.2
40
+
41
+ <b>And you are ready to Test with all ruby versions your Rspec or Test::Unit Suite with Autotest-like Behavior.</b>
42
+
43
+ ## Configuration file
44
+
45
+ ### Simple Domain Specific Language for Infinity Test file
46
+
47
+ If you don't set all the time the rubies that you want, test framework that you want, notifications that you want,
48
+ you can write some code that infinity_test understand.
49
+
50
+ So create the global file or project file called:
51
+
52
+ ~/.infinity_test or .infinity_test
53
+
54
+ infinity_test do
55
+
56
+ notifications :growl do
57
+ show_images :mode => :mario_bros
58
+ end
59
+
60
+ use :rubies => %w(1.9.1 jruby 1.9.2 ree), :test_framework => :rspec
61
+
62
+ before_run do
63
+ clear :terminal
64
+ end
65
+
66
+ after_run do
67
+ puts 'Finished!'
68
+ end
69
+
70
+ end
71
+
72
+ ### Customize the .infinity_test file
73
+
74
+ #### If you want to customize and understand the .infinity_test file, <a href='http://github.com/tomas-stefano/infinity_test/wiki/Customize-Infinity-Test'>Read this Page</a>
75
+
76
+ ## You Like it the Idea?
77
+
78
+ <b>So make a fork and start contributing =].</b>
79
+
80
+ ## You have a Feature request or Fix?
81
+
82
+ <b>Contact me in Github and let's talk! =] </b>
83
+
84
+ ## TODO
85
+
86
+ * Edit the wiki
87
+ * Working in focus files and run only the modified file (Strategies for Test::Unit, Rspec and Cucumber)
88
+
89
+ # Acknowledgments
90
+
91
+ * Thanks to Mynyml and Watchr library.
92
+ * Thanks to Waynee Seguin and the RVM.
data/Tasks ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+ class InfinityTest < Morpheus::Base
3
+ rspec :spec, :rvm_versions => %w(1.8.7-p249, 1.9.1, 1.9.2 jruby)
4
+ cucumber :features, :rvm_versions => %w(1.9.2), :format => :pretty
5
+ end
@@ -0,0 +1,5 @@
1
+ ---
2
+ :major: 0
3
+ :minor: 1
4
+ :patch: 0
5
+ :build:
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ infinity_test_directory = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
4
+ $LOAD_PATH.unshift(infinity_test_directory) unless $LOAD_PATH.include?(infinity_test_directory)
5
+ require 'infinity_test'
6
+
7
+ InfinityTest.start!
@@ -0,0 +1,36 @@
1
+ Feature: Infinity test
2
+ In order to continuous testing
3
+ As a user
4
+ I want to test my app/gem with rapid feedback
5
+
6
+ Background:
7
+ Given a file named "continuous/lib/continuous.rb" with:
8
+ """
9
+ class Continuous
10
+ end
11
+ """
12
+ And a file named "continuous/spec/continuous_spec.rb" with:
13
+ """
14
+ require 'continuous'
15
+ describe Continuous do
16
+ it "should be true" do
17
+ Continuous.new.should be_true
18
+ end
19
+ end
20
+ """
21
+ And a file named "continuous/features/continuous.feature" with:
22
+ """
23
+ """
24
+
25
+
26
+ Scenario: Show help
27
+ When I run "ruby ../../bin/infinity_test --help"
28
+ Then I should see:
29
+ """
30
+ Usage: infinity_test [options]
31
+ Starts a continuous test server.
32
+ --rspec Rspec Framework
33
+ --rvm-versions=rubies Specify the Ruby Versions for Testing with several Rubies
34
+ --help You're looking at it.
35
+ """
36
+
@@ -0,0 +1 @@
1
+ require 'aruba'
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,168 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{infinity_test}
8
+ s.version = "0.1.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Tomas D'Stefano"]
12
+ s.date = %q{2010-09-18}
13
+ s.description = %q{Infinity Test is a continuous testing library and a flexible alternative to Autotest, using Watchr library with Rspec OR Test::Unit with RVM funcionality, giving the possibility to test with all Rubies that you have in your RVM configuration.}
14
+ s.email = %q{tomasdestefi@gmail.com}
15
+ s.executables = ["infinity_test", "infinity_test.compiled.rbc"]
16
+ s.files = [
17
+ ".gitignore",
18
+ ".infinity_test",
19
+ ".rspec",
20
+ ".rvmrc",
21
+ "Gemfile",
22
+ "Rakefile",
23
+ "Readme.markdown",
24
+ "Tasks",
25
+ "VERSION.yml",
26
+ "bin/infinity_test",
27
+ "buzz_images/buzz_lightyear.jpg",
28
+ "buzz_images/buzz_lightyear_continencia.gif",
29
+ "buzz_images/to_infinity_and_beyond.png",
30
+ "features/infinity_test.feature",
31
+ "features/support/env.rb",
32
+ "images/faces/failure.png",
33
+ "images/faces/pending.png",
34
+ "images/faces/sucess.png",
35
+ "images/hands/failure.png",
36
+ "images/hands/pending.png",
37
+ "images/hands/sucess.png",
38
+ "images/mario_bros/failure.jpg",
39
+ "images/mario_bros/pending.jpg",
40
+ "images/mario_bros/sucess.jpg",
41
+ "images/rails/failure.png",
42
+ "images/rails/pending.png",
43
+ "images/rails/sucess.png",
44
+ "images/rubies/failure.png",
45
+ "images/rubies/pending.png",
46
+ "images/rubies/sucess.png",
47
+ "images/simpson/failure.gif",
48
+ "images/simpson/pending.jpg",
49
+ "images/simpson/sucess.jpg",
50
+ "images/street_fighter/failure.gif",
51
+ "images/street_fighter/pending.gif",
52
+ "images/street_fighter/sucess.jpg",
53
+ "images/toy_story/failure.gif",
54
+ "images/toy_story/pending.png",
55
+ "images/toy_story/sucess.png",
56
+ "infinity_test.gemspec",
57
+ "lib/infinity_test.rb",
58
+ "lib/infinity_test/application.rb",
59
+ "lib/infinity_test/binary_path.rb",
60
+ "lib/infinity_test/command.rb",
61
+ "lib/infinity_test/configuration.rb",
62
+ "lib/infinity_test/continuous_testing.rb",
63
+ "lib/infinity_test/dependencies.rb",
64
+ "lib/infinity_test/notifications/growl.rb",
65
+ "lib/infinity_test/notifications/lib_notify.rb",
66
+ "lib/infinity_test/options.rb",
67
+ "lib/infinity_test/rspec.rb",
68
+ "lib/infinity_test/runner.rb",
69
+ "lib/infinity_test/test_unit.rb",
70
+ "lib/infinity_test/test_unit_loader.rb",
71
+ "spec/factories/buzz/lib/buzz.rb",
72
+ "spec/factories/buzz/spec/buzz_spec.rb",
73
+ "spec/factories/company/lib/company.rb",
74
+ "spec/factories/company/test/company_test.rb",
75
+ "spec/factories/images/failure.png",
76
+ "spec/factories/images/pending.png",
77
+ "spec/factories/images/sucess.png",
78
+ "spec/factories/infinity_test",
79
+ "spec/factories/infinity_test_example",
80
+ "spec/factories/slinky/spec/slinky/slinky_spec.rb",
81
+ "spec/factories/travel/lib/travel.rb",
82
+ "spec/factories/travel/test/partner_test.rb",
83
+ "spec/factories/travel/test/travel_test.rb",
84
+ "spec/factories/wood/lib/wood.rb",
85
+ "spec/factories/wood/spec/wood_spec.rb",
86
+ "spec/infinity_test/application_spec.rb",
87
+ "spec/infinity_test/command_spec.rb",
88
+ "spec/infinity_test/configuration_spec.rb",
89
+ "spec/infinity_test/continuous_testing_spec.rb",
90
+ "spec/infinity_test/notifications/growl_spec.rb",
91
+ "spec/infinity_test/notifications/lib_notify_spec.rb",
92
+ "spec/infinity_test/options_spec.rb",
93
+ "spec/infinity_test/rspec_spec.rb",
94
+ "spec/infinity_test/runner_spec.rb",
95
+ "spec/infinity_test/test_unit_spec.rb",
96
+ "spec/infinity_test_spec.rb",
97
+ "spec/spec.opts",
98
+ "spec/spec_helper.rb"
99
+ ]
100
+ s.homepage = %q{http://github.com/tomas-stefano/infinity_test}
101
+ s.post_install_message = %q{
102
+ --------------------------------------------------------------------------------
103
+ T O I N F I N I T Y A N D B E Y O N D !!!
104
+
105
+ The Infinity uses the awesome RVM to run.
106
+ If you don't have the RVM installed, stop what you doing =p.
107
+ RVM Installation Instructions:
108
+ http://rvm.beginrescueend.com/rvm/install/
109
+ And don't forget to see how you can customize Infinity Test here:
110
+ http://github.com/tomas-stefano/infinity_test/wiki/Customize-Infinity-Test
111
+
112
+ Happy Coding! :)
113
+
114
+ --------------------------------------------------------------------------------
115
+
116
+ }
117
+ s.rdoc_options = ["--charset=UTF-8"]
118
+ s.require_paths = ["lib"]
119
+ s.rubygems_version = %q{1.3.7}
120
+ s.summary = %q{Continuous testing and a flexible alternative to Autotest using watchr and RVM}
121
+ s.test_files = [
122
+ "spec/factories/buzz/lib/buzz.rb",
123
+ "spec/factories/buzz/spec/buzz_spec.rb",
124
+ "spec/factories/company/lib/company.rb",
125
+ "spec/factories/company/test/company_test.rb",
126
+ "spec/factories/slinky/spec/slinky/slinky_spec.rb",
127
+ "spec/factories/travel/lib/travel.rb",
128
+ "spec/factories/travel/test/partner_test.rb",
129
+ "spec/factories/travel/test/travel_test.rb",
130
+ "spec/factories/wood/lib/wood.rb",
131
+ "spec/factories/wood/spec/wood_spec.rb",
132
+ "spec/infinity_test/application_spec.rb",
133
+ "spec/infinity_test/command_spec.rb",
134
+ "spec/infinity_test/configuration_spec.rb",
135
+ "spec/infinity_test/continuous_testing_spec.rb",
136
+ "spec/infinity_test/notifications/growl_spec.rb",
137
+ "spec/infinity_test/notifications/lib_notify_spec.rb",
138
+ "spec/infinity_test/options_spec.rb",
139
+ "spec/infinity_test/rspec_spec.rb",
140
+ "spec/infinity_test/runner_spec.rb",
141
+ "spec/infinity_test/test_unit_spec.rb",
142
+ "spec/infinity_test_spec.rb",
143
+ "spec/spec_helper.rb"
144
+ ]
145
+
146
+ if s.respond_to? :specification_version then
147
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
148
+ s.specification_version = 3
149
+
150
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
151
+ s.add_runtime_dependency(%q<watchr>, [">= 0.7"])
152
+ s.add_development_dependency(%q<rspec>, [">= 1.3.0"])
153
+ s.add_development_dependency(%q<cucumber>, [">= 0.6.2"])
154
+ s.add_development_dependency(%q<aruba>, [">= 0.1.7"])
155
+ else
156
+ s.add_dependency(%q<watchr>, [">= 0.7"])
157
+ s.add_dependency(%q<rspec>, [">= 1.3.0"])
158
+ s.add_dependency(%q<cucumber>, [">= 0.6.2"])
159
+ s.add_dependency(%q<aruba>, [">= 0.1.7"])
160
+ end
161
+ else
162
+ s.add_dependency(%q<watchr>, [">= 0.7"])
163
+ s.add_dependency(%q<rspec>, [">= 1.3.0"])
164
+ s.add_dependency(%q<cucumber>, [">= 0.6.2"])
165
+ s.add_dependency(%q<aruba>, [">= 0.1.7"])
166
+ end
167
+ end
168
+