Hi all,
Would anybody be willing to help me with the clfs package I have written? The package defines contracts for all Common Lisp and UIOP file system operations and can run random tests with them. I would like to see what the random testing does on different combinations of lisp implementations and file systems, and if implementation independent contracts are feasible.
If the package works across implementations then the contracts can help testing uiop and also each implementation's conformance to the hyperspec. The problem is of course that the operations are not defined that precisely, but results so far seem promising. I have run the tests on Linux and Windows for sbcl and ccl. At this point there are some edge cases left, but the general concept seems to work without too many implementation specific details in the contracts.
The package can be found at https://github.com/lisper99/clfs. To run the test you have to load the clfs-test package, create an empty directory somewhere and call function clfs-test:test-contracts with the directory as argument.
Any feedback or suggestions is appreciated.
Paul Griffioen