haiti 0.1.0 → 0.2.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.
- checksums.yaml +4 -4
- data/Readme.md +5 -1
- data/lib/haiti/command_line_helpers.rb +3 -2
- data/lib/haiti/step_definitions.rb +9 -1
- data/lib/haiti/version.rb +1 -1
- data/test/features/given_the_environment_variable.feature +10 -0
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be6ec7f0e2f72963e8a40c529b229752e5ff537c
|
4
|
+
data.tar.gz: da2b74a700ae3dd337254da69a6743baf242415f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c5e89a79967beecc75050b141c8390c290e577cc0f364a5b6d2e3cba7f764738f6985f524510072bc8c24cb7a273af81712b74b1b14390f4e0a4d24c371f332
|
7
|
+
data.tar.gz: 3f690950c58e8c8fcb026f331949c57a6d02a47302ef92e7ab0531803e29e685ddb3f30d571b0e7506366adb97b7d285709bfef3dda171e866085f3b9ba2a04a
|
data/Readme.md
CHANGED
@@ -22,11 +22,15 @@ To run tests
|
|
22
22
|
Todo
|
23
23
|
====
|
24
24
|
|
25
|
+
**For my own sanity**
|
26
|
+
* Stick all this shit on a `@haiti` ivar rather than littering it all over `self`... I don't even know what `self` is in this case.
|
27
|
+
|
25
28
|
**These would actually be useful right now**
|
26
29
|
|
30
|
+
* Some way to say that I run it and it succeeds (i.e. not so much effort to print stdout on failures)
|
27
31
|
* All existing defs can take single or double quotes
|
28
32
|
* Failures on stdout also display stderr
|
29
|
-
*
|
33
|
+
* Step def for does not include
|
30
34
|
|
31
35
|
**These should just generally be done**
|
32
36
|
* Add tests showing that curlies get interpreted where expected
|
@@ -20,11 +20,12 @@ module Haiti
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
-
def execute(command, stdin_data
|
23
|
+
def execute(command, stdin_data, env_vars)
|
24
24
|
stdin_data ||= ''
|
25
|
+
env_vars ||= {}
|
25
26
|
in_proving_grounds do
|
26
27
|
with_bin_in_path do
|
27
|
-
Invocation.new *Open3.capture3(command, stdin_data: stdin_data)
|
28
|
+
Invocation.new *Open3.capture3(env_vars, command, stdin_data: stdin_data)
|
28
29
|
end
|
29
30
|
end
|
30
31
|
end
|
@@ -16,7 +16,7 @@ define_steps.call(
|
|
16
16
|
define_steps.call(
|
17
17
|
'I run "$command"',
|
18
18
|
"I run '$command'",
|
19
|
-
) { |command| @last_executed = Haiti::CommandLineHelpers.execute command, @stdin_data }
|
19
|
+
) { |command| @last_executed = Haiti::CommandLineHelpers.execute command, @stdin_data, @env_vars_to_set }
|
20
20
|
|
21
21
|
define_steps.call(
|
22
22
|
/^(stderr|stdout) is:$/,
|
@@ -66,3 +66,11 @@ define_steps.call(
|
|
66
66
|
Haiti::CommandLineHelpers.in_proving_grounds { File.exist? filename }
|
67
67
|
).to eq true
|
68
68
|
}
|
69
|
+
|
70
|
+
define_steps.call(
|
71
|
+
/^the environment variable "(.*?)" is set to "(.*?)"$/,
|
72
|
+
/^the environment variable "(.*?)" is set to '(.*?)'$/
|
73
|
+
) { |name, value|
|
74
|
+
@env_vars_to_set ||= {}
|
75
|
+
@env_vars_to_set[eval_curlies(name)] = eval_curlies(value)
|
76
|
+
}
|
data/lib/haiti/version.rb
CHANGED
@@ -0,0 +1,10 @@
|
|
1
|
+
Feature:
|
2
|
+
Scenario:
|
3
|
+
Given the environment variable "MY{{?_}}VAR" is set to "1/{{1+1}}/3"
|
4
|
+
When I run "ruby -e 'print ENV[%(MY_VAR)]'"
|
5
|
+
Then stdout is "1/2/3"
|
6
|
+
|
7
|
+
Scenario:
|
8
|
+
Given the environment variable "MY{{?_}}VAR" is set to '1/{{1+1}}/3'
|
9
|
+
When I run "ruby -e 'print ENV[%(MY_VAR)]'"
|
10
|
+
Then stdout is "1/2/3"
|
metadata
CHANGED
@@ -1,38 +1,38 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: haiti
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josh Cheek
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06
|
11
|
+
date: 2014-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
+
name: cucumber
|
14
15
|
requirement: !ruby/object:Gem::Requirement
|
15
16
|
requirements:
|
16
17
|
- - "~>"
|
17
18
|
- !ruby/object:Gem::Version
|
18
19
|
version: '1.0'
|
19
|
-
prerelease: false
|
20
|
-
name: cucumber
|
21
20
|
type: :runtime
|
21
|
+
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
28
29
|
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
31
|
- - "~>"
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: '3.0'
|
33
|
-
prerelease: false
|
34
|
-
name: rspec
|
35
34
|
type: :runtime
|
35
|
+
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
@@ -61,6 +61,7 @@ files:
|
|
61
61
|
- test/Gemfile.lock
|
62
62
|
- test/bin/repeat_this_back_to_me
|
63
63
|
- test/features/config.feature
|
64
|
+
- test/features/given_the_environment_variable.feature
|
64
65
|
- test/features/given_the_file.feature
|
65
66
|
- test/features/given_the_stdin_content.feature
|
66
67
|
- test/features/support/env.rb
|
@@ -97,6 +98,7 @@ test_files:
|
|
97
98
|
- test/Gemfile.lock
|
98
99
|
- test/bin/repeat_this_back_to_me
|
99
100
|
- test/features/config.feature
|
101
|
+
- test/features/given_the_environment_variable.feature
|
100
102
|
- test/features/given_the_file.feature
|
101
103
|
- test/features/given_the_stdin_content.feature
|
102
104
|
- test/features/support/env.rb
|