check.scm 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. ; Copyright (c) 1993-2008 by Richard Kelsey and Jonathan Rees. See file COPYING.
  2. ; The barest skeleton of a test suite for some stuff in the compiler
  3. (user '(open test-suites))
  4. (config '(run
  5. (define-structure bar (export bench-tests)
  6. (open scheme test-suites))))
  7. (in 'bar '(run (define-test-suite bench-tests)))
  8. (in 'bar '(bench off))
  9. (in 'bar '(run (define (foo) (cadr '(a b)))))
  10. (in 'bar '(run (define cadr list)))
  11. (in 'bar '(run (define-test-case non-bench bench-tests (check (foo) => '((a b))))))
  12. (in 'bar '(bench on))
  13. (in 'bar '(run (define (baz) (car '(a b)))))
  14. (in 'bar '(run (define car list)))
  15. (in 'bar '(run (define-test-case bench bench-tests (check (baz) => 'a))))
  16. (user '(open bar))
  17. (config '(run
  18. (define-structure test1 (export test1-tests x)
  19. (open scheme test-suites)
  20. (begin (define-test-suite test1-tests)
  21. (define x 10)
  22. (define (z) x)))))
  23. (config '(run
  24. (define-structure test2 (export test2-tests)
  25. (open scheme test1 test-suites)
  26. (begin (define-test-suite test2-tests)
  27. (define (z) x)))))
  28. (config '(run
  29. (define-structure test3 (export test3-tests)
  30. (open scheme test1 test-suites)
  31. (begin (define-test-suite test3-tests)
  32. (define (z) x)))))
  33. (load-package 'test2)
  34. (load-package 'test3)
  35. (in 'test3 '(run (define x 20)))
  36. (in 'test3 '(open test2))
  37. (in 'test2 '(run (define-test-case shadowing2 test2-tests (check (z) => 10))))
  38. (in 'test3 '(run (define-test-case shadowing3 test3-tests (check (z) => 20))))
  39. (in 'test1 '(run (define-test-case shadowing1 test1-tests (check (z) => 10))))
  40. (user '(open test1 test2 test3))
  41. (user '(run (define-test-suite compiler-tests (bench-tests
  42. test1-tests test2-tests test3-tests))))