donce 0.0.2 → 0.0.3

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: 458248c2903f4159ae8e840d9f79173fa5cfccaea2ef74de4ec8896fa2204be6
4
- data.tar.gz: 54e651309713b136eac4f40c77db3840aadb95e626cfe861ccfc0d76e50e06b8
3
+ metadata.gz: ad7d3419ce887d6b42f6f92f6dc9ad8414b0c3c89c1fb0ef4600972ac54f754e
4
+ data.tar.gz: a8d95d419418e037968ae4f659a5b538a8c67c44fee323974befefa7d5651b5c
5
5
  SHA512:
6
- metadata.gz: 407378f5c2d8285092e468c7472fdc778558a5b4525c37eba2226a49b2e10debbe4943338030fb351ac28f3b285b7adf480f26335d9ffd5b18458204d3053f01
7
- data.tar.gz: 84a740834b4e6c4277c9680ea85c0c124c1fdbefc6c5af33146ba6a70360be0781be1dfbe466aa69414cd3af99e0c3b31abb0172ef531524871f2e160db60d4d
6
+ metadata.gz: 22738b8cdd2b2eef8188c1e69dfea55a7d3b7317f73623fd2230cd65695dd033994f58a62fca0e549a5e846245c61b1ec0d870760d79becda4e4a769f62ba9dc
7
+ data.tar.gz: 86ee931f8f8149192661d2541b19abbd58377dd8d6aa7fc5770fbe1fdc66819aeb8ff409224938b74acedf5a94b5d961c40439f4263d83cdf3eb1e84b9e24169
data/donce.gemspec CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
26
26
  s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
27
27
  s.required_ruby_version = '>=3.0'
28
28
  s.name = 'donce'
29
- s.version = '0.0.2'
29
+ s.version = '0.0.3'
30
30
  s.license = 'MIT'
31
31
  s.summary = 'Builds and starts temporary Docker containers'
32
32
  s.description =
data/lib/donce.rb CHANGED
@@ -91,10 +91,12 @@ module Kernel
91
91
  else
92
92
  i = "donce-#{SecureRandom.hex(8)}"
93
93
  if dockerfile
94
- Dir.mktmpdir do |home|
95
- File.write(File.join(home, 'Dockerfile'), dockerfile)
96
- qbash("#{docker} build #{Shellwords.escape(home)} -t #{i}", log:)
94
+ Dir.mktmpdir do |tmp|
95
+ File.write(File.join(tmp, 'Dockerfile'), dockerfile)
96
+ qbash("#{docker} build #{Shellwords.escape(tmp)} -t #{i}", log:)
97
97
  end
98
+ else
99
+ qbash("#{docker} build #{Shellwords.escape(home)} -t #{i}", log:)
98
100
  end
99
101
  i
100
102
  end
data/test/test_donce.rb CHANGED
@@ -34,6 +34,19 @@ class TestDonce < Minitest::Test
34
34
  assert_equal("hello\n", stdout)
35
35
  end
36
36
 
37
+ def test_runs_existing_image
38
+ stdout = donce(image: 'ubuntu:24.04', command: 'echo hello', log: Loog::NULL)
39
+ assert_equal("hello\n", stdout)
40
+ end
41
+
42
+ def test_runs_from_home
43
+ Dir.mktmpdir do |home|
44
+ File.write(File.join(home, 'Dockerfile'), "FROM ubuntu\nCMD echo hello")
45
+ stdout = donce(home:, log: Loog::NULL)
46
+ assert_equal("hello\n", stdout)
47
+ end
48
+ end
49
+
37
50
  def test_runs_daemon
38
51
  seen = false
39
52
  donce(dockerfile: "FROM ubuntu\nCMD while true; do sleep 1; echo sleeping; done", log: Loog::NULL) do |id|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: donce
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko