summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Daloze <eregontp@gmail.com>2020-08-29 12:23:31 +0200
committerBenoit Daloze <eregontp@gmail.com>2020-08-29 12:30:24 +0200
commit3beecafc2cae86290a191c1e841be13f5b08795d (patch)
tree2da9f983d441f1f97c6927b6a7f3886924d7685a
parente8c3872555fc85640505974e6b1c39d315572689 (diff)
Fix usages of Tempfile.open(&block) that expected the file to still be there after the block
-rw-r--r--lib/reline/line_editor.rb10
-rw-r--r--test/openssl/test_x509store.rb29
2 files changed, 21 insertions, 18 deletions
diff --git a/lib/reline/line_editor.rb b/lib/reline/line_editor.rb
index b4d2b457c7..6826d58d9a 100644
--- a/lib/reline/line_editor.rb
+++ b/lib/reline/line_editor.rb
@@ -2079,12 +2079,14 @@ class Reline::LineEditor
end
private def vi_histedit(key)
- path = Tempfile.open { |fp|
+ Tempfile.open { |fp|
fp.write @line
- fp.path
+ path = fp.path
+ fp.close
+
+ system("#{ENV['EDITOR']} #{path}")
+ @line = File.read(path)
}
- system("#{ENV['EDITOR']} #{path}")
- @line = File.read(path)
finish
end
diff --git a/test/openssl/test_x509store.rb b/test/openssl/test_x509store.rb
index 1cbc73d539..e1898d62b9 100644
--- a/test/openssl/test_x509store.rb
+++ b/test/openssl/test_x509store.rb
@@ -33,20 +33,21 @@ class OpenSSL::TestX509Store < OpenSSL::TestCase
]
cert1 = issue_cert(@ca1, @rsa1024, 1, ca_exts, nil, nil)
cert2 = issue_cert(@ca2, @rsa2048, 1, ca_exts, nil, nil)
- tmpfile = Tempfile.open { |f| f << cert1.to_pem << cert2.to_pem; f }
-
- store = OpenSSL::X509::Store.new
- assert_equal false, store.verify(cert1)
- assert_equal false, store.verify(cert2)
- store.add_file(tmpfile.path)
- assert_equal true, store.verify(cert1)
- assert_equal true, store.verify(cert2)
-
- # OpenSSL < 1.1.1 leaks an error on a duplicate certificate
- assert_nothing_raised { store.add_file(tmpfile.path) }
- assert_equal [], OpenSSL.errors
- ensure
- tmpfile and tmpfile.close!
+ Tempfile.open { |tmpfile|
+ tmpfile << cert1.to_pem << cert2.to_pem
+ tmpfile.close
+
+ store = OpenSSL::X509::Store.new
+ assert_equal false, store.verify(cert1)
+ assert_equal false, store.verify(cert2)
+ store.add_file(tmpfile.path)
+ assert_equal true, store.verify(cert1)
+ assert_equal true, store.verify(cert2)
+
+ # OpenSSL < 1.1.1 leaks an error on a duplicate certificate
+ assert_nothing_raised { store.add_file(tmpfile.path) }
+ assert_equal [], OpenSSL.errors
+ }
end
def test_verify