mirror of
git://git.gnupg.org/gnupg.git
synced 2025-02-08 17:43:04 +01:00
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 <justus@g10code.com>
This commit is contained in:
parent
413cc50345
commit
70215ff470
@ -59,7 +59,6 @@
|
|||||||
(gpgconf "GPGCONF" "tools/gpgconf")
|
(gpgconf "GPGCONF" "tools/gpgconf")
|
||||||
(gpg-preset-passphrase "GPG_PRESET_PASSPHRASE"
|
(gpg-preset-passphrase "GPG_PRESET_PASSPHRASE"
|
||||||
"agent/gpg-preset-passphrase")
|
"agent/gpg-preset-passphrase")
|
||||||
(mktdata "MKTDATA" "tools/mk-tdata")
|
|
||||||
(gpgtar "GPGTAR" "tools/gpgtar")
|
(gpgtar "GPGTAR" "tools/gpgtar")
|
||||||
(gpg-zip "GPGZIP" "tools/gpg-zip")
|
(gpg-zip "GPGZIP" "tools/gpg-zip")
|
||||||
(pinentry "PINENTRY" "tests/openpgp/fake-pinentry")))
|
(pinentry "PINENTRY" "tests/openpgp/fake-pinentry")))
|
||||||
|
@ -19,11 +19,17 @@
|
|||||||
|
|
||||||
(load (with-path "defs.scm"))
|
(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)
|
(define (create-gpghome)
|
||||||
(echo "Creating test environment...")
|
(echo "Creating test environment...")
|
||||||
|
|
||||||
(letfd ((fd (open "random_seed" (logior O_WRONLY O_CREAT O_BINARY) #o600)))
|
(srandom (getpid))
|
||||||
(call-with-fds (list (tool 'mktdata) "600") CLOSED_FD fd STDERR_FILENO))
|
(make-test-data "random_seed" 600)
|
||||||
|
|
||||||
(for-each-p
|
(for-each-p
|
||||||
"Creating configuration files"
|
"Creating configuration files"
|
||||||
@ -44,10 +50,8 @@
|
|||||||
|
|
||||||
(for-each-p "Creating sample data files"
|
(for-each-p "Creating sample data files"
|
||||||
(lambda (size)
|
(lambda (size)
|
||||||
(letfd ((fd (open (string-append "data-" (number->string size))
|
(make-test-data (string-append "data-" (number->string size))
|
||||||
(logior O_WRONLY O_CREAT O_BINARY) #o600)))
|
size))
|
||||||
(call-with-fds (list (tool 'mktdata) (number->string size))
|
|
||||||
CLOSED_FD fd STDERR_FILENO)))
|
|
||||||
'(500 9000 32000 80000))
|
'(500 9000 32000 80000))
|
||||||
|
|
||||||
(for-each-p "Unpacking samples"
|
(for-each-p "Unpacking samples"
|
||||||
|
@ -26,12 +26,14 @@
|
|||||||
"Checking bogus signature"
|
"Checking bogus signature"
|
||||||
(lambda (char)
|
(lambda (char)
|
||||||
(lettmp (x)
|
(lettmp (x)
|
||||||
(pipe:do
|
(call-with-binary-output-file
|
||||||
(pipe:spawn `(,(tool 'mktdata) --char ,char "64"))
|
x
|
||||||
(pipe:write-to x (logior O_WRONLY O_CREAT O_BINARY) #o600))
|
(lambda (port)
|
||||||
|
(display (make-string 64 (integer->char (string->number char)))
|
||||||
|
port)))
|
||||||
(if (= 0 (call `(,@GPG --verify ,x data-500)))
|
(if (= 0 (call `(,@GPG --verify ,x data-500)))
|
||||||
(error "no error code from verify"))))
|
(error "no error code from verify"))))
|
||||||
'("0x2d" "0xca"))
|
'("#x2d" "#xca"))
|
||||||
|
|
||||||
;; A plain signed message created using
|
;; A plain signed message created using
|
||||||
;; echo abc | gpg --homedir . --passphrase-fd 0 -u Alpha -z0 -sa msg
|
;; echo abc | gpg --homedir . --passphrase-fd 0 -u Alpha -z0 -sa msg
|
||||||
|
@ -66,7 +66,7 @@ libexec_PROGRAMS += gpg-check-pattern
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if !HAVE_W32CE_SYSTEM
|
if !HAVE_W32CE_SYSTEM
|
||||||
noinst_PROGRAMS = clean-sat mk-tdata make-dns-cert gpgsplit
|
noinst_PROGRAMS = clean-sat make-dns-cert gpgsplit
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if !HAVE_W32CE_SYSTEM
|
if !HAVE_W32CE_SYSTEM
|
||||||
|
@ -1,75 +0,0 @@
|
|||||||
/* mk-tdata.c - Create some simple random testdata
|
|
||||||
* Copyright (C) 1998, 1999, 2000, 2001, 2006 Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This file is free software; as a special exception the author gives
|
|
||||||
* unlimited permission to copy and/or distribute it, with or without
|
|
||||||
* modifications, as long as this notice is preserved.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful, but
|
|
||||||
* WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
#include <config.h>
|
|
||||||
#endif
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef RAND_MAX /* for SunOS */
|
|
||||||
#define RAND_MAX 32767
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int
|
|
||||||
main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
int i, c = 0;
|
|
||||||
int limit =0;
|
|
||||||
int char_mode = 0;
|
|
||||||
|
|
||||||
#if HAVE_W32_SYSTEM
|
|
||||||
if (setmode (fileno (stdout), O_BINARY) == -1)
|
|
||||||
perror ("setmode");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (argc)
|
|
||||||
{
|
|
||||||
argc--;
|
|
||||||
argv++;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Check for option --char N */
|
|
||||||
if (argc > 1 && !strcmp (argv[0], "--char"))
|
|
||||||
{
|
|
||||||
char_mode = 1;
|
|
||||||
c = strtol (argv[1], NULL, 0);
|
|
||||||
argc -= 2;
|
|
||||||
argv += 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
limit = argc ? atoi(argv[0]) : 0;
|
|
||||||
|
|
||||||
srand(getpid());
|
|
||||||
|
|
||||||
for (i=0; !limit || i < limit; i++ )
|
|
||||||
{
|
|
||||||
if (char_mode)
|
|
||||||
{
|
|
||||||
putchar (c);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
#ifdef HAVE_RAND
|
|
||||||
c = ((unsigned)(1 + (int) (256.0*rand()/(RAND_MAX+1.0)))-1);
|
|
||||||
#else
|
|
||||||
c = ((unsigned)(1 + (int) (256.0*random()/(RAND_MAX+1.0)))-1);
|
|
||||||
#endif
|
|
||||||
putchar (c);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user