source: project/release/4/getopt-long/tests/run.scm @ 15627

Last change on this file since 15627 was 15627, checked in by Ivan Raikov, 10 years ago

getopt-long now returns an alist where the keys are symbols

File size: 1.1 KB
Line 
1
2(require-extension test posix getopt-long)
3
4(define grammar1
5  `((lockfile-dir (required? #t)
6                  (value #t)
7                  (single-char #\k)
8                  (value (required DIR)
9                         (predicate ,directory?)))
10
11    (verbose (required? #f)
12             (single-char #\v)
13             (value #f))
14
15    (x-includes (single-char #\x)
16                (value #t))
17
18    (rnet-server (single-char #\y)
19                 (value (required SERVER)
20                        (predicate ,string?)))
21
22    (help        (single-char #\h))           
23    ))
24;;;
25
26(print "grammar1: \n" (usage grammar1))
27
28(define cmdline '("-h" "-vk" "/tmp" "foo1" 
29                  "--x-includes=/usr/include"
30                  "--rnet-server=lamprod" 
31                  "--" "-fred" "foo2" "foo3"
32                  ))
33 
34(define opts (getopt-long cmdline grammar1))
35
36(define dispatch (make-option-dispatch opts grammar1))
37
38(test-group "grammar1"
39
40    (test
41     `((@ "foo1" "-fred" "foo2" "foo3") 
42       (rnet-server . "lamprod") 
43       (x-includes . "/usr/include") 
44       (lockfile-dir . "/tmp") 
45       (verbose . #t)
46       (help . #t))
47     (getopt-long cmdline grammar1)
48     )
49   
50    (test
51     "lamprod"
52     (dispatch 'rnet-server)
53     )
54
55    )
56
57   
58
Note: See TracBrowser for help on using the repository browser.