jeka 0.2.1 → 0.2.2
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/README.rdoc +2 -2
- data/TODO +8 -6
- data/VERSION +1 -1
- data/bin/jeka +26 -1
- data/jeka.gemspec +5 -2
- data/lib/jeka/algorithm.rb +25 -3
- data/lib/jeka/analysis/database.rb +5 -1
- data/lib/jeka/analysis/implementation.rb +14 -0
- data/lib/jeka/console.rb +11 -2
- data/test/test_console.rb +68 -0
- metadata +22 -20
data/README.rdoc
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
= Jeka v0.2.
|
|
1
|
+
= Jeka v0.2.2
|
|
2
2
|
|
|
3
3
|
Jeka is an awesome build/test/benchmarking tool.
|
|
4
4
|
|
|
@@ -22,7 +22,7 @@ Building a Jeka repository:
|
|
|
22
22
|
|
|
23
23
|
Running implementations:
|
|
24
24
|
|
|
25
|
-
$ jeka run -n 5 "your_repository_folder/**/algorithm_*.rb" # it will generate a sqlite3 database named 'analysis.jeka'
|
|
25
|
+
$ jeka run -o analysis.jeka -n 5 "your_repository_folder/**/algorithm_*.rb" # it will generate a sqlite3 database named 'analysis.jeka'
|
|
26
26
|
|
|
27
27
|
== Supported Compilers/Interpreters:
|
|
28
28
|
|
data/TODO
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
-
|
|
3
|
-
- mais opções na linha de comando (executar/compilar uma implementação dada)
|
|
4
|
-
- mais compiladores
|
|
1
|
+
- improve command line
|
|
2
|
+
- run/build only one implementation/algorithm
|
|
5
3
|
|
|
6
|
-
|
|
7
|
-
-
|
|
4
|
+
- add more analysis
|
|
5
|
+
- lines of code
|
|
6
|
+
- density
|
|
7
|
+
|
|
8
|
+
- improve performance
|
|
9
|
+
- memory: currently all the models are loaded in memory
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.2.
|
|
1
|
+
0.2.2
|
data/bin/jeka
CHANGED
|
@@ -17,12 +17,27 @@ run_optparse = OptionParser.new do |opts|
|
|
|
17
17
|
opts.on '-n', '--n-repetitions N', Integer, 'Number of repetions' do |n|
|
|
18
18
|
options[:n] = n
|
|
19
19
|
end
|
|
20
|
+
|
|
21
|
+
options[:b] = false
|
|
22
|
+
opts.on '-b', '--build', 'Number of repetions' do
|
|
23
|
+
options[:b] = true
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
options[:o] = 'analysis.jeka'
|
|
27
|
+
opts.on '-o', '--output O', 'Number of repetions' do |o|
|
|
28
|
+
options[:o] = o
|
|
29
|
+
end
|
|
30
|
+
|
|
20
31
|
end
|
|
21
32
|
|
|
22
33
|
build_optparse = OptionParser.new do |opts|
|
|
23
34
|
opts.banner = "Usage: jeka build [options] file ..."
|
|
24
35
|
end
|
|
25
36
|
|
|
37
|
+
test_optparse = OptionParser.new do |opts|
|
|
38
|
+
opts.banner = "Usage: jeka test [options] file ..."
|
|
39
|
+
end
|
|
40
|
+
|
|
26
41
|
def cmd(files, options)
|
|
27
42
|
if not files.length == 1
|
|
28
43
|
puts "ERROR: invalid number of files..."
|
|
@@ -39,15 +54,22 @@ def cmd(files, options)
|
|
|
39
54
|
build(options)
|
|
40
55
|
when :run
|
|
41
56
|
run(options)
|
|
57
|
+
when :test
|
|
58
|
+
test(options)
|
|
42
59
|
end
|
|
43
60
|
end
|
|
44
61
|
|
|
62
|
+
def test(options)
|
|
63
|
+
Jeka::Console::test
|
|
64
|
+
end
|
|
65
|
+
|
|
45
66
|
def build(options)
|
|
46
67
|
Jeka::Console::build
|
|
47
68
|
end
|
|
48
69
|
|
|
49
70
|
def run(options)
|
|
50
|
-
|
|
71
|
+
build(options) if options[:b]
|
|
72
|
+
Jeka::Console::run(options[:n], options[:o])
|
|
51
73
|
end
|
|
52
74
|
|
|
53
75
|
def help()
|
|
@@ -64,6 +86,9 @@ begin
|
|
|
64
86
|
when "run"
|
|
65
87
|
options[:command] = :run
|
|
66
88
|
files = run_optparse.parse!(ARGV[1..-1])
|
|
89
|
+
when "test"
|
|
90
|
+
options[:command] = :test
|
|
91
|
+
files = test_optparse.parse!(ARGV[1..-1])
|
|
67
92
|
else
|
|
68
93
|
help()
|
|
69
94
|
end
|
data/jeka.gemspec
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = "jeka"
|
|
8
|
-
s.version = "0.2.
|
|
8
|
+
s.version = "0.2.2"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Igor Bonadio"]
|
|
12
|
-
s.date = "2011-
|
|
12
|
+
s.date = "2011-10-08"
|
|
13
13
|
s.description = "Jeka is an awesome build/test/benchmarking tool"
|
|
14
14
|
s.email = "igorbonadio@gmail.com"
|
|
15
15
|
s.executables = ["jeka"]
|
|
@@ -25,6 +25,7 @@ Gem::Specification.new do |s|
|
|
|
25
25
|
"LICENSE.txt",
|
|
26
26
|
"README.rdoc",
|
|
27
27
|
"Rakefile",
|
|
28
|
+
"TODO",
|
|
28
29
|
"VERSION",
|
|
29
30
|
"bin/jeka",
|
|
30
31
|
"jeka.gemspec",
|
|
@@ -66,6 +67,7 @@ Gem::Specification.new do |s|
|
|
|
66
67
|
"test/double/ruby/double.rb",
|
|
67
68
|
"test/helper.rb",
|
|
68
69
|
"test/test_algorithm.rb",
|
|
70
|
+
"test/test_console.rb",
|
|
69
71
|
"test/test_gpp.rb",
|
|
70
72
|
"test/test_implementation.rb",
|
|
71
73
|
"test/test_test_case.rb"
|
|
@@ -84,6 +86,7 @@ Gem::Specification.new do |s|
|
|
|
84
86
|
"test/double/ruby/double.rb",
|
|
85
87
|
"test/helper.rb",
|
|
86
88
|
"test/test_algorithm.rb",
|
|
89
|
+
"test/test_console.rb",
|
|
87
90
|
"test/test_gpp.rb",
|
|
88
91
|
"test/test_implementation.rb",
|
|
89
92
|
"test/test_test_case.rb"
|
data/lib/jeka/algorithm.rb
CHANGED
|
@@ -46,7 +46,7 @@ module Jeka
|
|
|
46
46
|
end
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
-
def run(n=1, &block)
|
|
49
|
+
def run(n=1, check=false, &block)
|
|
50
50
|
implementations.each do |imp|
|
|
51
51
|
test_suites.each do |ts|
|
|
52
52
|
ts.tests.each do |test|
|
|
@@ -54,6 +54,12 @@ module Jeka
|
|
|
54
54
|
test_result = imp.compiler.run("#{test.input}\n")
|
|
55
55
|
block.call(nil, :output, test_result[0]) if block_given?
|
|
56
56
|
block.call(nil, :error, test_result[1]) if block_given? and (not test_result[2] == 0)
|
|
57
|
+
if block_given? and check
|
|
58
|
+
txt = "#{imp.name} -> #{ts.class}::#{test.name}"
|
|
59
|
+
unless test_result[0].join == test.output
|
|
60
|
+
block.call(0, :test, "#{txt}...failures")
|
|
61
|
+
end
|
|
62
|
+
end
|
|
57
63
|
Jeka::Analysis::Result.create(
|
|
58
64
|
stdout: test_result[0].join,
|
|
59
65
|
stderr: test_result[1].join,
|
|
@@ -86,6 +92,22 @@ module Jeka
|
|
|
86
92
|
@@algorithms.keys.sort_by { |ts| ts.name }.collect{|ts| ts.new}
|
|
87
93
|
end
|
|
88
94
|
|
|
95
|
+
def self.test_all(&block)
|
|
96
|
+
block.call(0, :step, "Testing algorithms...") if block_given?
|
|
97
|
+
s = self.algorithms.length + 1
|
|
98
|
+
i = 0
|
|
99
|
+
self.algorithms.each do |alg|
|
|
100
|
+
i += 1
|
|
101
|
+
block.call(100*i/s, :step, "Testing #{alg.class.to_s}...") if block_given?
|
|
102
|
+
if block_given?
|
|
103
|
+
alg.run(1, true, &block)
|
|
104
|
+
else
|
|
105
|
+
alg.run(1, true)
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
block.call(100, :done, "Done") if block_given?
|
|
109
|
+
end
|
|
110
|
+
|
|
89
111
|
def self.build_all(&block)
|
|
90
112
|
block.call(0, :step, "Building algorithms...") if block_given?
|
|
91
113
|
n = self.algorithms.length + 1
|
|
@@ -98,8 +120,8 @@ module Jeka
|
|
|
98
120
|
block.call(100, :done, "Done") if block_given?
|
|
99
121
|
end
|
|
100
122
|
|
|
101
|
-
def self.run_all(n=1, &block)
|
|
102
|
-
Jeka::Analysis::Database.create(File.
|
|
123
|
+
def self.run_all(n=1, output="analysis.jeka", &block)
|
|
124
|
+
Jeka::Analysis::Database.create(File.absolute_path(output))
|
|
103
125
|
block.call(0, :step, "Running algorithms...") if block_given?
|
|
104
126
|
s = self.algorithms.length + 1
|
|
105
127
|
i = 0
|
|
@@ -3,9 +3,13 @@ module Jeka
|
|
|
3
3
|
class Database
|
|
4
4
|
def self.create(path)
|
|
5
5
|
DataMapper.finalize
|
|
6
|
-
|
|
6
|
+
self.open(path)
|
|
7
7
|
DataMapper.auto_migrate!
|
|
8
8
|
end
|
|
9
|
+
|
|
10
|
+
def self.open(path)
|
|
11
|
+
DataMapper.setup(:default, "sqlite://#{path}")
|
|
12
|
+
end
|
|
9
13
|
end
|
|
10
14
|
end
|
|
11
15
|
end
|
|
@@ -10,6 +10,20 @@ module Jeka
|
|
|
10
10
|
has 1, :compiler
|
|
11
11
|
has n, :implementation_information
|
|
12
12
|
has n, :results
|
|
13
|
+
|
|
14
|
+
def method_missing(method, *args)
|
|
15
|
+
if method =~ /^average_/
|
|
16
|
+
r = (/^average_(.*)/.match(method))[1].to_sym
|
|
17
|
+
avg = 0
|
|
18
|
+
i = 0
|
|
19
|
+
self.results.each do |result|
|
|
20
|
+
avg += result.send(r)
|
|
21
|
+
i += 1
|
|
22
|
+
end
|
|
23
|
+
return avg/i
|
|
24
|
+
end
|
|
25
|
+
raise NoMethodError
|
|
26
|
+
end
|
|
13
27
|
end
|
|
14
28
|
end
|
|
15
29
|
end
|
data/lib/jeka/console.rb
CHANGED
|
@@ -11,9 +11,9 @@ module Jeka
|
|
|
11
11
|
ok
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
def self.run(n=1)
|
|
14
|
+
def self.run(n=1, output="analysis.jeka")
|
|
15
15
|
error = false
|
|
16
|
-
Jeka::Algorithm.run_all(n) do |p, t, o|
|
|
16
|
+
Jeka::Algorithm.run_all(n, output) do |p, t, o|
|
|
17
17
|
self._show(p, t, o, false)
|
|
18
18
|
end
|
|
19
19
|
end
|
|
@@ -25,6 +25,13 @@ module Jeka
|
|
|
25
25
|
end
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
+
def self.test
|
|
29
|
+
error = false
|
|
30
|
+
Jeka::Algorithm.test_all do |p, t, o|
|
|
31
|
+
self._show(p, t, o, false)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
28
35
|
def self._show(p, t, o, s)
|
|
29
36
|
case t
|
|
30
37
|
when :step
|
|
@@ -40,6 +47,8 @@ module Jeka
|
|
|
40
47
|
puts o
|
|
41
48
|
end
|
|
42
49
|
end
|
|
50
|
+
when :test
|
|
51
|
+
puts " > #{o}"
|
|
43
52
|
when :error
|
|
44
53
|
o = o.join
|
|
45
54
|
if o.length > 0
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
require 'helper'
|
|
2
|
+
|
|
3
|
+
class TestConsole < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def TestConsole.command(cmd)
|
|
6
|
+
stdout_ = nil
|
|
7
|
+
stderr_ = nil
|
|
8
|
+
exit_status_ = nil
|
|
9
|
+
|
|
10
|
+
Open3.popen3(cmd) do |stdin, stdout, stderr, wait_thr|
|
|
11
|
+
stdout_ = stdout.readlines
|
|
12
|
+
stderr_ = stderr.readlines
|
|
13
|
+
exit_status_ = wait_thr.value
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
return stdout_, stderr_, exit_status_.exitstatus
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
context "jeka run command" do
|
|
20
|
+
|
|
21
|
+
should "shows help" do
|
|
22
|
+
stdout, stderr, exit_status = TestConsole.command("ruby bin/jeka run --help")
|
|
23
|
+
assert_equal "jeka v0.2.1\nUsage: jeka run [options] file ...\n -n, --n-repetitions N Number of repetions\n -b, --build Number of repetions\n -o, --output O Number of repetions\n",
|
|
24
|
+
stdout.join
|
|
25
|
+
assert_equal 0, exit_status
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
should "show help" do
|
|
29
|
+
stdout, stderr, exit_status = TestConsole.command("ruby bin/jeka run -h")
|
|
30
|
+
assert_equal "jeka v0.2.1\nUsage: jeka run [options] file ...\n -n, --n-repetitions N Number of repetions\n -b, --build Number of repetions\n -o, --output O Number of repetions\n",
|
|
31
|
+
stdout.join
|
|
32
|
+
assert_equal 0, exit_status
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
should "run algorithms" do
|
|
36
|
+
stdout, stderr, exit_status = TestConsole.command("ruby bin/jeka build 'test/**/algorithm_*.rb'")
|
|
37
|
+
stdout, stderr, exit_status = TestConsole.command("ruby bin/jeka run 'test/**/algorithm_*.rb'")
|
|
38
|
+
assert_equal "jeka v0.2.1\n[ 0%] Running algorithms...\n[ 33%] Running AlgorithmBubbleSort...\n[ 66%] Running AlgorithmDouble...\n[100%] Done!\n",
|
|
39
|
+
stdout.join
|
|
40
|
+
assert_equal 0, exit_status
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
should "run algorithms 3 times" do
|
|
44
|
+
stdout, stderr, exit_status = TestConsole.command("ruby bin/jeka build 'test/**/algorithm_*.rb'")
|
|
45
|
+
stdout, stderr, exit_status = TestConsole.command("ruby bin/jeka run -n 3 'test/**/algorithm_*.rb'")
|
|
46
|
+
assert_equal "jeka v0.2.1\n[ 0%] Running algorithms...\n[ 33%] Running AlgorithmBubbleSort...\n[ 66%] Running AlgorithmDouble...\n[100%] Done!\n",
|
|
47
|
+
stdout.join
|
|
48
|
+
assert_equal 0, exit_status
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
should "run and build algorithms" do
|
|
52
|
+
stdout, stderr, exit_status = TestConsole.command("ruby bin/jeka run -b 'test/**/algorithm_*.rb'")
|
|
53
|
+
assert_equal "jeka v0.2.1\n[ 0%] Building algorithms...\n[ 33%] Building AlgorithmBubbleSort\n[ 66%] Building AlgorithmDouble\n[100%] Done!\n[ 0%] Running algorithms...\n[ 33%] Running AlgorithmBubbleSort...\n[ 66%] Running AlgorithmDouble...\n[100%] Done!\n",
|
|
54
|
+
stdout.join
|
|
55
|
+
assert_equal 0, exit_status
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
should "run algorithms and create an output file" do
|
|
59
|
+
File.delete("output_teste.jeka") if File.exists?("output_teste.jeka")
|
|
60
|
+
stdout, stderr, exit_status = TestConsole.command("ruby bin/jeka run -b -o output_teste.jeka 'test/**/algorithm_*.rb'")
|
|
61
|
+
assert File.exists?("output_teste.jeka")
|
|
62
|
+
assert_equal 0, exit_status
|
|
63
|
+
File.delete("output_teste.jeka") if File.exists?("output_teste.jeka")
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jeka
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.2
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,11 +9,11 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2011-
|
|
12
|
+
date: 2011-10-08 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: dm-sqlite-adapter
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &70192081814220 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: '0'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *70192081814220
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: data_mapper
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &70192081813120 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ! '>='
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: '0'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *70192081813120
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: shoulda
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &70192081811400 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ! '>='
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: '0'
|
|
44
44
|
type: :development
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *70192081811400
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: bundler
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &70192081810220 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ~>
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: 1.0.0
|
|
55
55
|
type: :development
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *70192081810220
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: jeweler
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &70192081809380 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ~>
|
|
@@ -65,10 +65,10 @@ dependencies:
|
|
|
65
65
|
version: 1.5.2
|
|
66
66
|
type: :development
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *70192081809380
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: rcov
|
|
71
|
-
requirement: &
|
|
71
|
+
requirement: &70192081807700 !ruby/object:Gem::Requirement
|
|
72
72
|
none: false
|
|
73
73
|
requirements:
|
|
74
74
|
- - ! '>='
|
|
@@ -76,10 +76,10 @@ dependencies:
|
|
|
76
76
|
version: '0'
|
|
77
77
|
type: :development
|
|
78
78
|
prerelease: false
|
|
79
|
-
version_requirements: *
|
|
79
|
+
version_requirements: *70192081807700
|
|
80
80
|
- !ruby/object:Gem::Dependency
|
|
81
81
|
name: dm-sqlite-adapter
|
|
82
|
-
requirement: &
|
|
82
|
+
requirement: &70192081806460 !ruby/object:Gem::Requirement
|
|
83
83
|
none: false
|
|
84
84
|
requirements:
|
|
85
85
|
- - ! '>='
|
|
@@ -87,10 +87,10 @@ dependencies:
|
|
|
87
87
|
version: '0'
|
|
88
88
|
type: :development
|
|
89
89
|
prerelease: false
|
|
90
|
-
version_requirements: *
|
|
90
|
+
version_requirements: *70192081806460
|
|
91
91
|
- !ruby/object:Gem::Dependency
|
|
92
92
|
name: data_mapper
|
|
93
|
-
requirement: &
|
|
93
|
+
requirement: &70192081805780 !ruby/object:Gem::Requirement
|
|
94
94
|
none: false
|
|
95
95
|
requirements:
|
|
96
96
|
- - ! '>='
|
|
@@ -98,7 +98,7 @@ dependencies:
|
|
|
98
98
|
version: '0'
|
|
99
99
|
type: :development
|
|
100
100
|
prerelease: false
|
|
101
|
-
version_requirements: *
|
|
101
|
+
version_requirements: *70192081805780
|
|
102
102
|
description: Jeka is an awesome build/test/benchmarking tool
|
|
103
103
|
email: igorbonadio@gmail.com
|
|
104
104
|
executables:
|
|
@@ -115,6 +115,7 @@ files:
|
|
|
115
115
|
- LICENSE.txt
|
|
116
116
|
- README.rdoc
|
|
117
117
|
- Rakefile
|
|
118
|
+
- TODO
|
|
118
119
|
- VERSION
|
|
119
120
|
- bin/jeka
|
|
120
121
|
- jeka.gemspec
|
|
@@ -156,10 +157,10 @@ files:
|
|
|
156
157
|
- test/double/ruby/double.rb
|
|
157
158
|
- test/helper.rb
|
|
158
159
|
- test/test_algorithm.rb
|
|
160
|
+
- test/test_console.rb
|
|
159
161
|
- test/test_gpp.rb
|
|
160
162
|
- test/test_implementation.rb
|
|
161
163
|
- test/test_test_case.rb
|
|
162
|
-
- TODO
|
|
163
164
|
homepage: http://github.com/igorbonadio/jeka
|
|
164
165
|
licenses:
|
|
165
166
|
- MIT
|
|
@@ -175,7 +176,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
175
176
|
version: '0'
|
|
176
177
|
segments:
|
|
177
178
|
- 0
|
|
178
|
-
hash: -
|
|
179
|
+
hash: -4567337074381682559
|
|
179
180
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
180
181
|
none: false
|
|
181
182
|
requirements:
|
|
@@ -197,6 +198,7 @@ test_files:
|
|
|
197
198
|
- test/double/ruby/double.rb
|
|
198
199
|
- test/helper.rb
|
|
199
200
|
- test/test_algorithm.rb
|
|
201
|
+
- test/test_console.rb
|
|
200
202
|
- test/test_gpp.rb
|
|
201
203
|
- test/test_implementation.rb
|
|
202
204
|
- test/test_test_case.rb
|