(use fuse posix srfi-18 test) (cond-expand ((not linux) (test-assert "No fusermount on this platform" #t)) (else (if (not (zero? (system "fusermount -V > /dev/null"))) (test-assert "No fusermount on this system" #t) (let ((path "path") (fs (make-filesystem))) (test-assert (create-directory path #t)) (test-assert (not (filesystem-running? path fs))) (test-assert (filesystem-start! path fs)) (test-assert (filesystem-wait! path fs 'started)) (test-assert (filesystem-running? path fs)) (process-fork (lambda () (sleep 1) (system (format "fusermount -u ~a" path)))) (test-assert (filesystem-wait! path fs)) (test-assert (not (filesystem-running? path fs))) (test-assert (delete-directory path #t))))))