falsework 2.1.1 → 3.0.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/README.rdoc +19 -59
- data/Rakefile +28 -20
- data/bin/falsework +266 -73
- data/doc/NEWS.rdoc +24 -0
- data/doc/README.rdoc +19 -59
- data/doc/TODO.org +16 -6
- data/doc/template-tutorial.rdoc +49 -12
- data/dynamic.yaml +4 -0
- data/falsework.gemspec +10 -1
- data/lib/falsework/cliconfig.rb +14 -9
- data/lib/falsework/cliutils.rb +0 -2
- data/lib/falsework/meta.rb +2 -1
- data/lib/falsework/mould.rb +121 -192
- data/lib/falsework/upgrader.rb +120 -0
- data/lib/falsework/utils.rb +23 -0
- data/templates/c-glib/#config.yaml +18 -0
- data/{lib/falsework/templates → templates}/c-glib/README +0 -0
- data/{lib/falsework/templates → templates}/c-glib/doc/#doc.ascii +0 -0
- data/{lib/falsework/templates → templates}/c-glib/doc/%%@project%%.1.asciidoc +0 -0
- data/{lib/falsework/templates → templates}/c-glib/doc/LICENSE +0 -0
- data/{lib/falsework/templates → templates}/c-glib/doc/Makefile +0 -0
- data/{lib/falsework/templates → templates}/c-glib/src/#exe.c +0 -0
- data/{lib/falsework/templates → templates}/c-glib/src/#exe.h +0 -0
- data/{lib/falsework/templates → templates}/c-glib/src/%%@project%%.c +0 -0
- data/{lib/falsework/templates → templates}/c-glib/src/%%@project%%.h +0 -0
- data/{lib/falsework/templates → templates}/c-glib/src/Makefile +0 -0
- data/{lib/falsework/templates → templates}/c-glib/src/untest.c +0 -0
- data/{lib/falsework/templates → templates}/c-glib/src/untest.h +0 -0
- data/{lib/falsework/templates → templates}/c-glib/src/utils.c +0 -0
- data/{lib/falsework/templates → templates}/c-glib/src/utils.h +0 -0
- data/{lib/falsework/templates → templates}/c-glib/test/#test.c +0 -0
- data/{lib/falsework/templates → templates}/c-glib/test/Makefile +0 -0
- data/{lib/falsework/templates → templates}/c-glib/test/Makefile.test.mk +0 -0
- data/{lib/falsework/templates → templates}/c-glib/test/mycat.c +0 -0
- data/{lib/falsework/templates → templates}/c-glib/test/semis/text/empty.txt +0 -0
- data/{lib/falsework/templates → templates}/c-glib/test/test_utils.c +0 -0
- data/templates/ruby-cli/#config.yaml +26 -0
- data/{lib/falsework/templates → templates}/ruby-cli/%%@project%%.gemspec +0 -0
- data/{lib/falsework/templates → templates}/ruby-cli/.gitignore +0 -0
- data/{lib/falsework/templates → templates}/ruby-cli/.gitignore.#erb +0 -0
- data/{lib/falsework/templates → templates}/ruby-cli/Gemfile +0 -0
- data/{lib/falsework/templates → templates}/ruby-cli/README.rdoc +17 -19
- data/{lib/falsework/templates → templates}/ruby-cli/Rakefile +0 -0
- data/{lib/falsework/templates → templates}/ruby-cli/bin/%%@project%% +3 -3
- data/{lib/falsework/templates → templates}/ruby-cli/doc/#doc.rdoc +16 -18
- data/{lib/falsework/templates → templates}/ruby-cli/doc/LICENSE +0 -0
- data/{lib/falsework/templates → templates}/ruby-cli/doc/NEWS.rdoc +0 -0
- data/{lib/falsework/templates → templates}/ruby-cli/doc/README.rdoc +17 -19
- data/templates/ruby-cli/etc/%%@project%%.yaml +2 -0
- data/{lib/falsework/templates → templates}/ruby-cli/lib/%%@project%%/cliconfig.rb +14 -11
- data/{lib/falsework/templates → templates}/ruby-cli/lib/%%@project%%/cliutils.rb +0 -4
- data/{lib/falsework/templates → templates}/ruby-cli/lib/%%@project%%/meta.rb +1 -0
- data/{lib/falsework/templates → templates}/ruby-cli/test/helper.rb +0 -0
- data/{lib/falsework/templates → templates}/ruby-cli/test/helper_cliutils.rb +0 -3
- data/{lib/falsework/templates → templates}/ruby-cli/test/test_%%@project%%.rb +0 -0
- data/test/example/note/full +10 -0
- data/test/example/note/project-too-old +8 -0
- data/test/example/note/template-unknown +8 -0
- data/test/helper.rb +11 -0
- data/test/helper_cliutils.rb +0 -1
- data/test/templates/config-01.yaml +1 -1
- data/test/{test_exe.rb → test_cli.rb} +52 -29
- data/test/test_mould.rb +41 -16
- data/test/test_upgrader.rb +96 -0
- metadata +76 -50
- data/dynamic.ruby-cli +0 -3
- data/lib/falsework/templates/c-glib/#config.yaml +0 -18
- data/lib/falsework/templates/ruby-cli/#config.yaml +0 -15
- data/lib/falsework/templates/ruby-cli/etc/%%@project%%.yaml +0 -2
- data/test/rake_erb_templates.rb +0 -60
- data/test/templates/config-02.yaml +0 -2
- data/test/test_cl.rb +0 -33
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,26 @@
|
|
1
|
+
---
|
2
|
+
exe:
|
3
|
+
- src: 'bin/%%@project%%'
|
4
|
+
dest: 'bin/%s'
|
5
|
+
mode_int: 0744
|
6
|
+
|
7
|
+
doc:
|
8
|
+
- src: 'doc/#doc.rdoc'
|
9
|
+
dest: 'doc/%s.rdoc'
|
10
|
+
mode_int: null
|
11
|
+
|
12
|
+
test:
|
13
|
+
- src: 'test/test_%%@project%%.rb'
|
14
|
+
dest: 'test/test_%s.rb'
|
15
|
+
mode_int: null
|
16
|
+
|
17
|
+
version: 3.0.0
|
18
|
+
|
19
|
+
upgrade:
|
20
|
+
obsolete:
|
21
|
+
- test/rake_git.rb
|
22
|
+
files:
|
23
|
+
- lib/%%@project%%/cliconfig.rb
|
24
|
+
- lib/%%@project%%/cliutils.rb
|
25
|
+
- test/helper_cliutils.rb
|
26
|
+
from: 2.0.0
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,21 +1,21 @@
|
|
1
|
-
=Name
|
1
|
+
= Name
|
2
2
|
|
3
3
|
<%= @classy %>--[TODO: write a summary here.]
|
4
4
|
|
5
5
|
|
6
|
-
==Synopsis
|
6
|
+
== Synopsis
|
7
7
|
|
8
8
|
<%= @project %> [options]
|
9
9
|
|
10
10
|
|
11
|
-
==Description
|
11
|
+
== Description
|
12
12
|
|
13
13
|
The <%= @project %> utility [TODO: write a description here.]
|
14
14
|
|
15
15
|
The options are as follows:
|
16
16
|
|
17
17
|
--config-dirs:: List all possible locations for the
|
18
|
-
configuration file.
|
18
|
+
configuration file.
|
19
19
|
|
20
20
|
--config NAME:: The name of the configuration file. If
|
21
21
|
it contains <tt>/</tt> in it, the list from
|
@@ -29,28 +29,26 @@ The options are as follows:
|
|
29
29
|
|
30
30
|
--foobar NAME:: Huh?
|
31
31
|
|
32
|
-
==Configuration
|
33
32
|
|
34
|
-
|
33
|
+
== Configuration
|
35
34
|
|
36
|
-
|
37
|
-
(Its format is exactly similar to CL options.)
|
35
|
+
From the least significant to the most:
|
38
36
|
|
39
|
-
|
40
|
-
|
41
|
-
system directories which are observable by <tt>--config--dirs</tt> CL
|
42
|
-
option.
|
37
|
+
1. <tt><%= @project.upcase %>_CONF</tt> env variable.
|
38
|
+
(Its format is exactly similar to CL options.)
|
43
39
|
|
44
|
-
|
40
|
+
2. Configuration file. Its default name is <tt><%= @project %>.yaml</tt>
|
41
|
+
and it can be stored in several directories which are observable by
|
42
|
+
<tt>--config--dirs</tt> CL option.
|
45
43
|
|
46
|
-
|
44
|
+
3. Command line.
|
47
45
|
|
48
46
|
The configuration file must be in YAML format. Look into <tt>`gem env
|
49
|
-
gemdir`/gems/<%= @project %>-x.y.z/etc/</tt> directory for
|
47
|
+
gemdir`/gems/<%= @project %>-x.y.z/etc/</tt> directory for examples.
|
50
48
|
|
51
49
|
|
52
|
-
==Examples
|
50
|
+
== Examples
|
53
51
|
|
54
|
-
|
55
|
-
|
56
|
-
|
52
|
+
$ ri <%= @camelcase %> # after gem installation
|
53
|
+
$ <%= @project %> --config-dirs
|
54
|
+
$ <%= @project %> -V
|
File without changes
|
@@ -6,13 +6,13 @@ include <%= @camelcase %>
|
|
6
6
|
|
7
7
|
$conf = CliConfig.new
|
8
8
|
$conf[:banner] = "Usage: #{File.basename($0)} [options] hren'"
|
9
|
-
|
9
|
+
|
10
10
|
|
11
11
|
### main
|
12
12
|
|
13
13
|
$conf.load(['foobar']) {|o|
|
14
|
-
o.on('--foobar STR', 'An example of the
|
15
|
-
$conf[
|
14
|
+
o.on('--foobar STR', 'An example of the --foobar option') {|i|
|
15
|
+
$conf['foobar'] = i
|
16
16
|
}
|
17
17
|
}
|
18
18
|
|
@@ -1,21 +1,21 @@
|
|
1
|
-
=Name
|
1
|
+
= Name
|
2
2
|
|
3
3
|
<%= target %>--[TODO: write a summary here.]
|
4
4
|
|
5
5
|
|
6
|
-
==Synopsis
|
6
|
+
== Synopsis
|
7
7
|
|
8
8
|
<%= target %> [options]
|
9
9
|
|
10
10
|
|
11
|
-
==Description
|
11
|
+
== Description
|
12
12
|
|
13
13
|
The <%= target %> utility [TODO: write a description here.]
|
14
14
|
|
15
15
|
The options are as follows:
|
16
16
|
|
17
17
|
--config-dirs:: List all possible locations for the
|
18
|
-
configuration file.
|
18
|
+
configuration file.
|
19
19
|
|
20
20
|
--config NAME:: The name of the configuration file. If
|
21
21
|
it contains <tt>/</tt> in it, the list from
|
@@ -29,27 +29,25 @@ The options are as follows:
|
|
29
29
|
|
30
30
|
--foobar NAME:: Huh?
|
31
31
|
|
32
|
-
==Configuration
|
33
32
|
|
34
|
-
|
33
|
+
== Configuration
|
35
34
|
|
36
|
-
|
37
|
-
(Its format is exactly similar to CL options.)
|
35
|
+
From the least significant to the most:
|
38
36
|
|
39
|
-
|
40
|
-
|
41
|
-
system directories which are observable by <tt>--config--dirs</tt> CL
|
42
|
-
option.
|
37
|
+
1. <tt><%= @project.upcase %>_CONF</tt> env variable.
|
38
|
+
(Its format is exactly similar to CL options.)
|
43
39
|
|
44
|
-
|
40
|
+
2. Configuration file. Its default name is <tt><%= @project %>.yaml</tt>
|
41
|
+
and it can be stored in several directories which are observable by
|
42
|
+
<tt>--config--dirs</tt> CL option.
|
45
43
|
|
46
|
-
|
44
|
+
3. Command line.
|
47
45
|
|
48
46
|
The configuration file must be in YAML format. Look into <tt>`gem env
|
49
|
-
gemdir`/gems/<%= @project %>-x.y.z/etc/</tt> directory for
|
47
|
+
gemdir`/gems/<%= @project %>-x.y.z/etc/</tt> directory for examples.
|
50
48
|
|
51
49
|
|
52
|
-
==Examples
|
50
|
+
== Examples
|
53
51
|
|
54
|
-
|
55
|
-
|
52
|
+
$ <%= target %> --config-dirs
|
53
|
+
$ <%= target %> -V
|
File without changes
|
File without changes
|
@@ -1,21 +1,21 @@
|
|
1
|
-
=Name
|
1
|
+
= Name
|
2
2
|
|
3
3
|
<%= @classy %>--[TODO: write a summary here.]
|
4
4
|
|
5
5
|
|
6
|
-
==Synopsis
|
6
|
+
== Synopsis
|
7
7
|
|
8
8
|
<%= @project %> [options]
|
9
9
|
|
10
10
|
|
11
|
-
==Description
|
11
|
+
== Description
|
12
12
|
|
13
13
|
The <%= @project %> utility [TODO: write a description here.]
|
14
14
|
|
15
15
|
The options are as follows:
|
16
16
|
|
17
17
|
--config-dirs:: List all possible locations for the
|
18
|
-
configuration file.
|
18
|
+
configuration file.
|
19
19
|
|
20
20
|
--config NAME:: The name of the configuration file. If
|
21
21
|
it contains <tt>/</tt> in it, the list from
|
@@ -29,28 +29,26 @@ The options are as follows:
|
|
29
29
|
|
30
30
|
--foobar NAME:: Huh?
|
31
31
|
|
32
|
-
==Configuration
|
33
32
|
|
34
|
-
|
33
|
+
== Configuration
|
35
34
|
|
36
|
-
|
37
|
-
(Its format is exactly similar to CL options.)
|
35
|
+
From the least significant to the most:
|
38
36
|
|
39
|
-
|
40
|
-
|
41
|
-
system directories which are observable by <tt>--config--dirs</tt> CL
|
42
|
-
option.
|
37
|
+
1. <tt><%= @project.upcase %>_CONF</tt> env variable.
|
38
|
+
(Its format is exactly similar to CL options.)
|
43
39
|
|
44
|
-
|
40
|
+
2. Configuration file. Its default name is <tt><%= @project %>.yaml</tt>
|
41
|
+
and it can be stored in several directories which are observable by
|
42
|
+
<tt>--config--dirs</tt> CL option.
|
45
43
|
|
46
|
-
|
44
|
+
3. Command line.
|
47
45
|
|
48
46
|
The configuration file must be in YAML format. Look into <tt>`gem env
|
49
|
-
gemdir`/gems/<%= @project %>-x.y.z/etc/</tt> directory for
|
47
|
+
gemdir`/gems/<%= @project %>-x.y.z/etc/</tt> directory for examples.
|
50
48
|
|
51
49
|
|
52
|
-
==Examples
|
50
|
+
== Examples
|
53
51
|
|
54
|
-
|
55
|
-
|
56
|
-
|
52
|
+
$ ri <%= @camelcase %> # after gem installation
|
53
|
+
$ <%= @project %> --config-dirs
|
54
|
+
$ <%= @project %> -V
|
@@ -1,5 +1,3 @@
|
|
1
|
-
# :erb: ruby-cli
|
2
|
-
|
3
1
|
require 'pathname'
|
4
2
|
require 'yaml'
|
5
3
|
require 'optparse'
|
@@ -31,6 +29,7 @@ module <%= @camelcase %>
|
|
31
29
|
@conf[:config_name] = Meta::NAME + '.yaml'
|
32
30
|
@conf[:config_env] = Meta::NAME.upcase + '_CONF'
|
33
31
|
@conf[:config_dirs] = DIR_CONFIG
|
32
|
+
@conf[:cl_parse_in_order] = false
|
34
33
|
end
|
35
34
|
|
36
35
|
# Setter for @conf
|
@@ -55,7 +54,7 @@ module <%= @camelcase %>
|
|
55
54
|
}
|
56
55
|
end
|
57
56
|
|
58
|
-
CliUtils.warnx "
|
57
|
+
CliUtils.warnx "config file '#{@conf[:config_name]}' not found" if @conf[:verbose] >= 2
|
59
58
|
return nil
|
60
59
|
end
|
61
60
|
|
@@ -75,15 +74,15 @@ module <%= @camelcase %>
|
|
75
74
|
# Check if options in array opts are in @conf.
|
76
75
|
def requiredOptions?(opts)
|
77
76
|
opts.each {|idx|
|
78
|
-
if !@conf.key?(idx
|
79
|
-
CliUtils.errx EX_CONFIG, "option #{idx} is either nil or missing"
|
77
|
+
if !@conf.key?(idx) || !@conf[idx]
|
78
|
+
CliUtils.errx EX_CONFIG, "option '#{idx}' is either nil or missing"
|
80
79
|
end
|
81
80
|
}
|
82
81
|
end
|
83
82
|
|
84
83
|
# Parse CLO and env variable. If block is given it is passed with
|
85
84
|
# OptionParser object as a parameter.
|
86
|
-
def optParse
|
85
|
+
def optParse argv
|
87
86
|
OptionParser.new do |o|
|
88
87
|
o.on('-v', 'Be more verbose.') { |i|
|
89
88
|
self[:verbose] += 1
|
@@ -118,7 +117,13 @@ module <%= @camelcase %>
|
|
118
117
|
env = ENV[@conf[:config_env]].shellsplit if ENV.key?(@conf[:config_env])
|
119
118
|
|
120
119
|
begin
|
121
|
-
[env,
|
120
|
+
[env, argv].each { |i|
|
121
|
+
if @conf[:cl_parse_in_order]
|
122
|
+
o.order!(i) if i
|
123
|
+
else
|
124
|
+
o.parse!(i) if i
|
125
|
+
end
|
126
|
+
}
|
122
127
|
rescue
|
123
128
|
CliUtils.errx EX_USAGE, $!.to_s
|
124
129
|
end
|
@@ -129,13 +134,11 @@ module <%= @camelcase %>
|
|
129
134
|
#
|
130
135
|
# [reqOpts] an array of requied options
|
131
136
|
# [&block] a optional block for OptionParser
|
132
|
-
def load(reqOpts = [], &block)
|
133
|
-
optParse(&block)
|
137
|
+
def load(reqOpts = [], argv = ARGV, &block)
|
138
|
+
optParse(argv, &block)
|
134
139
|
loadFile
|
135
140
|
requiredOptions?(reqOpts)
|
136
141
|
end
|
137
142
|
|
138
143
|
end
|
139
144
|
end
|
140
|
-
|
141
|
-
# Don't remove this: falsework/2.1.0/ruby-cli/2012-04-23T16:09:03+03:00
|
File without changes
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# :erb: ruby-cli
|
2
1
|
# Various staff for minitest. Include this file into your 'helper.rb'.
|
3
2
|
|
4
3
|
require 'fileutils'
|
@@ -30,5 +29,3 @@ def cmd(c)
|
|
30
29
|
|
31
30
|
File.absolute_path('../bin/' + c)
|
32
31
|
end
|
33
|
-
|
34
|
-
# Don't remove this: falsework/2.1.0/ruby-cli/2012-04-23T16:09:03+03:00
|
File without changes
|
data/test/helper.rb
CHANGED
data/test/helper_cliutils.rb
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
---
|
2
|
-
|
2
|
+
tdir: ['templates']
|
@@ -1,35 +1,25 @@
|
|
1
1
|
require_relative 'helper'
|
2
2
|
|
3
|
-
|
3
|
+
# Heavy & slow.
|
4
|
+
class TestCommandLine < MiniTest::Unit::TestCase
|
4
5
|
def setup
|
5
6
|
# this runs every time before test_*
|
6
7
|
@cmd = cmd('falsework') # get path to the exe & cd to tests directory
|
7
8
|
end
|
8
9
|
|
9
|
-
def test_project_list
|
10
|
-
r = CliUtils.exec "#{@cmd} list"
|
11
|
-
assert_equal(0, r[0])
|
12
|
-
assert_match(/ruby-cli/, r[2])
|
13
|
-
end
|
14
|
-
|
15
|
-
# very silly analogue of "sed -i'' -E 's/foo/bar/g' file"
|
16
|
-
def sed(file, re, repl)
|
17
|
-
o = File.read(file).gsub(re, repl)
|
18
|
-
File.open(file, 'w+') {|fp| fp.printf(o) }
|
19
|
-
end
|
20
|
-
|
21
10
|
def test_project_ruby_cli
|
22
11
|
rm_rf 'templates/foo'
|
23
|
-
r = CliUtils.exec "#{@cmd} new templates/foo
|
12
|
+
r = CliUtils.exec "#{@cmd} -v new templates/foo"
|
24
13
|
# pp r
|
25
14
|
assert_equal(0, r[0], r)
|
26
15
|
|
27
16
|
out = r[2].split("\n")
|
28
17
|
assert_match(/^Project path: \//, out[0])
|
29
|
-
assert_equal
|
18
|
+
assert_equal "N: .falsework", out[-2]
|
30
19
|
assert_match(/Creating a git repository in .+... OK/, out[-1])
|
31
20
|
|
32
|
-
tree = ["templates/foo/.
|
21
|
+
tree = ["templates/foo/.falsework",
|
22
|
+
"templates/foo/.git",
|
33
23
|
"templates/foo/.gitignore",
|
34
24
|
"templates/foo/Gemfile",
|
35
25
|
"templates/foo/README.rdoc",
|
@@ -62,12 +52,15 @@ class TestExecution < MiniTest::Unit::TestCase
|
|
62
52
|
# check rake
|
63
53
|
r = CliUtils.exec "rake -T"
|
64
54
|
assert_equal 0, r[0]
|
55
|
+
|
56
|
+
# bundler targets test
|
57
|
+
r = CliUtils.exec "rake build"
|
58
|
+
assert_equal 0, r[0]
|
65
59
|
|
66
60
|
# add files
|
67
61
|
r = CliUtils.exec "#{@cmd} exe qqq"
|
68
62
|
assert_equal(0, r[0])
|
69
63
|
assert_equal(true, File.executable?('bin/qqq'))
|
70
|
-
assert_equal(true, File.exist?('doc/qqq.rdoc'))
|
71
64
|
# smoke test of generated exe
|
72
65
|
r = CliUtils.exec "bin/qqq --version"
|
73
66
|
assert_equal 0, r[0]
|
@@ -79,30 +72,44 @@ class TestExecution < MiniTest::Unit::TestCase
|
|
79
72
|
|
80
73
|
# upgrade
|
81
74
|
r = CliUtils.exec "#{@cmd} upgrade -b"
|
82
|
-
|
75
|
+
# pp r
|
76
|
+
assert_equal 0, r[0]
|
83
77
|
rm ['test/helper_cliutils.rb']
|
78
|
+
|
84
79
|
r = CliUtils.exec "#{@cmd} upgrade -b"
|
85
|
-
assert_equal
|
86
|
-
|
87
|
-
|
88
|
-
r = CliUtils.exec "#{@cmd} upgrade -b"
|
89
|
-
assert_equal
|
90
|
-
|
91
|
-
mv
|
80
|
+
assert_equal 0, r[0]
|
81
|
+
|
82
|
+
File.open('test/helper_cliutils.rb', 'w+') {|fp| fp.puts 'garbage' }
|
83
|
+
r = CliUtils.exec "#{@cmd} upgrade -b --save"
|
84
|
+
assert_equal 0, r[0]
|
85
|
+
|
86
|
+
mv 'test', 'ttt'
|
92
87
|
r = CliUtils.exec "#{@cmd} upgrade -b"
|
93
|
-
assert_equal
|
88
|
+
assert_equal 0, r[0]
|
89
|
+
|
90
|
+
# upgrade info
|
91
|
+
r = CliUtils.exec "#{@cmd} upgrade check"
|
92
|
+
assert_equal 0, r[0]
|
93
|
+
|
94
|
+
r = CliUtils.exec "#{@cmd} upgrade list"
|
95
|
+
assert_equal 0, r[0]
|
96
|
+
assert_operator 1, :<=, r[2].split("\n").size
|
97
|
+
|
98
|
+
r = CliUtils.exec "#{@cmd} upgrade list obsolete"
|
99
|
+
assert_equal 0, r[0]
|
100
|
+
assert_operator 1, :<=, r[2].split("\n").size
|
94
101
|
}
|
95
102
|
end
|
96
103
|
|
97
104
|
def test_project_invalid_name
|
98
105
|
r = CliUtils.exec "#{@cmd} new 123"
|
99
|
-
assert_equal(
|
106
|
+
assert_equal(EX_SOFTWARE, r[0])
|
100
107
|
assert_match(/invalid project name/, r[1])
|
101
108
|
end
|
102
109
|
|
103
110
|
def test_project_c_glib
|
104
111
|
rm_rf 'templates/c_glib'
|
105
|
-
r = CliUtils.exec "#{@cmd}
|
112
|
+
r = CliUtils.exec "#{@cmd} -t c-glib new templates/c-glib --no-git"
|
106
113
|
assert_equal(0, r[0])
|
107
114
|
|
108
115
|
Dir.chdir('templates/c_glib') {
|
@@ -110,7 +117,6 @@ class TestExecution < MiniTest::Unit::TestCase
|
|
110
117
|
assert_equal(0, r[0])
|
111
118
|
assert_equal(true, File.exist?('src/q_q_q.h'))
|
112
119
|
assert_equal(true, File.exist?('src/q_q_q.c'))
|
113
|
-
assert_equal(true, File.exist?('doc/q_q_q.1.asciidoc'))
|
114
120
|
|
115
121
|
r = CliUtils.exec "#{@cmd} -t c-glib test q-q-q"
|
116
122
|
assert_equal(0, r[0])
|
@@ -133,4 +139,21 @@ class TestExecution < MiniTest::Unit::TestCase
|
|
133
139
|
}
|
134
140
|
}
|
135
141
|
end
|
142
|
+
|
143
|
+
def test_new_dir_from_config
|
144
|
+
r = CliUtils.exec "#{@cmd} --config /NO_SUCH_FILE.yaml list dirs"
|
145
|
+
assert_equal(0, r[0])
|
146
|
+
assert_equal(2, r[2].split("\n").size)
|
147
|
+
|
148
|
+
r = CliUtils.exec "#{@cmd} --config templates/config-01.yaml list dirs"
|
149
|
+
assert_equal(0, r[0])
|
150
|
+
assert_equal(3, r[2].split("\n").size)
|
151
|
+
end
|
152
|
+
|
153
|
+
def test_project_list
|
154
|
+
r = CliUtils.exec "#{@cmd} list"
|
155
|
+
assert_equal(0, r[0])
|
156
|
+
assert_match(/ruby-cli/, r[2])
|
157
|
+
end
|
158
|
+
|
136
159
|
end
|