Changeset 15891 in project


Ignore:
Timestamp:
09/15/09 05:02:23 (10 years ago)
Author:
iraikov
Message:

an elaboration of the smtp test case

Location:
release/4/smtp/trunk/tests
Files:
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • release/4/smtp/trunk/tests/mta.scm

    r15890 r15891  
    77(define host      "chicken-mta")
    88(define mailfrom  (make-parameter #f))
    9 (define rcpto     (make-parameter #f))
     9(define rcpto     (make-parameter '()))
    1010(define data      (make-parameter #f))
    1111
     
    3838                      (list "command out of sequence"))
    3939               (begin
    40                  (rcpto m)
     40                 (rcpto (cons m (rcpto)))
    4141                 (Reply (Code (Success) (MailSystem) 0)
    4242                        (list "Accepted")))))
     
    127127      (if (equal? line data-end)
    128128          (begin (data (reverse tempdata))
    129                  (fprintf out "~A\n\r"
     129                 (fprintf out "~A"
    130130                          (Reply (Code (Success) (MailSystem) 0) (list "OK")))
    131131                 (cont))
    132           ;; TODO: check response after the end of data
    133           (loop (cons line tempdata))))))
     132          (loop (cons (list->string line) tempdata))))))
    134133
    135134(define (main in out) 
     
    147146                             (let ((reply (handle-event ev)))
    148147                               (values reply ev fsm))))))
    149              (fprintf out "~A\n\r" reply)
     148             (fprintf out "~A" reply)
    150149             (cases event ev
    151150                    (StartData ()
    152151                               (handle-data in out (lambda () (loop fsm))))
    153152                    (Shutdown ()
    154                               (exit 0))
     153                              (begin))
    155154                    (else (loop fsm)))))))))
    156155                     
    157 (main (current-input-port) (current-output-port))
  • release/4/smtp/trunk/tests/run.scm

    r15890 r15891  
     1
     2(use test srfi-13)
     3
     4(include "tests/mta.scm")
    15
    26(define rfc-D.1
     
    711    "RCPT TO:<Green@foo.com>\r\n"
    812    "RCPT TO:<Brown@foo.com>\r\n"
    9     "DATA"
    10     "Blah blah blah...\r\n...etc. etc. etc.\r\n.\r\n"
    11     "QUIT"
     13    "DATA\r\n"
     14    "Blah blah blah...\r\n...etc. etc. etc.\r\n"
     15    ".\r\n"
     16    "QUIT\r\n"
    1217    ))
     18
     19(test-group "chicken-mta"
     20           
     21(let ((output (open-output-string)))
     22  (main
     23   (open-input-string (string-concatenate rfc-D.1))
     24   output)
     25  (print "mail from: " (mailfrom))
     26  (print "rcpt to: " (rcpto))
     27  (print "data: " (data))
     28
     29  (test "rfc-D.1"
     30   (string-append
     31    "250-chicken-mta\r\n"
     32    "250- \r\n"
     33    "250-Hello \r\n"
     34    "250 bar.com\r\n"
     35    "250 OK\r\n"
     36    "250 Accepted\r\n"
     37    "250 Accepted\r\n"
     38    "250 Accepted\r\n"
     39    "354 Ready\r\n"
     40    "250 OK\r\n"
     41    "251-chicken-mta\r\n"
     42    "251  closing connection\r\n")
     43   (get-output-string output))
     44  ))
     45
Note: See TracChangeset for help on using the changeset viewer.