codersdojo 1.1.11 → 1.1.12
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/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%
|