From 0994d58e7fd9a87a593445a0341b61ba821ce9e7 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Thu, 25 Jun 2015 20:07:36 -0400 Subject: No metadata writeout to file in test --- cbc/server.py | 24 +++++++++++++++++++++--- tests/test.py | 2 +- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/cbc/server.py b/cbc/server.py index ee451ac..37355ed 100644 --- a/cbc/server.py +++ b/cbc/server.py @@ -1,6 +1,14 @@ import os import http.server import socketserver +import socket +from threading import Thread + +class Server(socketserver.ThreadingTCPServer): + allow_reuse_address = True + #def server_bind(self): + # self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + # self.socket.bind(self.server_address) class FileServer(object): @@ -11,12 +19,22 @@ class FileServer(object): self.root = root self.port = port self.handler = http.server.SimpleHTTPRequestHandler + self.httpd = None if run: self.run() def run(self): os.chdir(self.root) - httpd = socketserver.TCPServer(("", self.port), self.handler) - print("{0} active on port {1}".format(self.__class__.__name__, self.port)) - httpd.handle_request() \ No newline at end of file + socketserver.TCPServer.allow_reuse_address = True + self.httpd = Server(('localhost', self.port), self.handler, True) + #self.httpd.allow_reuse_address = True + #self.httpd.server_bind() + #self.httpd.server_activate() + print('{0} active on port {1} ({2})'.format(self.__class__.__name__, self.port, self.root)) + + th = Thread(target=self.httpd.handle_request, args=(), daemon=True) + th.start() + + def close(self): + self.httpd.server_close() \ No newline at end of file diff --git a/tests/test.py b/tests/test.py index 67fc15a..8203636 100644 --- a/tests/test.py +++ b/tests/test.py @@ -55,7 +55,7 @@ class TestCBC(object): def test_spec_outputs_valid_conda_metadata(self): import conda_build.metadata cbc_meta = cbc.meta.MetaData(self.ini, self.env) - cbc_meta.conda_write_meta() + #cbc_meta.conda_write_meta() # Test against conda's build system conda_meta = conda_build.metadata.MetaData(self.env.cbchome) -- cgit