aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2016-11-07 11:28:07 +0000
committerJustus Winter <[email protected]>2016-11-07 12:28:55 +0000
commit70215ff470c82d144e872057dfa5a478cc9195f2 (patch)
tree2a43622ea5fd705a41810daf9a8c0bb2cc437307 /tests
parentgpgscm,w32: Provide schemish file handling for binary files. (diff)
downloadgnupg-70215ff470c82d144e872057dfa5a478cc9195f2.tar.gz
gnupg-70215ff470c82d144e872057dfa5a478cc9195f2.zip
tests,tools: Reimplement 'mk-tdata' in Scheme.
* tests/openpgp/defs.scm (tools): Drop 'mk-tdata'. * tests/openpgp/setup.scm (make-test-data): New function. * tests/openpgp/verify.scm: Avoid 'mk-tdata'. * tools/Makefile.am (noinst_PROGRAMS): Drop 'mk-tdata'. * tools/mk-tdata.c: Drop file. Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to 'tests')
-rw-r--r--tests/openpgp/defs.scm1
-rwxr-xr-xtests/openpgp/setup.scm16
-rwxr-xr-xtests/openpgp/verify.scm10
3 files changed, 16 insertions, 11 deletions
diff --git a/tests/openpgp/defs.scm b/tests/openpgp/defs.scm
index c911ea38a..62bd1e2fc 100644
--- a/tests/openpgp/defs.scm
+++ b/tests/openpgp/defs.scm
@@ -59,7 +59,6 @@
(gpgconf "GPGCONF" "tools/gpgconf")
(gpg-preset-passphrase "GPG_PRESET_PASSPHRASE"
"agent/gpg-preset-passphrase")
- (mktdata "MKTDATA" "tools/mk-tdata")
(gpgtar "GPGTAR" "tools/gpgtar")
(gpg-zip "GPGZIP" "tools/gpg-zip")
(pinentry "PINENTRY" "tests/openpgp/fake-pinentry")))
diff --git a/tests/openpgp/setup.scm b/tests/openpgp/setup.scm
index 99fbdeaf1..d3ce0d60c 100755
--- a/tests/openpgp/setup.scm
+++ b/tests/openpgp/setup.scm
@@ -19,11 +19,17 @@
(load (with-path "defs.scm"))
+(define (make-test-data filename size)
+ (call-with-binary-output-file
+ filename
+ (lambda (port)
+ (display (make-random-string size) port))))
+
(define (create-gpghome)
(echo "Creating test environment...")
- (letfd ((fd (open "random_seed" (logior O_WRONLY O_CREAT O_BINARY) #o600)))
- (call-with-fds (list (tool 'mktdata) "600") CLOSED_FD fd STDERR_FILENO))
+ (srandom (getpid))
+ (make-test-data "random_seed" 600)
(for-each-p
"Creating configuration files"
@@ -44,10 +50,8 @@
(for-each-p "Creating sample data files"
(lambda (size)
- (letfd ((fd (open (string-append "data-" (number->string size))
- (logior O_WRONLY O_CREAT O_BINARY) #o600)))
- (call-with-fds (list (tool 'mktdata) (number->string size))
- CLOSED_FD fd STDERR_FILENO)))
+ (make-test-data (string-append "data-" (number->string size))
+ size))
'(500 9000 32000 80000))
(for-each-p "Unpacking samples"
diff --git a/tests/openpgp/verify.scm b/tests/openpgp/verify.scm
index e8aa7df35..eb984b110 100755
--- a/tests/openpgp/verify.scm
+++ b/tests/openpgp/verify.scm
@@ -26,12 +26,14 @@
"Checking bogus signature"
(lambda (char)
(lettmp (x)
- (pipe:do
- (pipe:spawn `(,(tool 'mktdata) --char ,char "64"))
- (pipe:write-to x (logior O_WRONLY O_CREAT O_BINARY) #o600))
+ (call-with-binary-output-file
+ x
+ (lambda (port)
+ (display (make-string 64 (integer->char (string->number char)))
+ port)))
(if (= 0 (call `(,@GPG --verify ,x data-500)))
(error "no error code from verify"))))
- '("0x2d" "0xca"))
+ '("#x2d" "#xca"))
;; A plain signed message created using
;; echo abc | gpg --homedir . --passphrase-fd 0 -u Alpha -z0 -sa msg