# # The contents of this file are subject to the AOLserver Public License # Version 1.1 (the "License"); you may not use this file except in # compliance with the License. You may obtain a copy of the License at # http://aolserver.com/. # # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. # # The Original Code is AOLserver Code and related documentation # distributed by AOL. # # The Initial Developer of the Original Code is America Online, # Inc. Portions created by AOL are Copyright (C) 1999 America Online, # Inc. All Rights Reserved. # # Alternatively, the contents of this file may be used under the terms # of the GNU General Public License (the "GPL"), in which case the # provisions of GPL are applicable instead of those above. If you wish # to allow use of your version of this file only under the terms of the # GPL and not to allow others to use your version of this file under the # License, indicate your decision by deleting the provisions above and # replace them with the notice and other provisions required by the GPL. # If you do not delete the provisions above, a recipient may use your # version of this file under either the License or the GPL. # # # $Header: /cvsroot/aolserver/aolserver/tests/new/http.test,v 1.2 2004/12/06 16:20:47 dossy Exp $ # source harness.tcl load libnsd.so package require tcltest 2.2 namespace import -force ::tcltest::* if {[info exists ::env(AOLSERVER_HTTP_TEST)]} { testConstraint serverTests true } else { puts " To enable HTTP compliance tests, set environment variable AOLSERVER_HTTP_TEST=hostname:port of the server running http-test-config.tcl. " } if {[testConstraint serverTests]} { foreach {host port} [split $::env(AOLSERVER_HTTP_TEST) :] break } set setup { set sock [socket $host $port] fconfigure $sock -translation binary -encoding binary -buffering none } set cleanup { close $sock } set test 0 test http-1.[incr test] {bad method} \ -constraints serverTests -setup $setup -body { puts $sock "." set response [read $sock] assertEquals {} $response } -cleanup $cleanup -result {} test http-1.[incr test] {HTTP/0.9 GET} \ -constraints serverTests -setup $setup -body { puts $sock "GET /asdfasdfasdf\n" set response [read $sock] assertEquals 0 [regexp {^HTTP/\S+ \d+ .*} $response] assertEquals 1 [regexp {