From 7e088ec89464b388252d13da4c5e9f45cd2dd3e9 Mon Sep 17 00:00:00 2001 From: Anthony Lenton Date: Sat, 25 Feb 2012 18:17:06 -0300 Subject: [PATCH] Made tests pass. Added a coverage fab task. --- .gitignore | 4 +++- fabfile.py | 8 ++++++++ requirements.txt | 2 ++ spacecraft/tests/test_server.py | 13 +++++++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ca8a4d6..25a0a78 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,6 @@ dropin.cache _trial_temp twistd.pid -virtualenv/ \ No newline at end of file +virtualenv/ +.coverage +htmlcov/ diff --git a/fabfile.py b/fabfile.py index 5c6ac06..1a70cf3 100644 --- a/fabfile.py +++ b/fabfile.py @@ -33,6 +33,14 @@ def test(): check_bootstrap() local('./virtualenv/bin/trial spacecraft') +def coverage(): + cov = lambda args: local("virtualenv/bin/coverage " + args, + capture=False) + local("rm -rf .coverage coverage/") + cov("run ./virtualenv/bin/trial spacecraft") + cov("combine") + cov("html -d htmlcov/ --include='spacecraft/*'") + # ----------------------------------------------------------------- # Tasks from here down aren't intended to be used directly diff --git a/requirements.txt b/requirements.txt index 0416d98..c2d7639 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,4 @@ svn+http://pybox2d.googlecode.com/svn/trunk/ twisted==10.1.0 +coverage +mock diff --git a/spacecraft/tests/test_server.py b/spacecraft/tests/test_server.py index 7b4199a..8b271c1 100644 --- a/spacecraft/tests/test_server.py +++ b/spacecraft/tests/test_server.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 *-* +from mock import Mock from twisted.trial.unittest import TestCase from twisted.internet.endpoints import TCP4ClientEndpoint from twisted.internet.protocol import Factory, Protocol @@ -60,7 +61,9 @@ class TestGame(TestCase): def test_create_player(self): map = world.Game(100, 100) player = server.Player() + player.transport = Mock() player.register(map) + reactor.iterate() self.assertEquals(len(map.world.bodies), 1) prepr = player.object.get_full_position() self.assertTrue("position" in prepr) @@ -68,7 +71,9 @@ def test_create_player(self): def test_monitor(self): map = world.Game(100, 100) player = server.Player() + player.transport = Mock() player.register(map) + reactor.iterate() monitor = server.Monitor() monitor.register(map) result = [] @@ -80,14 +85,18 @@ def test_monitor(self): def test_throttle(self): map = world.Game(100, 100) player = server.Player() + player.transport = Mock() player.register(map) + reactor.iterate() player.messageReceived(dict(type="throttle", value=0.5)) self.assertEquals(player.object.throttle, 0.5) def test_gps(self): map = world.Game(100, 100) player = server.Player() + player.transport = Mock() player.register(map) + reactor.iterate() result = [] player.sendMessage = update_collector(result) player.sendUpdate() @@ -100,11 +109,15 @@ def test_gps(self): def test_radar(self): map = world.Game(100, 100) player = server.Player() + player.transport = Mock() player.register(map) + reactor.iterate() player.object.body.position = (100, 100) player2 = server.Player() + player2.transport = Mock() player2.register(map) + reactor.iterate() player2.object.body.position = (120, 100) result = []