blob: 01880f71ebb8d566d9d4490a173a2cf015629633 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
require "utils"
module Gpg
module_function
def executable
which "gpg"
end
def available?
File.executable?(executable.to_s)
end
def create_test_key(path)
odie "No GPG present to test against!" unless available?
(path/"batch.gpg").write <<~EOS
Key-Type: RSA
Key-Length: 2048
Subkey-Type: RSA
Subkey-Length: 2048
Name-Real: Testing
Name-Email: testing@foo.bar
Expire-Date: 1d
%no-protection
%commit
EOS
system executable, "--batch", "--gen-key", "batch.gpg"
end
def cleanup_test_processes!
odie "No GPG present to test against!" unless available?
gpgconf = Pathname.new(executable).parent/"gpgconf"
system gpgconf, "--kill", "gpg-agent"
system gpgconf, "--homedir", "keyrings/live", "--kill",
"gpg-agent"
end
def test(path)
create_test_key(path)
begin
yield
ensure
cleanup_test_processes!
end
end
end
|