aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-06-25 20:07:36 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-06-25 20:07:36 -0400
commit0994d58e7fd9a87a593445a0341b61ba821ce9e7 (patch)
tree028241c5cd28cc33c1191b78189bc30a44e3dbc4
parent7a6e2eb89669034fa1398c2745ad18d86a78a03a (diff)
downloadcbc-0994d58e7fd9a87a593445a0341b61ba821ce9e7.tar.gz
No metadata writeout to file in test
-rw-r--r--cbc/server.py24
-rw-r--r--tests/test.py2
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)