codersdojo 1.1.11 → 1.1.12
Sign up to get free protection for your applications and to get access to all the features.
- data/app/argument_parser.rb +1 -1
- data/app/console_view.rb +18 -0
- data/app/controller.rb +4 -1
- data/app/scheduler.rb +36 -6
- data/app/shell_wrapper.rb +1 -0
- data/templates/any/README +3 -2
- data/templates/any/run-once.%sh% +5 -1
- data/templates/clojure.is-test/README +3 -2
- data/templates/csharp.nunit/%kata_file%.cs +20 -0
- data/templates/csharp.nunit/README +14 -0
- data/templates/csharp.nunit/run-endless.%sh% +1 -0
- data/templates/csharp.nunit/run-once.%sh% +2 -0
- data/templates/forth.tester/README +3 -2
- data/templates/java.junit/README +3 -2
- data/templates/java.junit/run-once.%sh% +1 -1
- data/templates/javascript.jspec/README +3 -2
- data/templates/javascript.vows/README +3 -2
- data/templates/python.pytest/README +3 -2
- data/templates/python.pyunit/README +3 -2
- data/templates/ruby.test-unit/README +3 -2
- metadata +24 -4
data/app/argument_parser.rb
CHANGED
data/app/console_view.rb
CHANGED
@@ -135,10 +135,28 @@ helptext
|
|
135
135
|
show "Encountered network error while <#{command}>. Is http://www.codersdojo.com down?"
|
136
136
|
end
|
137
137
|
|
138
|
+
def show_kata_exit_message
|
139
|
+
show <<-msg
|
140
|
+
|
141
|
+
You finished your kata. Choose your next action:
|
142
|
+
u) Upload the kata to http://www.codersdojo.com.
|
143
|
+
e) Exit without uploading.
|
144
|
+
r) Resume the kata.
|
145
|
+
msg
|
146
|
+
end
|
147
|
+
|
148
|
+
def show_kata_upload_hint
|
149
|
+
show "You finished your kata. Now upload it with 'codersdojo upload'."
|
150
|
+
end
|
151
|
+
|
138
152
|
def show text
|
139
153
|
puts @template_machine.render(text)
|
140
154
|
end
|
141
155
|
|
156
|
+
def read_user_input
|
157
|
+
STDIN.gets
|
158
|
+
end
|
159
|
+
|
142
160
|
def current_command_path
|
143
161
|
$0.gsub '/', '%/%'
|
144
162
|
end
|
data/app/controller.rb
CHANGED
@@ -37,8 +37,11 @@ class Controller
|
|
37
37
|
dojo = Runner.new @shell, SessionIdGenerator.new
|
38
38
|
dojo.file = file
|
39
39
|
dojo.run_command = command
|
40
|
-
scheduler = Scheduler.new dojo
|
40
|
+
scheduler = Scheduler.new dojo, @view
|
41
41
|
scheduler.start
|
42
|
+
if scheduler.last_action_was_upload? then
|
43
|
+
upload nil
|
44
|
+
end
|
42
45
|
end
|
43
46
|
|
44
47
|
# merge with 'upload_with_framework' when the framework parameter is removed
|
data/app/scheduler.rb
CHANGED
@@ -1,19 +1,49 @@
|
|
1
1
|
class Scheduler
|
2
2
|
|
3
|
-
def initialize runner
|
3
|
+
def initialize runner, view
|
4
4
|
@runner = runner
|
5
|
+
@view = view
|
6
|
+
@last_action = ""
|
5
7
|
end
|
6
8
|
|
7
9
|
def start
|
8
|
-
|
9
|
-
|
10
|
-
exit
|
11
|
-
}
|
10
|
+
@last_action = ""
|
11
|
+
register_interrupt_listener
|
12
12
|
@runner.start
|
13
|
-
while
|
13
|
+
while continue? do
|
14
14
|
sleep 1
|
15
15
|
@runner.execute
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
+
def register_interrupt_listener
|
20
|
+
trap("INT") {
|
21
|
+
interrupt_kata
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
def interrupt_kata
|
26
|
+
@view.show_kata_exit_message
|
27
|
+
@last_action = @view.read_user_input.downcase
|
28
|
+
if last_action_was_exit? then
|
29
|
+
@view.show_kata_upload_hint
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def continue?
|
34
|
+
@last_action == '' or last_action_was_resume?
|
35
|
+
end
|
36
|
+
|
37
|
+
def last_action_was_resume?
|
38
|
+
@last_action.start_with? 'r'
|
39
|
+
end
|
40
|
+
|
41
|
+
def last_action_was_exit?
|
42
|
+
@last_action.start_with? 'e'
|
43
|
+
end
|
44
|
+
|
45
|
+
def last_action_was_upload?
|
46
|
+
@last_action.start_with? 'u'
|
47
|
+
end
|
48
|
+
|
19
49
|
end
|
data/app/shell_wrapper.rb
CHANGED
data/templates/any/README
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
-
|
1
|
+
These files were created:
|
2
|
+
README is what you are currently reading
|
2
3
|
run-once.%sh% runs your tests once
|
3
4
|
run-endless.%sh% runs your tests endlessly via run-once.%sh%
|
4
5
|
|
5
6
|
run-once.%sh% is not implemented by now. You have to implement it appropriately.
|
6
7
|
|
7
|
-
Run run-endless.%sh% and start your kata.
|
8
|
+
Run run-endless.%sh% and start your kata. (On Mac/Linux you have to call ./run-endless.%sh%.)
|
8
9
|
|
9
10
|
Assumptions:
|
10
11
|
- The whole kata source code is in the one %kata_file%.
|
data/templates/any/run-once.%sh%
CHANGED
@@ -1 +1,5 @@
|
|
1
|
-
echo "Modify shell script run-once.%sh% so that it runs your tests once."
|
1
|
+
echo "Modify shell script run-once.%sh% so that it runs your tests once."
|
2
|
+
echo "Shell script may look similar to the one for Java with JUnit:"
|
3
|
+
echo " %rm% bin/%Kata_file%Test.class <- you don't need this if the language is interpreted"
|
4
|
+
echo " javac -cp lib/junit.jar -d bin %Kata_file%Test.java <- you don't need this if the language is interpreted"
|
5
|
+
echo " java -cp lib/junit.jar:bin org.junit.runner.JUnitCore %Kata_file%Test"
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
These files were created:
|
2
|
+
README is what you are currently reading
|
2
3
|
run-once.%sh% runs your tests once
|
3
4
|
run-endless.%sh% runs your tests endlessly via run-once.%sh%
|
4
5
|
|
5
|
-
Run run-endless
|
6
|
+
Run run-endless.%sh% and start your kata. (On Mac/Linux you have to call ./run-endless.%sh%.)
|
6
7
|
|
7
8
|
Assumptions:
|
8
9
|
- The whole kata source code is in the one %kata_file%.clj.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
using System;
|
2
|
+
using NUnit.Framework;
|
3
|
+
|
4
|
+
[TestFixture]
|
5
|
+
public class %Kata_file%Test
|
6
|
+
{
|
7
|
+
[Test]
|
8
|
+
public void testFoo()
|
9
|
+
{
|
10
|
+
Test object_under_test = new Test();
|
11
|
+
Assert.AreEqual("foo", object_under_test.foo());
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
15
|
+
public class %Kata_file%
|
16
|
+
{
|
17
|
+
public String foo(){
|
18
|
+
return "fixme";
|
19
|
+
}
|
20
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
These files were created:
|
2
|
+
README is what you are currently reading
|
3
|
+
run-once.%sh% runs your tests once
|
4
|
+
run-endless.%sh% runs your tests endlessly via run-once.%sh%
|
5
|
+
|
6
|
+
Run run-endless.%sh% and start your kata. (On Mac/Linux you have to call ./run-endless.%sh%.)
|
7
|
+
|
8
|
+
Assumptions:
|
9
|
+
- The .Net Framework is installed (from www.microsoft.com).
|
10
|
+
- in the Path variable:
|
11
|
+
csc (possible path=C:\Windows\Microsoft.NET\Framework\v4.0.30319\)
|
12
|
+
nunit-console (possible path=C:\Programme\NUnit 2.5.9\bin\net-2.0\)
|
13
|
+
- nunit.framework.dll is in the same directory as %kata_file%.cs.
|
14
|
+
- The whole kata source code is in the one %kata_file%.cs.
|
@@ -0,0 +1 @@
|
|
1
|
+
codersdojo start run-once.cmd %KataFile%.cs
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
These files were created:
|
2
|
+
README is what you are currently reading
|
2
3
|
run-once.%sh% runs your tests once
|
3
4
|
run-endless.%sh% runs your tests endlessly via run-once.%sh%
|
4
5
|
|
5
|
-
Run run-endless.%sh% and start your kata.
|
6
|
+
Run run-endless.%sh% and start your kata. (On Mac/Linux you have to call ./run-endless.%sh%.)
|
6
7
|
|
7
8
|
Assumptions:
|
8
9
|
- The whole kata source code is in the one %kata_file%.fth.
|
data/templates/java.junit/README
CHANGED
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
These files were created:
|
2
|
+
README is what you are currently reading
|
2
3
|
run-once.%sh% runs your tests once
|
3
4
|
run-endless.%sh% runs your tests endlessly via run-once.%sh%
|
4
5
|
|
5
|
-
Run run-endless
|
6
|
+
Run run-endless.%sh% and start your kata. (On Mac/Linux you have to call ./run-endless.%sh%.)
|
6
7
|
|
7
8
|
Assumptions:
|
8
9
|
- A Java JDK is installed on your system and 'java' and 'javac' are in the path.
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
These files were created:
|
2
|
+
README is what you are currently reading
|
2
3
|
run-once.%sh% runs your tests once
|
3
4
|
run-endless.%sh% runs your tests endlessly via run-once.%sh%
|
4
5
|
|
5
|
-
Run run-endless.%sh% and start your kata.
|
6
|
+
Run run-endless.%sh% and start your kata. (On Mac/Linux you have to call ./run-endless.%sh%.)
|
6
7
|
|
7
8
|
Assumptions:
|
8
9
|
- The whole kata source code is in the one %kata_file%.js.
|
@@ -1,7 +1,8 @@
|
|
1
|
-
|
1
|
+
These files were created:
|
2
|
+
README is what you are currently reading
|
2
3
|
run-endless.%sh% runs your tests endlessly.
|
3
4
|
|
4
|
-
Run run-endless.%sh% and start your kata.
|
5
|
+
Run run-endless.%sh% and start your kata. (On Mac/Linux you have to call ./run-endless.%sh%.)
|
5
6
|
|
6
7
|
Assumptions:
|
7
8
|
- The whole kata source code is in the one %kata_file%.js.
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
These files were created:
|
2
|
+
README is what you are currently reading
|
2
3
|
run-once.%sh% runs your tests once
|
3
4
|
run-endless.%sh% runs your tests endlessly via run-once.%sh%
|
4
5
|
|
5
|
-
Run run-endless.%sh% and start your kata.
|
6
|
+
Run run-endless.%sh% and start your kata. (On Mac/Linux you have to call ./run-endless.%sh%.)
|
6
7
|
|
7
8
|
Assumptions:
|
8
9
|
- The whole kata source code is in the one %kata_file%.py.
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
These files were created:
|
2
|
+
README is what you are currently reading
|
2
3
|
run-once.%sh% runs your tests once
|
3
4
|
run-endless.%sh% runs your tests endlessly via run-once.%sh%
|
4
5
|
|
5
|
-
Run run-endless.%sh% and start your kata.
|
6
|
+
Run run-endless.%sh% and start your kata. (On Mac/Linux you have to call ./run-endless.%sh%.)
|
6
7
|
|
7
8
|
Assumptions:
|
8
9
|
- The whole kata source code is in the one %kata_file%.py.
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
These files were created:
|
2
|
+
README is what you are currently reading
|
2
3
|
run-once.%sh% runs your tests once
|
3
4
|
run-endless.%sh% runs your tests endlessly via run-once.%sh%
|
4
5
|
|
5
|
-
Run run-endless.%sh% and start your kata.
|
6
|
+
Run run-endless.%sh% and start your kata. (On Mac/Linux you have to call ./run-endless.%sh%.)
|
6
7
|
|
7
8
|
Assumptions:
|
8
9
|
- The whole kata source code is in the one %kata_file%.rb.
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codersdojo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 11
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 1.1.
|
9
|
+
- 12
|
10
|
+
version: 1.1.12
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- CodersDojo-Team
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-02-
|
18
|
+
date: 2011-02-09 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -34,6 +34,22 @@ dependencies:
|
|
34
34
|
version: 1.6.1
|
35
35
|
type: :runtime
|
36
36
|
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: term-ansicolor
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
hash: 29
|
46
|
+
segments:
|
47
|
+
- 1
|
48
|
+
- 0
|
49
|
+
- 5
|
50
|
+
version: 1.0.5
|
51
|
+
type: :runtime
|
52
|
+
version_requirements: *id002
|
37
53
|
description: Client executes tests in an endless loop and logs source code and test result for later uplaod.
|
38
54
|
email: codersdojo@it-agile.de
|
39
55
|
executables:
|
@@ -70,6 +86,10 @@ files:
|
|
70
86
|
- templates/clojure.is-test/README
|
71
87
|
- templates/clojure.is-test/run-endless.%sh%
|
72
88
|
- templates/clojure.is-test/run-once.%sh%
|
89
|
+
- templates/csharp.nunit/%kata_file%.cs
|
90
|
+
- templates/csharp.nunit/README
|
91
|
+
- templates/csharp.nunit/run-endless.%sh%
|
92
|
+
- templates/csharp.nunit/run-once.%sh%
|
73
93
|
- templates/forth.tester/%kata_file%.fth
|
74
94
|
- templates/forth.tester/README
|
75
95
|
- templates/forth.tester/run-endless.%sh%
|