~ chicken-core (chicken-5) /tests/csc-tests.scm


 1;;; csc interface tests
 2
 3(import (chicken file)
 4        (chicken pathname)
 5        (chicken platform)
 6        (chicken process)
 7        (chicken process-context)
 8        (chicken string))
 9
10(include "programs-path.scm")
11
12(define (realpath x)
13  (normalize-pathname (make-pathname (current-directory) x)))
14
15(define (run x . args)
16  (system* (string-intersperse (cons (realpath x) args))))
17
18(define (csc . args)
19  (apply run csc-path "-v" "-I.." "-compiler" (realpath chicken-path) "-libdir" ".." args))
20
21(csc "null.scm" "-t")
22(assert (file-exists? "null.c"))
23
24(define obj-file (if (eq? (software-version) 'mingw32) "null.obj" "null.o"))
25
26(csc "null.c" "-c")
27(assert (file-exists? obj-file))
28
29(csc obj-file)
30(run "null")
Trap