vendorificator 0.1.1 → 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.
- data/.travis.yml +5 -2
- data/Gemfile +0 -1
- data/README.md +9 -0
- data/Rakefile +7 -1
- data/features/chef_cookbook.feature +4 -6
- data/features/deprecated.feature +4 -4
- data/features/git.feature +41 -2
- data/features/needed.feature +8 -7
- data/features/smoke.feature +7 -5
- data/features/status.feature +15 -15
- data/features/step_definitions/aruba_ext.rb +11 -0
- data/features/step_definitions/basic.rb +16 -43
- data/features/step_definitions/git.rb +11 -11
- data/features/step_definitions/vendorificator.rb +4 -6
- data/features/support/aruba_ext.rb +23 -0
- data/features/support/env.rb +13 -20
- data/features/support/minigit.rb +37 -0
- data/features/tarball.feature +7 -7
- data/features/tarball_edit.feature +1 -1
- data/features/vendor.feature +2 -2
- data/lib/vendorificator/cli.rb +36 -61
- data/lib/vendorificator/config.rb +5 -42
- data/lib/vendorificator/environment.rb +111 -0
- data/lib/vendorificator/hooks/chef_cookbook.rb +59 -23
- data/lib/vendorificator/vendor/archive.rb +2 -2
- data/lib/vendorificator/vendor/chef_cookbook.rb +2 -2
- data/lib/vendorificator/vendor/download.rb +44 -0
- data/lib/vendorificator/vendor/git.rb +9 -11
- data/lib/vendorificator/vendor.rb +105 -48
- data/lib/vendorificator/version.rb +1 -1
- data/lib/vendorificator.rb +2 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/vendorificator/vendor_spec.rb +15 -7
- data/vendorificator.gemspec +4 -4
- metadata +24 -21
- data/features/support/world_git.rb +0 -40
- data/features/support/world_runs.rb +0 -93
- data/lib/vendorificator/repo.rb +0 -69
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -129,6 +129,15 @@ vendor 'generated', :version => '0.23' do |mod|
|
|
129
129
|
end
|
130
130
|
```
|
131
131
|
|
132
|
+
#### download
|
133
|
+
|
134
|
+
Downloads a single file:
|
135
|
+
|
136
|
+
```ruby
|
137
|
+
download 'socks.el', :url => 'http://cvs.savannah.gnu.org/viewvc/*checkout*/w3/lisp/socks.el?root=w3&revision=HEAD'
|
138
|
+
download 'http://mumble.net/~campbell/emacs/paredit.el'
|
139
|
+
```
|
140
|
+
|
132
141
|
#### archive
|
133
142
|
|
134
143
|
Archive takes a tar.gz, tar.bz2, or zip file, downloads it, and
|
data/Rakefile
CHANGED
@@ -18,7 +18,9 @@ begin
|
|
18
18
|
require 'cucumber/rake/task'
|
19
19
|
|
20
20
|
desc 'Run Cucumber features'
|
21
|
-
Cucumber::Rake::Task.new(:features)
|
21
|
+
Cucumber::Rake::Task.new(:features) do |t|
|
22
|
+
t.fork = false
|
23
|
+
end
|
22
24
|
rescue LoadError
|
23
25
|
desc 'Cucumber rake task not available'
|
24
26
|
task :features do
|
@@ -32,4 +34,8 @@ Rake::TestTask.new :spec do |task|
|
|
32
34
|
task.test_files = FileList['spec/**/*_spec.rb']
|
33
35
|
end
|
34
36
|
|
37
|
+
# https://github.com/jruby/jruby/issues/405
|
38
|
+
mkdir_p 'tmp'
|
39
|
+
ENV['TMPDIR'] ||= File.join(Dir.pwd, 'tmp')
|
40
|
+
|
35
41
|
task :default => [:spec, :features]
|
@@ -1,13 +1,11 @@
|
|
1
1
|
Feature: Chef cookbooks from Opscode Community website
|
2
2
|
|
3
3
|
Scenario: A single cookbook, without dependencies
|
4
|
-
|
5
|
-
Scenario: Version & checksum
|
6
4
|
Given a repository with following Vendorfile:
|
7
5
|
"""ruby
|
8
6
|
chef_cookbook 'apt'
|
9
7
|
"""
|
10
|
-
When I run
|
8
|
+
When I successfully run `vendor sync`
|
11
9
|
Then following has been conjured:
|
12
10
|
| Name | cookbooks/apt |
|
13
11
|
| With file | metadata.rb |
|
@@ -17,7 +15,7 @@ Scenario: Dependency hook
|
|
17
15
|
"""ruby
|
18
16
|
chef_cookbook 'memcached'
|
19
17
|
"""
|
20
|
-
When I run
|
18
|
+
When I successfully run `vendor sync`
|
21
19
|
Then following has been conjured:
|
22
20
|
| Name | cookbooks/memcached | cookbooks/runit |
|
23
21
|
| With file | metadata.rb | metadata.rb |
|
@@ -28,7 +26,7 @@ Scenario: Ignored dependency
|
|
28
26
|
chef_cookbook_ignore_dependencies ['runit']
|
29
27
|
chef_cookbook 'memcached'
|
30
28
|
"""
|
31
|
-
When I run
|
29
|
+
When I successfully run `vendor sync`
|
32
30
|
Then following has been conjured:
|
33
31
|
| Name | cookbooks/memcached |
|
34
32
|
| With file | metadata.rb |
|
@@ -42,7 +40,7 @@ Scenario: Ignored all dependencies
|
|
42
40
|
chef_cookbook_ignore_dependencies true
|
43
41
|
chef_cookbook 'chef-server'
|
44
42
|
"""
|
45
|
-
When I run
|
43
|
+
When I successfully run `vendor sync`
|
46
44
|
Then following has been conjured:
|
47
45
|
| Name | cookbooks/chef-server |
|
48
46
|
| With file | metadata.rb |
|
data/features/deprecated.feature
CHANGED
@@ -9,9 +9,9 @@ Background:
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
Scenario: `vendorify` command prints a deprecation warning
|
12
|
-
When I run
|
13
|
-
Then
|
12
|
+
When I successfully run `vendorify`
|
13
|
+
Then the output should contain "DEPRECATED"
|
14
14
|
|
15
15
|
Scenario: `vendor` command doesn't print a deprecation warning
|
16
|
-
When I run
|
17
|
-
Then
|
16
|
+
When I successfully run `vendor`
|
17
|
+
Then the output should not contain "DEPRECATED"
|
data/features/git.feature
CHANGED
@@ -1,12 +1,51 @@
|
|
1
1
|
Feature: Git-based vendor module
|
2
2
|
|
3
|
-
Scenario:
|
3
|
+
Scenario: Vendorificating a git repo
|
4
4
|
Given a repository with following Vendorfile:
|
5
5
|
"""ruby
|
6
6
|
git "file://#{ENV['FIXTURES_DIR']}/git/testrepo"
|
7
7
|
"""
|
8
|
-
When I run
|
8
|
+
When I successfully run `vendor sync`
|
9
9
|
Then following has been conjured:
|
10
10
|
| Name | testrepo |
|
11
11
|
| Version | 10e9ac58c77bc229d8c59a5b4eb7422916453148 |
|
12
12
|
| With file | test/alias.c |
|
13
|
+
|
14
|
+
Scenario: Vendorificating a subdirectory from a git repo
|
15
|
+
Given a repository with following Vendorfile:
|
16
|
+
"""ruby
|
17
|
+
git "file://#{ENV['FIXTURES_DIR']}/git/testrepo",
|
18
|
+
:subdirectory => 'test'
|
19
|
+
"""
|
20
|
+
When I successfully run `vendor sync`
|
21
|
+
Then following has been conjured:
|
22
|
+
| Name | testrepo |
|
23
|
+
| Version | 10e9ac58c77bc229d8c59a5b4eb7422916453148 |
|
24
|
+
| With file | alias.c |
|
25
|
+
| Without file | test/alias.c |
|
26
|
+
|
27
|
+
Scenario: Vendorificating a certain branch from a git repo
|
28
|
+
Given a repository with following Vendorfile:
|
29
|
+
"""ruby
|
30
|
+
git "file://#{ENV['FIXTURES_DIR']}/git/testrepo",
|
31
|
+
:branch => 'topic/pink'
|
32
|
+
"""
|
33
|
+
When I successfully run `vendor sync`
|
34
|
+
Then following has been conjured:
|
35
|
+
| Name | testrepo |
|
36
|
+
| Version | ecbfa229ba5f11c05b18bcc4f7c32b8f25d63f8c |
|
37
|
+
| With file | README.md |
|
38
|
+
|
39
|
+
Scenario: Vendorificating a certain revision from a git repo
|
40
|
+
Given a repository with following Vendorfile:
|
41
|
+
"""ruby
|
42
|
+
git "file://#{ENV['FIXTURES_DIR']}/git/testrepo",
|
43
|
+
:revision => '6ff1be'
|
44
|
+
"""
|
45
|
+
When I successfully run `vendor sync`
|
46
|
+
Then following has been conjured:
|
47
|
+
| Name | testrepo |
|
48
|
+
| Version | 6ff1be9c3819c93a2f41e0ddc09f252fcf154f34 |
|
49
|
+
| With file | alias.c |
|
50
|
+
| Without file | test/alias.c |
|
51
|
+
|
data/features/needed.feature
CHANGED
@@ -6,11 +6,12 @@ Scenario: already downloaded tarball
|
|
6
6
|
archive :testrepo, :version => '0.1',
|
7
7
|
:url => 'http://test-assets.3ofcoins.net.s3-website-us-east-1.amazonaws.com/testrepo-0.1.tar.gz'
|
8
8
|
"""
|
9
|
-
When I run
|
9
|
+
When I successfully run `vendor sync`
|
10
10
|
Then I'm on "master" branch
|
11
|
-
And
|
12
|
-
And
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
And
|
11
|
+
And the last output should match /module\s+testrepo/
|
12
|
+
And the last output should match "testrepo-0.1.tar.gz"
|
13
|
+
|
14
|
+
When I successfully run `vendor sync`
|
15
|
+
Then the last output should match /module\s+testrepo/
|
16
|
+
And the last output should match /up to date\s+testrepo/
|
17
|
+
And the last output should not match "testrepo-0.1.tar.gz"
|
data/features/smoke.feature
CHANGED
@@ -4,11 +4,13 @@ Feature: smoke test of the test suite
|
|
4
4
|
I want to make sure that test environment itself does not emit smoke.
|
5
5
|
|
6
6
|
Scenario: The default environment
|
7
|
-
Given
|
8
|
-
|
9
|
-
|
7
|
+
Given a repository with following Vendorfile:
|
8
|
+
"""
|
9
|
+
"""
|
10
|
+
Then a file named "README" should exist
|
11
|
+
And a 0 byte file named "Vendorfile" should exist
|
10
12
|
And git repository is clean
|
11
|
-
And git history has
|
13
|
+
And git history has 1 commit
|
12
14
|
And I'm on "master" branch
|
13
15
|
And no other branch exists
|
14
|
-
|
16
|
+
|
data/features/status.feature
CHANGED
@@ -12,16 +12,16 @@ Background:
|
|
12
12
|
"""
|
13
13
|
|
14
14
|
Scenario: status new module
|
15
|
-
When I run
|
16
|
-
Then
|
15
|
+
When I successfully run `vendor status`
|
16
|
+
Then the last output should match /new\s+generated\/0.23/
|
17
17
|
|
18
18
|
Scenario: status up-to-date module
|
19
|
-
When I run
|
20
|
-
And I run
|
21
|
-
Then
|
19
|
+
When I successfully run `vendor sync`
|
20
|
+
And I successfully run `vendor status`
|
21
|
+
Then the last output should match /up to date\s+generated\/0.23/
|
22
22
|
|
23
23
|
Scenario: status outdated modules
|
24
|
-
When I run
|
24
|
+
When I successfully run `vendor sync`
|
25
25
|
And I change Vendorfile to:
|
26
26
|
"""ruby
|
27
27
|
vendor 'generated', :version => '0.42' do |v|
|
@@ -29,8 +29,8 @@ Scenario: status outdated modules
|
|
29
29
|
File.open('VERSION', 'w') { |f| f.puts v.version }
|
30
30
|
end
|
31
31
|
"""
|
32
|
-
And I run
|
33
|
-
Then
|
32
|
+
And I successfully run `vendor status`
|
33
|
+
Then the last output should match /outdated\s+generated\/0.42/
|
34
34
|
|
35
35
|
Scenario: Module's dependencies are statused if they are known
|
36
36
|
When I change Vendorfile to:
|
@@ -38,10 +38,10 @@ Scenario: Module's dependencies are statused if they are known
|
|
38
38
|
require 'vendorificator/vendor/chef_cookbook'
|
39
39
|
chef_cookbook 'memcached'
|
40
40
|
"""
|
41
|
-
And I run
|
42
|
-
Then
|
43
|
-
And
|
44
|
-
When I run
|
45
|
-
And I run
|
46
|
-
Then
|
47
|
-
And
|
41
|
+
And I successfully run `vendor status`
|
42
|
+
Then the last output should match /new\s+memcached/
|
43
|
+
And the last output should not match "runit"
|
44
|
+
When I successfully run `vendor sync`
|
45
|
+
And I successfully run `vendor status`
|
46
|
+
Then the last output should match /up to date\s+memcached/
|
47
|
+
And the last output should match /up to date\s+runit/
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Then /^the last output should match (#{PATTERN})$/ do |expected|
|
2
|
+
assert { last_output =~ expected }
|
3
|
+
end
|
4
|
+
|
5
|
+
Then /^the last output should not match (#{PATTERN})$/ do |expected|
|
6
|
+
deny { last_output =~ expected }
|
7
|
+
end
|
8
|
+
|
9
|
+
Then /^it should fail$/ do
|
10
|
+
deny { last_exit_status == 0 }
|
11
|
+
end
|
@@ -6,47 +6,20 @@ When /^nothing happens$/ do
|
|
6
6
|
nil # NOP
|
7
7
|
end
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
Given /^a repository with following Vendorfile:$/ do |string|
|
26
|
-
commit_file('Vendorfile', string)
|
27
|
-
end
|
28
|
-
|
29
|
-
When /^I change Vendorfile to:$/ do |string|
|
30
|
-
commit_file('Vendorfile', string, "Updated Vendorfile")
|
31
|
-
end
|
32
|
-
|
33
|
-
When /^I try to run "(.*?)"$/ do |command_string|
|
34
|
-
run command_string
|
35
|
-
end
|
36
|
-
|
37
|
-
When /^I run "(.*?)"$/ do |command_string|
|
38
|
-
step "I try to run \"#{command_string}\""
|
39
|
-
assert { command_succeeded }
|
40
|
-
end
|
41
|
-
|
42
|
-
Then /the command has failed/ do
|
43
|
-
deny { command_succeeded(false) }
|
44
|
-
end
|
45
|
-
|
46
|
-
Then /^command (output|stdout|stderr) includes (#{PATTERN})$/ do |stream, pat|
|
47
|
-
assert { command_output(stream) =~ pat }
|
48
|
-
end
|
49
|
-
|
50
|
-
Then /^command (output|stdout|stderr) does not include (#{PATTERN})$/ do |stream, pat|
|
51
|
-
deny { command_output(stream) =~ pat }
|
9
|
+
Given /^a repository with following Vendorfile:$/ do |vendorfile_contents|
|
10
|
+
create_dir 'working-repository'
|
11
|
+
cd 'working-repository'
|
12
|
+
run_simple 'git init'
|
13
|
+
# Configure Git username & email to unclutter console output
|
14
|
+
run_simple 'git config user.name Cucumber'
|
15
|
+
run_simple 'git config user.email cucumber@`hostname --fqdn`'
|
16
|
+
write_file('README', 'Lorem ipsum dolor sit amet')
|
17
|
+
write_file('Vendorfile', vendorfile_contents)
|
18
|
+
run_simple 'git add .'
|
19
|
+
run_simple 'git commit -m "New repo"'
|
20
|
+
end
|
21
|
+
|
22
|
+
When /^I change Vendorfile to:$/ do |vendorfile_contents|
|
23
|
+
write_file('Vendorfile', vendorfile_contents)
|
24
|
+
run_simple 'git commit -m "Updated Vendorfile" Vendorfile'
|
52
25
|
end
|
@@ -1,39 +1,39 @@
|
|
1
1
|
Then /^git repository is clean$/ do
|
2
|
-
assert {
|
2
|
+
assert { git.status(:porcelain => true) == '' }
|
3
3
|
end
|
4
4
|
|
5
|
-
Then /^git history has
|
6
|
-
assert { git.
|
5
|
+
Then /^git history has (\d+) commit(?:s)?$/ do |ncommits|
|
6
|
+
assert { git.rev_list(:all => true).lines.count == ncommits.to_i }
|
7
7
|
end
|
8
8
|
|
9
9
|
Then /^I\'m on "(.*?)" branch$/ do |expected_branch|
|
10
|
-
assert {
|
10
|
+
assert { git.rev_parse({:abbrev_ref => true}, 'HEAD').strip == expected_branch }
|
11
11
|
end
|
12
12
|
|
13
13
|
Then /^no other branch exists$/ do
|
14
|
-
assert {
|
14
|
+
assert { git.branch.lines.count == 1 }
|
15
15
|
end
|
16
16
|
|
17
17
|
Then /^branch "(.*?)" exists$/ do |branch_name|
|
18
|
-
assert {
|
18
|
+
assert { git.heads.include?(branch_name) }
|
19
19
|
end
|
20
20
|
|
21
21
|
Then /^branch "(.*?)" does not exist$/ do |branch_name|
|
22
|
-
deny {
|
22
|
+
deny { git.heads.include?(branch_name) }
|
23
23
|
end
|
24
24
|
|
25
25
|
Then /^tag "(.*?)" exists$/ do |tag_name|
|
26
|
-
assert { tags.include?(tag_name) }
|
26
|
+
assert { git.tags.include?(tag_name) }
|
27
27
|
end
|
28
28
|
|
29
29
|
Then /^tag "(.*?)" does not exist$/ do |tag_name|
|
30
|
-
deny { tags.include?(tag_name) }
|
30
|
+
deny { git.tags.include?(tag_name) }
|
31
31
|
end
|
32
32
|
|
33
33
|
Then /^tag matching (#{PATTERN}) exists$/ do |pat|
|
34
|
-
assert { tags.any?{|t| t=~pat} }
|
34
|
+
assert { git.tags.any? { |t| t =~ pat } }
|
35
35
|
end
|
36
36
|
|
37
37
|
Then /^tag matching (#{PATTERN}) does not exist$/ do |pat|
|
38
|
-
deny { tags.any?{|t| t=~pat} }
|
38
|
+
deny { git.tags.any? { |t| t =~ pat } }
|
39
39
|
end
|
@@ -13,15 +13,13 @@ Then /^(?:the )?following has( not)? been conjured:$/ do |not_p, table|
|
|
13
13
|
end
|
14
14
|
|
15
15
|
if mod['With file']
|
16
|
-
mod['With file'].lines.
|
17
|
-
|
18
|
-
end
|
16
|
+
check_file_presence(mod['With file'].lines.
|
17
|
+
map { |ln| File.join('vendor', mod['Name'], ln.strip) }, !not_p)
|
19
18
|
end
|
20
19
|
|
21
20
|
if mod['Without file']
|
22
|
-
mod['Without file'].lines.
|
23
|
-
|
24
|
-
end
|
21
|
+
check_file_presence(mod['Without file'].lines.
|
22
|
+
map { |ln| File.join('vendor', mod['Name'], ln.strip) }, !!not_p)
|
25
23
|
end
|
26
24
|
end
|
27
25
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Vendorificator
|
2
|
+
module TestSupport
|
3
|
+
module ArubaExt
|
4
|
+
def last_process
|
5
|
+
processes.last.last
|
6
|
+
end
|
7
|
+
|
8
|
+
def last_stdout
|
9
|
+
last_process.stdout(@aruba_keep_ansi)
|
10
|
+
end
|
11
|
+
|
12
|
+
def last_stderr
|
13
|
+
last_process.stderr(@aruba_keep_ansi)
|
14
|
+
end
|
15
|
+
|
16
|
+
def last_output
|
17
|
+
last_stdout + last_stderr
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
World(Vendorificator::TestSupport::ArubaExt)
|
data/features/support/env.rb
CHANGED
@@ -2,31 +2,24 @@ require 'fileutils'
|
|
2
2
|
require 'pathname'
|
3
3
|
require 'tmpdir'
|
4
4
|
|
5
|
+
require 'aruba/cucumber'
|
5
6
|
require 'wrong'
|
6
7
|
|
7
8
|
World(Wrong)
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
Before do
|
13
|
-
@orig_wd = Dir.getwd
|
14
|
-
@tmp_wd = Dir.mktmpdir(nil, 'tmp')
|
15
|
-
Dir.chdir(@tmp_wd)
|
10
|
+
ENV['FIXTURES_DIR'] = Pathname.new(__FILE__).
|
11
|
+
dirname.join('..', 'fixtures').realpath.to_s
|
16
12
|
|
17
|
-
|
13
|
+
# https://github.com/cucumber/aruba/pull/144
|
14
|
+
After do
|
15
|
+
processes.clear
|
18
16
|
end
|
19
17
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
@tmp_wd = nil
|
18
|
+
Before do
|
19
|
+
@aruba_timeout_seconds = case defined?(RUBY_ENGINE) && RUBY_ENGINE
|
20
|
+
when 'ruby', nil then 3
|
21
|
+
when 'jruby' then 20
|
22
|
+
when 'rbx' then 10
|
23
|
+
else 5
|
24
|
+
end
|
28
25
|
end
|
29
|
-
|
30
|
-
ENV['FIXTURES_DIR'] = Pathname.new(__FILE__).
|
31
|
-
dirname.join('..', 'fixtures').realpath.to_s
|
32
|
-
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'minigit'
|
2
|
+
|
3
|
+
module Vendorificator
|
4
|
+
module TestSupport
|
5
|
+
module MiniGit
|
6
|
+
module MiniGitExt
|
7
|
+
def refs(kind)
|
8
|
+
show_ref(kind => true).lines.
|
9
|
+
map { |ln| ln =~ /[0-9a-f]{40} refs\/#{kind}\// and $'.strip }.
|
10
|
+
compact
|
11
|
+
rescue ::MiniGit::GitError
|
12
|
+
[]
|
13
|
+
end
|
14
|
+
|
15
|
+
def heads
|
16
|
+
refs(:heads)
|
17
|
+
end
|
18
|
+
|
19
|
+
def tags
|
20
|
+
refs(:tags)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def git
|
25
|
+
@git ||= ::MiniGit::Capturing.new(current_dir)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
class MiniGit
|
32
|
+
include Vendorificator::TestSupport::MiniGit::MiniGitExt
|
33
|
+
end
|
34
|
+
|
35
|
+
MiniGit.debug = true if ENV['DEBUG']
|
36
|
+
|
37
|
+
World(Vendorificator::TestSupport::MiniGit)
|
data/features/tarball.feature
CHANGED
@@ -5,7 +5,7 @@ Scenario: just URL as name
|
|
5
5
|
"""ruby
|
6
6
|
archive 'http://test-assets.3ofcoins.net.s3-website-us-east-1.amazonaws.com/testrepo-0.1.tar.gz'
|
7
7
|
"""
|
8
|
-
When I run
|
8
|
+
When I successfully run `vendor sync`
|
9
9
|
Then following has been conjured:
|
10
10
|
| Name | testrepo-0.1 |
|
11
11
|
| Version | testrepo-0.1.tar.gz |
|
@@ -17,7 +17,7 @@ Scenario: URL as keyword
|
|
17
17
|
archive :testrepo,
|
18
18
|
:url => 'http://test-assets.3ofcoins.net.s3-website-us-east-1.amazonaws.com/testrepo-0.1.tar.gz'
|
19
19
|
"""
|
20
|
-
When I run
|
20
|
+
When I successfully run `vendor sync`
|
21
21
|
Then following has been conjured:
|
22
22
|
| Name | testrepo |
|
23
23
|
| Version | testrepo-0.1.tar.gz |
|
@@ -31,7 +31,7 @@ Scenario: Version & checksum
|
|
31
31
|
:version => '0.1',
|
32
32
|
:checksum => 'ea207a896f929ffb3a1dfe128332d6134a18edab7c01b97bfb2b1c7eacebe0cb'
|
33
33
|
"""
|
34
|
-
When I run
|
34
|
+
When I successfully run `vendor sync`
|
35
35
|
Then following has been conjured:
|
36
36
|
| Name | testrepo |
|
37
37
|
| Version | 0.1 |
|
@@ -45,9 +45,9 @@ Scenario: Wrong checksum
|
|
45
45
|
:version => '0.1',
|
46
46
|
:checksum => 'incorrect'
|
47
47
|
"""
|
48
|
-
When I
|
49
|
-
Then
|
50
|
-
|
48
|
+
When I run `vendor sync`
|
49
|
+
Then it should fail
|
50
|
+
And following has not been conjured:
|
51
51
|
| Name | testrepo |
|
52
52
|
| With file | test/alias.c |
|
53
53
|
|
@@ -57,7 +57,7 @@ Scenario: Tarball without a root directory
|
|
57
57
|
archive :testrepo,
|
58
58
|
:url => 'http://test-assets.3ofcoins.net.s3-website-us-east-1.amazonaws.com/testrepo-0.1-noroot.tar.gz'
|
59
59
|
"""
|
60
|
-
When I run
|
60
|
+
When I successfully run `vendor sync`
|
61
61
|
Then following has been conjured:
|
62
62
|
| Name | testrepo |
|
63
63
|
| With file | test/alias.c |
|
data/features/vendor.feature
CHANGED
@@ -8,9 +8,9 @@ Scenario:
|
|
8
8
|
File.open('VERSION', 'w') { |f| f.puts v.version }
|
9
9
|
end
|
10
10
|
"""
|
11
|
-
When I run
|
11
|
+
When I successfully run `vendor sync`
|
12
12
|
Then the following has been conjured:
|
13
13
|
| Name | generated |
|
14
14
|
| Version | 0.23 |
|
15
15
|
| With file | README |
|
16
|
-
And file "vendor/generated/VERSION"
|
16
|
+
And the file "vendor/generated/VERSION" should contain "0.23"
|