From faa47cea6f91099d48dd110a4cb9bc3394a005ea Mon Sep 17 00:00:00 2001 From: Witold Filipczyk Date: Sat, 1 Mar 2008 13:53:33 +0100 Subject: [PATCH] test: a http server to test the decompression on Windows. Run: python w32.py. The server listens on port 8900. It handles only one request. The proper output are numbers 0 through 33999. I have no free disk to test it, but I'm afraid that the ELinks will hang on Windows after reading 65536 bytes. Let me know of results of such a test. The ELinks must be compiled with the zlib library. --- test/server/w32.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100755 test/server/w32.py diff --git a/test/server/w32.py b/test/server/w32.py new file mode 100755 index 00000000..5758f283 --- /dev/null +++ b/test/server/w32.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python +import gzip, string, cStringIO, os, time, BaseHTTPServer + +data = [str(i) for i in xrange(34000)] +text = "\n".join(data) +s = cStringIO.StringIO() +gz = gzip.GzipFile("1.gz", "wb", 9, s) +gz.write(text) +gz.close() +comp = s.getvalue() +s.close() +pocz = comp[:65536] +reszta = comp[65536:] + +class obsluga(BaseHTTPServer.BaseHTTPRequestHandler): + def do_GET(self): + self.send_response(200) + self.send_header("Content-Type", "text/plain") + self.send_header("Content-Encoding", "gzip") + self.send_header("Connection", "close") + self.end_headers() + self.wfile.write(pocz) + time.sleep(5) + self.wfile.write(reszta) + +def run(port=8900): + server_address = ('127.0.0.1', port) + httpd = BaseHTTPServer.HTTPServer(server_address, obsluga) + httpd.handle_request() + +if __name__ == "__main__": + run()