tomo 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d18ff3d01e23c8718e549df3a3fa7dd55bdbce3f276f721575d8fec96caf7b54
4
- data.tar.gz: c11230318407297cb5eddd23b3022dc7dfceb4b4e35c5178c795e3649cc4ba90
3
+ metadata.gz: 5f82eed57d49c1c93977def7e9a8074645470fe6066e73eb9882b5f9bd264020
4
+ data.tar.gz: 7c5813c23a7b4c26d8a3f0398b8c340d8efb587fde4f187176a3d1d8d4e08114
5
5
  SHA512:
6
- metadata.gz: e3b4c88bc36f3bc8042026190db568907555105fbed5c765e6c44716f48bf3888d582f0eb4cc1c4adb18b80052aab2c382d8633b03820aeb8d28a9dbe91e36f2
7
- data.tar.gz: 6874ea64aced92f2c5cb50ad16f6495df93f71ce8e7ea4a773ee794b4164190ea67391b011e6102c9cd073ee93f1fbeff980dce76d4cfa5cf0e6d340b88faa3a
6
+ metadata.gz: 01d1b2909f0aaf19cf0236e300a2817e2f654e8b95cf29f9a3fad6545b943d793b1d33dbf1ecd5df60ae7aa7a7f816874b3d821ebbd39046b9f7ce8ab216bc8f
7
+ data.tar.gz: 280ba8250c6c5f0b17f23147862c4245e639d175288fef07abe18fa250d1ee4da31a13cc67963519128b51edca4ed34906da99c244970c5520d362d56849c4b7
data/lib/tomo/runtime.rb CHANGED
@@ -50,8 +50,6 @@ module Tomo
50
50
  end
51
51
 
52
52
  def execution_plan_for(tasks, release: :current, args: [])
53
- raise ArgumentError, "tasks cannot be empty" if tasks.empty?
54
-
55
53
  ExecutionPlan.new(
56
54
  tasks: tasks,
57
55
  hosts: hosts,
@@ -86,7 +86,10 @@ module Tomo
86
86
  else
87
87
  args.prepend("--publish-all ")
88
88
  end
89
- Local.capture("docker run #{args}")[/\S+/]
89
+ Local.capture("docker run #{args}")[/\S+/].tap do
90
+ # Allow some time for the container to finish booting
91
+ sleep 0.1
92
+ end
90
93
  end
91
94
 
92
95
  def find_ssh_port
@@ -1,20 +1,28 @@
1
1
  require "bundler"
2
+ require "fileutils"
2
3
  require "open3"
4
+ require "securerandom"
3
5
  require "shellwords"
6
+ require "tmpdir"
4
7
 
5
8
  module Tomo
6
9
  module Testing
7
10
  module Local
8
11
  class << self
9
- def bundle_exec(command)
10
- gemfile = File.expand_path("../../../Gemfile", __dir__)
11
- full_cmd = "bundle exec --gemfile=#{gemfile.shellescape} #{command}"
12
+ def with_tomo_gemfile
12
13
  Bundler.with_original_env do
13
- puts ">>> #{full_cmd}"
14
- system(full_cmd) || raise("Command failed")
14
+ gemfile = File.expand_path("../../../Gemfile", __dir__)
15
+ ENV["BUNDLE_GEMFILE"] = gemfile
16
+ yield
15
17
  end
16
18
  end
17
19
 
20
+ def in_temp_dir(&block)
21
+ dir = File.join(Dir.tmpdir, "tomo_test_#{SecureRandom.hex(8)}")
22
+ FileUtils.mkdir_p(dir)
23
+ Dir.chdir(dir, &block)
24
+ end
25
+
18
26
  def capture(command, raise_on_error: true)
19
27
  progress(command) do
20
28
  output, status = Open3.capture2e(command)
data/lib/tomo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Tomo
2
- VERSION = "0.2.1".freeze
2
+ VERSION = "0.2.2".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tomo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Brictson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-07-02 00:00:00.000000000 Z
11
+ date: 2019-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler