Browse Source

Rename and reorganize stuff

tags/nilmrun-1.0.0
Jim Paris 10 years ago
parent
commit
35b20c90a5
4 changed files with 13 additions and 22 deletions
  1. +5
    -15
      nilmrun/server.py
  2. +1
    -1
      nilmrun/testfilter.py
  3. +1
    -1
      tests/test.order
  4. +6
    -5
      tests/test_nilmrun.py

+ 5
- 15
nilmrun/server.py View File

@@ -25,8 +25,7 @@ from nilmdb.server.serverutil import (
cherrypy_stop, cherrypy_stop,
) )
import nilmrun import nilmrun
import nilmrun.filters.trainola
import nilmrun.filters.dummy
import nilmrun.testfilter


# Add CORS_allow tool # Add CORS_allow tool
cherrypy.tools.CORS_allow = cherrypy.Tool('on_start_resource', CORS_allow) cherrypy.tools.CORS_allow = cherrypy.Tool('on_start_resource', CORS_allow)
@@ -124,6 +123,7 @@ class AppRun(object):
and 'argv[1:]' are arguments""" and 'argv[1:]' are arguments"""
return self.manager.run_command("command", argv) return self.manager.run_command("command", argv)


# /run/code
@cherrypy.expose @cherrypy.expose
@cherrypy.tools.json_in() @cherrypy.tools.json_in()
@cherrypy.tools.json_out() @cherrypy.tools.json_out()
@@ -135,25 +135,15 @@ class AppRun(object):
(i.e., they end up in sys.argv[1:])""" (i.e., they end up in sys.argv[1:])"""
return self.manager.run_code("usercode", code, args) return self.manager.run_code("usercode", code, args)


# /run/trainola
# /run/testfilter
@cherrypy.expose @cherrypy.expose
@cherrypy.tools.json_in() @cherrypy.tools.json_in()
@cherrypy.tools.json_out() @cherrypy.tools.json_out()
@exception_to_httperror(KeyError, ValueError) @exception_to_httperror(KeyError, ValueError)
@cherrypy.tools.CORS_allow(methods = ["POST"]) @cherrypy.tools.CORS_allow(methods = ["POST"])
def trainola(self, data):
def testfilter(self, data):
return self.manager.run_function( return self.manager.run_function(
"trainola", nilmrun.filters.trainola.filterfunc, data)

# /run/dummy
@cherrypy.expose
@cherrypy.tools.json_in()
@cherrypy.tools.json_out()
@exception_to_httperror(KeyError, ValueError)
@cherrypy.tools.CORS_allow(methods = ["POST"])
def dummy(self, data):
return self.manager.run_function(
"dummy", nilmrun.filters.dummy.filterfunc, data)
"dummy", nilmrun.testfilter.test, data)


class Server(object): class Server(object):
def __init__(self, host = '127.0.0.1', port = 8080, def __init__(self, host = '127.0.0.1', port = 8080,


nilmrun/filters/dummy.py → nilmrun/testfilter.py View File

@@ -6,7 +6,7 @@ import signal
import sys import sys


# This is just for testing the process management. # This is just for testing the process management.
def filterfunc(n):
def test(n):
n = int(n) n = int(n)
if n < 0: # raise an exception if n < 0: # raise an exception
raise Exception("test exception") raise Exception("test exception")

+ 1
- 1
tests/test.order View File

@@ -1,3 +1,3 @@
test_client.py
test_nilmrun.py


test_*.py test_*.py

tests/test_client.py → tests/test_nilmrun.py View File

@@ -98,7 +98,7 @@ class TestClient(object):
client = HTTPClient(baseurl = testurl, post_json = True) client = HTTPClient(baseurl = testurl, post_json = True)


# start dummy filter # start dummy filter
pid = client.post("/run/dummy", { "data": 30 })
pid = client.post("/run/testfilter", { "data": 30 })
eq_(client.get("/process/list"), [pid]) eq_(client.get("/process/list"), [pid])
time.sleep(1) time.sleep(1)


@@ -132,7 +132,7 @@ class TestClient(object):
client = HTTPClient(baseurl = testurl, post_json = True) client = HTTPClient(baseurl = testurl, post_json = True)


# Trigger exception in filter # Trigger exception in filter
pid = client.post("/run/dummy", { "data": -1 })
pid = client.post("/run/testfilter", { "data": -1 })
time.sleep(0.5) time.sleep(0.5)
status = client.get("/process/status", { "pid": pid }) status = client.get("/process/status", { "pid": pid })
eq_(status["alive"], False) eq_(status["alive"], False)
@@ -141,7 +141,7 @@ class TestClient(object):
client.post("/process/remove", { "pid": pid }) client.post("/process/remove", { "pid": pid })


# Kill a running filter by removing it early # Kill a running filter by removing it early
newpid = client.post("/run/dummy", { "data": 50 })
newpid = client.post("/run/testfilter", { "data": 50 })
ne_(newpid, pid) ne_(newpid, pid)
time.sleep(0.5) time.sleep(0.5)
start = time.time() start = time.time()
@@ -156,7 +156,7 @@ class TestClient(object):
eq_(client.get("/process/list"), []) eq_(client.get("/process/list"), [])


# Try to remove a running filter that ignored SIGTERM # Try to remove a running filter that ignored SIGTERM
pid = client.post("/run/dummy", { "data": 0 })
pid = client.post("/run/testfilter", { "data": 0 })
start = time.time() start = time.time()
status = client.post("/process/remove", { "pid": pid }) status = client.post("/process/remove", { "pid": pid })
elapsed = time.time() - start elapsed = time.time() - start
@@ -165,6 +165,7 @@ class TestClient(object):
eq_(status["alive"], False) eq_(status["alive"], False)
ne_(status["exitcode"], 0) ne_(status["exitcode"], 0)


@unittest.skip("trainola moving to nilmtools")
def test_client_05_trainola_simple(self): def test_client_05_trainola_simple(self):
client = HTTPClient(baseurl = testurl, post_json = True) client = HTTPClient(baseurl = testurl, post_json = True)
pid = client.post("/run/trainola", { "data": {} }) pid = client.post("/run/trainola", { "data": {} })
@@ -172,7 +173,7 @@ class TestClient(object):
ne_(status["exitcode"], 0) ne_(status["exitcode"], 0)
status = client.post("/process/remove", { "pid": pid }) status = client.post("/process/remove", { "pid": pid })


@unittest.skip("needs a running nilmdb")
@unittest.skip("needs a running nilmdb; trainola moved to nilmtools")
def test_client_06_trainola(self): def test_client_06_trainola(self):
client = HTTPClient(baseurl = testurl, post_json = True) client = HTTPClient(baseurl = testurl, post_json = True)



Loading…
Cancel
Save