1;;; Compiled executable tests 2 3(include "test.scm") 4 5(import (chicken file) 6 (chicken file posix) 7 (chicken pathname) 8 (chicken process-context) 9 (chicken string)) 10 11(define program-path 12 (cond-expand 13 ((and windows (not cygwin)) 14 (string-translate (car (command-line-arguments)) "/" "\\")) 15 (else (car (command-line-arguments))))) 16 17(define (read-symbolic-link* p) 18 (cond-expand 19 ((and windows (not cygwin)) p) 20 (else (read-symbolic-link p #t)))) 21 22(test-begin "executable tests") 23 24(let ((p (program-name))) 25 (test-equal "program-name" 26 (pathname-strip-directory p) 27 (pathname-strip-directory program-path))) 28 29(and-let* ((p (executable-pathname))) 30 (test-equal "executable-pathname" 31 (read-symbolic-link* p) 32 (read-symbolic-link* program-path))) 33 34(test-end) 35 36(test-exit) 37