scsh-0.6/scsh/test/process-state-tests.scm

46 lines
1019 B
Scheme

;;; Tests for the functions in section 3.5 of the scsh-manual "Process state"
;;; Author: David Frese
;; Notes: Only umask and cwd stuff, everything else isn't implemented yet.
;; --- umask stuff ---
(add-test! 'with-umask 'process-state
(lambda (new-umask)
(let ((old-umask (umask)))
(and
(with-umask new-umask
(= (umask) new-umask))
(= (umask) old-umask))))
0)
(add-test! 'set-umask 'process-state
(lambda (new-umask)
(let ((old-umask (umask)))
(set-umask new-umask)
(let ((res (umask)))
(set-umask old-umask)
(= res new-umask))))
7)
;; --- cwd stuff ---
(add-test! 'with-cwd 'process-state
(lambda (new-cwd)
(let ((old-cwd (cwd)))
(and
(with-cwd new-cwd
(equal? (cwd) new-cwd))
(equal? (cwd) old-cwd))))
"/bin")
(add-test! 'chdir 'process-state
(lambda (new-cwd)
(let ((old-cwd (cwd)))
(chdir new-cwd)
(let ((res (cwd)))
(chdir old-cwd)
(equal? res new-cwd))))
"/tmp")