put the receive-sexps-port.ss file in tmp

svn: r9735
This commit is contained in:
Eli Barzilay 2008-05-08 11:59:13 +00:00
parent c0957923f0
commit 77c354e1c0
3 changed files with 28 additions and 35 deletions

View File

@ -25,28 +25,27 @@
(lambda () (lambda ()
(with-handlers ([(lambda (x) #t) (with-handlers ([(lambda (x) #t)
(lambda (x) (lambda (x)
(printf "test suite thread died: ~a~n" (printf "test suite thread died: ~a\n"
(if (exn? x) (if (exn? x)
(exn-message x) (exn-message x)
(format "~s" x))))]) (format "~s" x))))])
(let ([port (call-with-input-file (let ([port (call-with-input-file
(build-path (build-path (find-system-path 'temp-dir)
(collection-path "tests" "framework") "framework-tests-receive-sexps-port.ss")
"receive-sexps-port.ss")
read)]) read)])
(debug-printf mr-tcp "about to connect to ~a~n" port) (debug-printf mr-tcp "about to connect to ~a\n" port)
(let*-values ([(in out) (tcp-connect "127.0.0.1" port)]) (let*-values ([(in out) (tcp-connect "127.0.0.1" port)])
(let loop () (let loop ()
(debug-printf mr-tcp "about to read~n") (debug-printf mr-tcp "about to read\n")
(let ([sexp (read in)]) (let ([sexp (read in)])
(if (eof-object? sexp) (if (eof-object? sexp)
(begin (begin
(debug-printf mr-tcp "got eof~n") (debug-printf mr-tcp "got eof\n")
(close-input-port in) (close-input-port in)
(close-output-port out) (close-output-port out)
(exit)) (exit))
(begin (begin
(debug-printf mr-tcp "got expression to evaluate~n") (debug-printf mr-tcp "got expression to evaluate\n")
(write (write
(let ([these-errs (protect (lambda () (begin0 errs (set! errs null))))]) (let ([these-errs (protect (lambda () (begin0 errs (set! errs null))))])
(if (null? these-errs) (if (null? these-errs)

View File

@ -1,3 +1,3 @@
#lang setup/infotab #lang setup/infotab
(define compile-omit-paths '("key-specs.ss" "utils.ss" "receive-sexps-port.ss")) (define compile-omit-paths '("key-specs.ss" "utils.ss"))

View File

@ -52,31 +52,25 @@
(define load-framework-automatically? #t) (define load-framework-automatically? #t)
(define initial-port 6012) (define initial-port 6012)
(define port-filename (build-path (define port-filename
(collection-path "tests" "framework") (build-path (find-system-path 'temp-dir)
"receive-sexps-port.ss")) "framework-tests-receive-sexps-port.ss"))
(unless (file-exists? port-filename) (unless (file-exists? port-filename)
(call-with-output-file port-filename (call-with-output-file port-filename
(lambda (port) (lambda (port) (write initial-port port))))
(write initial-port port))))
(define listener (define listener
(let loop () (let loop ([port (call-with-input-file port-filename read)])
(let ([port (call-with-input-file port-filename read)]) (let ([l (with-handlers ([exn:fail? (lambda (_) #f)])
(with-handlers ([exn:fail? (tcp-listen port))])
(lambda (x) (if l
(let ([next (+ port 1)]) (begin (debug-printf mz-tcp "listening to ~a\n" port)
(call-with-output-file port-filename (call-with-output-file port-filename
(lambda (p) (lambda (p) (write port p)) 'truncate)
(write next p)) l)
'truncate) (begin (debug-printf mz-tcp " tcp-listen failed for port ~a\n" port)
(debug-printf mz-tcp " tcp-listen failed for port ~a, attempting ~a~n" (loop (add1 port)))))))
port
next)
(loop)))])
(debug-printf mz-tcp "listening to ~a~n" port)
(tcp-listen port)))))
(define in-port #f) (define in-port #f)
(define out-port #f) (define out-port #f)
@ -95,7 +89,7 @@
(path->string (path->string
(build-path (collection-path "tests" "framework") (build-path (collection-path "tests" "framework")
"framework-test-engine.ss"))))) "framework-test-engine.ss")))))
(debug-printf mz-tcp "accepting listener~n") (debug-printf mz-tcp "accepting listener\n")
(let-values ([(in out) (tcp-accept listener)]) (let-values ([(in out) (tcp-accept listener)])
(set! in-port in) (set! in-port in)
(set! out-port out)) (set! out-port out))
@ -116,7 +110,7 @@
(define shutdown-listener (define shutdown-listener
(lambda () (lambda ()
(shutdown-mred) (shutdown-mred)
(debug-printf mz-tcp "closing listener~n") (debug-printf mz-tcp "closing listener\n")
(tcp-close listener))) (tcp-close listener)))
(define shutdown-mred (define shutdown-mred
@ -177,7 +171,7 @@
(or (not (char-ready? in-port)) (or (not (char-ready? in-port))
(not (eof-object? (peek-char in-port)))))) (not (eof-object? (peek-char in-port))))))
(restart-mred)) (restart-mred))
(debug-printf messages " ~a // ~a: sending to mred:~n" section-name test-name) (debug-printf messages " ~a // ~a: sending to mred:\n" section-name test-name)
(show-text sexp) (show-text sexp)
(with-handlers ([exn:fail? (with-handlers ([exn:fail?
(lambda (x) (lambda (x)
@ -214,14 +208,14 @@
(cons char (loop)))) (cons char (loop))))
null))))))))]) null))))))))])
(read in-port))]) (read in-port))])
(debug-printf messages " ~a // ~a: received from mred:~n" section-name test-name) (debug-printf messages " ~a // ~a: received from mred:\n" section-name test-name)
(show-text answer) (show-text answer)
(unless (or (eof-object? answer) (unless (or (eof-object? answer)
(and (list? answer) (and (list? answer)
(= 2 (length answer)) (= 2 (length answer))
(memq (car answer) (memq (car answer)
'(error last-error cant-read normal)))) '(error last-error cant-read normal))))
(error 'send-sexp-to-mred "unpected result from mred: ~s~n" answer)) (error 'send-sexp-to-mred "unpected result from mred: ~s\n" answer))
(if (eof-object? answer) (if (eof-object? answer)
(raise (make-eof-result)) (raise (make-eof-result))
(case (car answer) (case (car answer)
@ -259,7 +253,7 @@
(format "~s" x))))]) (format "~s" x))))])
(not (passed? result)))]) (not (passed? result)))])
(when failed (when failed
(debug-printf schedule "FAILED ~a:~n ~s~n" test-name result) (debug-printf schedule "FAILED ~a:\n ~s\n" test-name result)
(set! failed-tests (cons (cons section-name test-name) failed-tests)) (set! failed-tests (cons (cons section-name test-name) failed-tests))
(case jump (case jump
[(section) (section-jump)] [(section) (section-jump)]