source: project/release/4/sendfile/trunk/tests/run.scm @ 19208

Last change on this file since 19208 was 19208, checked in by certainty, 11 years ago

moved towards recommended directory structure for automated tests. temporarily removed tests involving offsets in mmapped send

File size: 3.8 KB
Line 
1(use test tcp posix (srfi 4))
2(load "test-utils")
3(use sendfile)
4(import sendfile)
5
6(define the-server (setup))
7
8(test-group "read-write-loop"
9      (test "send"
10       test-file-size
11       (with-prepared-environment test-file
12        (lambda (in out)
13          (impl:read-write-loop/fd in out test-file-size))))
14      (sleep 1)
15      (test "verify"
16       test-file-checksum
17       (compute-file-checksum test-file-out)))
18
19(test-group "read-write-loop (ports-only)"
20      (test "send"
21        test-file-size
22        (with-prepared-environment test-file
23         (lambda (in out)
24             (impl:read-write-loop/port in out test-file-size)) #t))
25      (sleep 1)
26      (test "verify"
27       test-file-checksum
28       (compute-file-checksum test-file-out)))
29
30
31(if os-dep:sendfile-available?
32    (test-group "sendfile-impl"
33                (test "send"
34                      test-file-size 
35                      (with-prepared-environment test-file
36                       (lambda (in out)
37                         (impl:sendfile in out test-file-size))))
38                 (sleep 1)
39                 (test "verify"
40                       test-file-checksum
41                       (compute-file-checksum test-file-out))))
42
43(if os-dep:mmap-available?
44    (test-group "mmapped io"
45
46                (test "send"
47                      test-file-size 
48                      (with-prepared-environment test-file
49                       (lambda (in out)
50                         (impl:mmapped in out test-file-size))))
51                (sleep 1)
52                (test "verify"
53                      test-file-checksum
54                      (compute-file-checksum test-file-out))
55                 ;; Disabled until offset works as expected. It makes the tests stall.
56                 ;; 
57                 ;;(test "offset"
58                 ;;      #t
59                 ;;      (with-prepared-environment offset-test-file
60                 ;;        (lambda (in out)
61                 ;;          (impl:mmapped in out offset-test-file-size offset: offset-file-offset)
62                 ;;          (equal? (file-contents test-file-out) (file-content-chunk offset-test-file offset-file-offset offset-test-file-size)))))
63
64
65
66                ))
67                         
68
69
70
71(test-begin "interface")
72
73(test-group "sendfile"
74      (test "send"
75            test-file-size
76            (with-prepared-environment test-file
77             (lambda (in out)
78               (sendfile in out)) #t))
79      (sleep 1)
80      (test "verify"
81            test-file-checksum
82            (compute-file-checksum test-file-out)))
83
84(test-end "interface")
85
86(test-begin "forcing implementation")
87
88(test "read-write-loop"
89      'read-write-loop
90      (with-prepared-environment test-file
91                                 (lambda (in out)
92                                   (parameterize ((force-implementation 'read-write))
93                                     (sendfile in out)
94                                     *last-selected-implementation*)) #t))
95
96(if os-dep:sendfile-available?
97    (test "sendfile"
98          'sendfile
99          (with-prepared-environment test-file
100                                     (lambda (in out)
101                                       (parameterize ((force-implementation 'sendfile))
102                                         (sendfile in out)
103                                         *last-selected-implementation*)) #t)))
104(if os-dep:mmap-available?
105    (test "mmapped"
106          'mmapped
107          (with-prepared-environment test-file
108                                     (lambda (in out)
109                                       (parameterize ((force-implementation 'mmapped))
110                                         (sendfile in out)
111                                         *last-selected-implementation*)) #t)))
112
113(test-end "forcing implementation")
114
115(tear-down the-server)
116 
Note: See TracBrowser for help on using the repository browser.