diff --git a/tests/gpgme/gpgme-defs.scm b/tests/gpgme/gpgme-defs.scm index 24906665f..6e3528586 100644 --- a/tests/gpgme/gpgme-defs.scm +++ b/tests/gpgme/gpgme-defs.scm @@ -83,31 +83,6 @@ (start-agent)) (apply create-gpgme-gpghome path))) -;; Command line flag handling. Returns the elements following KEY in -;; ARGUMENTS up to the next argument, or #f if KEY is not in -;; ARGUMENTS. -(define (flag key arguments) - (cond - ((null? arguments) - #f) - ((string=? key (car arguments)) - (let loop ((acc '()) - (args (cdr arguments))) - (if (or (null? args) (string-prefix? (car args) "--")) - (reverse acc) - (loop (cons (car args) acc) (cdr args))))) - ((string=? "--" (car arguments)) - #f) - (else - (flag key (cdr arguments))))) -(assert (equal? (flag "--xxx" '("--yyy")) #f)) -(assert (equal? (flag "--xxx" '("--xxx")) '())) -(assert (equal? (flag "--xxx" '("--xxx" "yyy")) '("yyy"))) -(assert (equal? (flag "--xxx" '("--xxx" "yyy" "zzz")) '("yyy" "zzz"))) -(assert (equal? (flag "--xxx" '("--xxx" "yyy" "zzz" "--")) '("yyy" "zzz"))) -(assert (equal? (flag "--xxx" '("--xxx" "yyy" "--" "zzz")) '("yyy"))) -(assert (equal? (flag "--" '("--" "xxx" "yyy" "--" "zzz")) '("xxx" "yyy"))) - (define (parse-makefile port key) (define (is-continuation? tokens) (string=? (last tokens) "\\")) diff --git a/tests/gpgscm/tests.scm b/tests/gpgscm/tests.scm index 7b8d48943..f127a93b2 100644 --- a/tests/gpgscm/tests.scm +++ b/tests/gpgscm/tests.scm @@ -658,3 +658,28 @@ (test' (test::set-directory wd))) (loop (pool::add (test'::run-sync '--unpack-tarball gpghome-tar)) (cdr tests'))))))) + +;; Command line flag handling. Returns the elements following KEY in +;; ARGUMENTS up to the next argument, or #f if KEY is not in +;; ARGUMENTS. +(define (flag key arguments) + (cond + ((null? arguments) + #f) + ((string=? key (car arguments)) + (let loop ((acc '()) + (args (cdr arguments))) + (if (or (null? args) (string-prefix? (car args) "--")) + (reverse acc) + (loop (cons (car args) acc) (cdr args))))) + ((string=? "--" (car arguments)) + #f) + (else + (flag key (cdr arguments))))) +(assert (equal? (flag "--xxx" '("--yyy")) #f)) +(assert (equal? (flag "--xxx" '("--xxx")) '())) +(assert (equal? (flag "--xxx" '("--xxx" "yyy")) '("yyy"))) +(assert (equal? (flag "--xxx" '("--xxx" "yyy" "zzz")) '("yyy" "zzz"))) +(assert (equal? (flag "--xxx" '("--xxx" "yyy" "zzz" "--")) '("yyy" "zzz"))) +(assert (equal? (flag "--xxx" '("--xxx" "yyy" "--" "zzz")) '("yyy"))) +(assert (equal? (flag "--" '("--" "xxx" "yyy" "--" "zzz")) '("xxx" "yyy")))