tryouts 2.0.4 → 2.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.
- data/.gitignore +0 -1
- data/CHANGES.txt +8 -0
- data/README.rdoc +30 -3
- data/Rakefile +1 -1
- data/VERSION.yml +2 -3
- data/bin/try +7 -0
- data/lib/tryouts.rb +31 -16
- data/tryouts.gemspec +53 -0
- metadata +5 -15
data/.gitignore
CHANGED
data/CHANGES.txt
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
TRYOUTS, CHANGES
|
2
2
|
|
3
|
+
#### 2.1.0 (2011-02-12) ###############################
|
4
|
+
|
5
|
+
* CHANGE: Default output is less verbose (eg. PASS/FAIL/SKIP)
|
6
|
+
* CHANGE: -q now prints nothing to STDOUT. Check $?. If 0, all tests pass
|
7
|
+
otherwise it contains the number of tests that failed.
|
8
|
+
* ADDED: -v option for increased output.
|
9
|
+
|
10
|
+
|
3
11
|
#### 2.0.4 (2011-01-06) ###############################
|
4
12
|
|
5
13
|
* ADDED: -q option for reduced output.
|
data/README.rdoc
CHANGED
@@ -61,15 +61,41 @@ All code before the first test definition is assumed to be setup code. All code
|
|
61
61
|
|
62
62
|
Try ships with a command-line tool called <tt>try</tt>. When called with no arguments, it will look for files ending with _try.rb in the current directory, or in the subfolder try.
|
63
63
|
|
64
|
-
http://delano.github.com/tryouts/screens/tryouts-2.0-success.png
|
65
|
-
|
66
64
|
You can also supply a specific file to test.
|
67
65
|
|
68
66
|
$ try path/2/test.rb
|
67
|
+
Ruby 1.9.1 @ 2011-01-06 12:38:29 -0500
|
68
|
+
|
69
|
+
# TEST 1: test matches result with expectation
|
70
|
+
7 a = 1 + 1
|
71
|
+
8 #=> 2
|
72
|
+
== 2
|
73
|
+
...
|
74
|
+
|
75
|
+
## TEST 12: comments, tests, and expectations can
|
76
|
+
## contain multiple lines
|
77
|
+
13 a = 1
|
78
|
+
14 b = 2
|
79
|
+
15 a + b
|
80
|
+
16 # => 3
|
81
|
+
17 # => 2 + 1
|
82
|
+
== 3
|
83
|
+
== 3
|
84
|
+
|
85
|
+
12 of 12 tests passed (and 5 skipped)
|
86
|
+
|
69
87
|
|
70
88
|
If all tests pass, try exits with a 0. Otherwise it exits with the number of tests that failed.
|
71
89
|
|
72
|
-
|
90
|
+
|
91
|
+
For reduced output, use the `-q` option:
|
92
|
+
|
93
|
+
$ try -q
|
94
|
+
Ruby 1.9.1 @ 2011-01-06 12:38:29 -0500
|
95
|
+
|
96
|
+
42 of 42 tests passed (and 5 skipped)
|
97
|
+
4 of 4 batches passed
|
98
|
+
|
73
99
|
|
74
100
|
== Installation
|
75
101
|
|
@@ -92,5 +118,6 @@ With help from:
|
|
92
118
|
|
93
119
|
* Syntenic[http://syntenic.com/] for the hackfest venue.
|
94
120
|
* AlexPeuchert[http://www.rubypulse.com/] for the screencast.
|
121
|
+
* Christian Michon for suggesting a better default output format.
|
95
122
|
|
96
123
|
<i>This collision was brought to you by Montreal.rb.</i>
|
data/Rakefile
CHANGED
@@ -33,7 +33,7 @@ end
|
|
33
33
|
|
34
34
|
|
35
35
|
Rake::RDocTask.new do |rdoc|
|
36
|
-
version = "#{config[:MAJOR]}.#{config[:MINOR]}.#{config[:PATCH]}
|
36
|
+
version = "#{config[:MAJOR]}.#{config[:MINOR]}.#{config[:PATCH]}}"
|
37
37
|
rdoc.rdoc_dir = "doc"
|
38
38
|
rdoc.title = "stella #{version}"
|
39
39
|
rdoc.rdoc_files.include("README*")
|
data/VERSION.yml
CHANGED
data/bin/try
CHANGED
@@ -7,6 +7,7 @@
|
|
7
7
|
#
|
8
8
|
# $ try
|
9
9
|
# $ try -q
|
10
|
+
# $ try -v
|
10
11
|
# $ try path/2/file.rb
|
11
12
|
# $ try -q path/2/file.rb path/2/another.rb
|
12
13
|
#
|
@@ -23,7 +24,13 @@ require 'tryouts'
|
|
23
24
|
$:.unshift dir
|
24
25
|
end
|
25
26
|
|
27
|
+
unless ARGV.delete('-V').nil?
|
28
|
+
puts "Tryouts: #{Tryouts::VERSION}"
|
29
|
+
exit
|
30
|
+
end
|
31
|
+
|
26
32
|
Tryouts.quiet = !ARGV.delete('-q').nil? # eg try -q [PATH]
|
33
|
+
Tryouts.noisy = !ARGV.delete('-v').nil? # eg try -v [PATH]
|
27
34
|
|
28
35
|
if ARGV.empty?
|
29
36
|
paths = Dir.glob(File.join(Dir.pwd, '{try,tryouts}', '*_{try,tryouts}.rb'))
|
data/lib/tryouts.rb
CHANGED
@@ -12,10 +12,7 @@ class Tryouts
|
|
12
12
|
load_config
|
13
13
|
[@version[:MAJOR], @version[:MINOR], @version[:PATCH]].join('.')
|
14
14
|
end
|
15
|
-
|
16
|
-
load_config
|
17
|
-
[@version[:MAJOR], @version[:MINOR], @version[:PATCH], @version[:BUILD]].join('.')
|
18
|
-
end
|
15
|
+
alias_method :inspect, :to_s
|
19
16
|
def self.load_config
|
20
17
|
require 'yaml'
|
21
18
|
@version ||= YAML.load_file(File.join(TRYOUTS_LIB_HOME, '..', 'VERSION.yml'))
|
@@ -27,11 +24,12 @@ end
|
|
27
24
|
class Tryouts
|
28
25
|
@debug = false
|
29
26
|
@quiet = false
|
27
|
+
@noisy = false
|
30
28
|
@container = Class.new
|
31
29
|
@cases = []
|
32
30
|
@sysinfo = nil
|
33
31
|
class << self
|
34
|
-
attr_accessor :debug, :container, :quiet
|
32
|
+
attr_accessor :debug, :container, :quiet, :noisy
|
35
33
|
attr_reader :cases
|
36
34
|
|
37
35
|
def sysinfo
|
@@ -56,30 +54,42 @@ class Tryouts
|
|
56
54
|
|
57
55
|
path = batch.path.gsub(/#{Dir.pwd}\/?/, '')
|
58
56
|
|
59
|
-
|
57
|
+
vmsg '%-60s %s' % [path, '']
|
60
58
|
|
61
59
|
before_handler = Proc.new do |t|
|
62
|
-
|
63
|
-
|
60
|
+
if Tryouts.noisy
|
61
|
+
vmsg Console.reverse(' %-58s ' % [t.desc.to_s])
|
62
|
+
vmsg t.test.inspect, t.exps.inspect
|
63
|
+
end
|
64
64
|
end
|
65
65
|
|
66
66
|
batch.run(before_handler) do |t|
|
67
67
|
if t.failed?
|
68
68
|
failed_tests += 1
|
69
|
-
|
69
|
+
if Tryouts.noisy
|
70
|
+
vmsg Console.color(:red, t.failed.join($/)), $/
|
71
|
+
else
|
72
|
+
msg ' %s (%s:%s)' % [Console.color(:red, "FAIL"), path, t.exps.first]
|
73
|
+
end
|
70
74
|
elsif t.skipped? || !t.run?
|
71
75
|
skipped_tests += 1
|
72
|
-
|
76
|
+
if Tryouts.noisy
|
77
|
+
vmsg Console.bright(t.skipped.join($/)), $/
|
78
|
+
else
|
79
|
+
msg ' SKIP (%s:%s)' % [path, t.exps.first]
|
80
|
+
end
|
73
81
|
else
|
74
|
-
|
82
|
+
if Tryouts.noisy
|
83
|
+
vmsg Console.color(:green, t.passed.join($/)), $/
|
84
|
+
else
|
85
|
+
msg ' %s' % [Console.color(:green, 'PASS')]
|
86
|
+
end
|
75
87
|
end
|
76
|
-
|
77
88
|
all += 1
|
78
|
-
|
79
89
|
end
|
80
90
|
end
|
81
91
|
|
82
|
-
msg
|
92
|
+
msg
|
83
93
|
if all > 0
|
84
94
|
suffix = 'tests passed'
|
85
95
|
suffix << " (and #{skipped_tests} skipped)" if skipped_tests > 0
|
@@ -97,7 +107,7 @@ class Tryouts
|
|
97
107
|
end
|
98
108
|
|
99
109
|
def cformat(*args)
|
100
|
-
Console.bright '%
|
110
|
+
Console.bright '%d of %d %s' % args
|
101
111
|
end
|
102
112
|
|
103
113
|
def run path
|
@@ -175,12 +185,17 @@ class Tryouts
|
|
175
185
|
end
|
176
186
|
|
177
187
|
def print str
|
188
|
+
return if Tryouts.quiet
|
178
189
|
STDOUT.print str
|
179
190
|
STDOUT.flush
|
180
191
|
end
|
181
192
|
|
193
|
+
def vmsg *msg
|
194
|
+
STDOUT.puts *msg if !Tryouts.quiet && Tryouts.noisy
|
195
|
+
end
|
196
|
+
|
182
197
|
def msg *msg
|
183
|
-
STDOUT.puts *msg
|
198
|
+
STDOUT.puts *msg unless Tryouts.quiet
|
184
199
|
end
|
185
200
|
|
186
201
|
def err *msg
|
data/tryouts.gemspec
ADDED
@@ -0,0 +1,53 @@
|
|
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{tryouts}
|
8
|
+
s.version = "2.1.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Delano Mandelbaum"]
|
12
|
+
s.date = %q{2011-02-12}
|
13
|
+
s.default_executable = %q{try}
|
14
|
+
s.description = %q{Don't waste your time writing tests}
|
15
|
+
s.email = %q{delano@solutious.com}
|
16
|
+
s.executables = ["try"]
|
17
|
+
s.extra_rdoc_files = [
|
18
|
+
"LICENSE.txt",
|
19
|
+
"README.rdoc"
|
20
|
+
]
|
21
|
+
s.files = [
|
22
|
+
".gitignore",
|
23
|
+
"CHANGES.txt",
|
24
|
+
"LICENSE.txt",
|
25
|
+
"README.rdoc",
|
26
|
+
"Rakefile",
|
27
|
+
"VERSION.yml",
|
28
|
+
"bin/try",
|
29
|
+
"lib/sysinfo.rb",
|
30
|
+
"lib/tryouts.rb",
|
31
|
+
"try/step1_try.rb",
|
32
|
+
"try/step2_try.rb",
|
33
|
+
"try/step3_try.rb",
|
34
|
+
"try/step4_try.rb",
|
35
|
+
"tryouts.gemspec"
|
36
|
+
]
|
37
|
+
s.homepage = %q{http://github.com/delano/tryouts}
|
38
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
39
|
+
s.require_paths = ["lib"]
|
40
|
+
s.rubyforge_project = %q{tryouts}
|
41
|
+
s.rubygems_version = %q{1.5.2}
|
42
|
+
s.summary = %q{Don't waste your time writing tests}
|
43
|
+
|
44
|
+
if s.respond_to? :specification_version then
|
45
|
+
s.specification_version = 3
|
46
|
+
|
47
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
48
|
+
else
|
49
|
+
end
|
50
|
+
else
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
metadata
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tryouts
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
segments:
|
7
|
-
- 2
|
8
|
-
- 0
|
9
|
-
- 4
|
10
|
-
version: 2.0.4
|
4
|
+
prerelease:
|
5
|
+
version: 2.1.0
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- Delano Mandelbaum
|
@@ -15,7 +10,7 @@ autorequire:
|
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
12
|
|
18
|
-
date: 2011-
|
13
|
+
date: 2011-02-12 00:00:00 -05:00
|
19
14
|
default_executable: try
|
20
15
|
dependencies: []
|
21
16
|
|
@@ -42,6 +37,7 @@ files:
|
|
42
37
|
- try/step2_try.rb
|
43
38
|
- try/step3_try.rb
|
44
39
|
- try/step4_try.rb
|
40
|
+
- tryouts.gemspec
|
45
41
|
has_rdoc: true
|
46
42
|
homepage: http://github.com/delano/tryouts
|
47
43
|
licenses: []
|
@@ -56,23 +52,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
56
52
|
requirements:
|
57
53
|
- - ">="
|
58
54
|
- !ruby/object:Gem::Version
|
59
|
-
hash: 3
|
60
|
-
segments:
|
61
|
-
- 0
|
62
55
|
version: "0"
|
63
56
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
64
57
|
none: false
|
65
58
|
requirements:
|
66
59
|
- - ">="
|
67
60
|
- !ruby/object:Gem::Version
|
68
|
-
hash: 3
|
69
|
-
segments:
|
70
|
-
- 0
|
71
61
|
version: "0"
|
72
62
|
requirements: []
|
73
63
|
|
74
64
|
rubyforge_project: tryouts
|
75
|
-
rubygems_version: 1.
|
65
|
+
rubygems_version: 1.5.2
|
76
66
|
signing_key:
|
77
67
|
specification_version: 3
|
78
68
|
summary: Don't waste your time writing tests
|