aboutsummaryrefslogtreecommitdiffstats
path: root/tests/example_end_to_end.py
diff options
context:
space:
mode:
authorJeremy Erickson <jerickso@cs.unc.edu>2013-11-25 16:00:17 -0500
committerBjoern Brandenburg <bbb@mpi-sws.org>2013-11-26 18:14:57 -0500
commiteff718df52ffeb21bff6b59a5584e5b641887832 (patch)
tree2bcafa03fb5688e112c019095c9d23eca02a7bc5 /tests/example_end_to_end.py
parent972ff75fcdddf59db00b50e8a28414cf0894cc24 (diff)
Add example code and related end-to-end tests.
Diffstat (limited to 'tests/example_end_to_end.py')
-rw-r--r--tests/example_end_to_end.py67
1 files changed, 67 insertions, 0 deletions
diff --git a/tests/example_end_to_end.py b/tests/example_end_to_end.py
new file mode 100644
index 0000000..1181490
--- /dev/null
+++ b/tests/example_end_to_end.py
@@ -0,0 +1,67 @@
1# Uses the example code in the example/ directory, since it's a good end-to-end
2# test.
3from __future__ import division
4
5import unittest
6
7from example.driver import get_script_dir, nolock_example, lock_example
8
9nolock_example_1_list = [0, 55575, 55575, 67570, 67569, 8805, 8805, 68149,
10 68149, 12514, 12513, 55400, 55400, 76501, 76501,
11 66761, 66762, -324, -324, 91995, 91995, 35996, 35997]
12
13nolock_example_2_list = None
14lock_example_1_list = [-44967, -104360, -9607, -44134, -53237, -31791, -68420,
15 -67526, -55107, -47183, -11898]
16
17lock_example_2_list = None
18
19class NoLockExample(unittest.TestCase):
20 def setUp(self):
21 example_dir = get_script_dir()
22 self.nolock_example_1 = example_dir + "/nolock_example_1"
23 self.nolock_example_2 = example_dir + "/nolock_example_2"
24 results = nolock_example([self.nolock_example_1, self.nolock_example_2])
25 self.distilled = []
26 for (name, clusts) in results:
27 if clusts is None:
28 self.distilled.append((name, None))
29 else:
30 new_distilled = []
31 for clust in clusts:
32 new_distilled += [task.response_time - task.deadline
33 for task in clust]
34 self.distilled.append((name, new_distilled))
35
36 def test_nolock_example_1_works(self):
37 self.assertEqual(self.distilled[0], (self.nolock_example_1,
38 nolock_example_1_list))
39
40 def test_nolock_example_2_works(self):
41 self.assertEqual(self.distilled[1], (self.nolock_example_2,
42 nolock_example_2_list))
43
44class LockExample(unittest.TestCase):
45 def setUp(self):
46 example_dir = get_script_dir()
47 self.lock_example_1 = example_dir + "/lock_example_1"
48 self.lock_example_2 = example_dir + "/lock_example_2"
49 results = lock_example([self.lock_example_1, self.lock_example_2])
50 self.distilled = []
51 for (name, clusts) in results:
52 if clusts is None:
53 self.distilled.append((name, None))
54 else:
55 new_distilled = []
56 for clust in clusts:
57 new_distilled += [task.response_time - task.deadline
58 for task in clust]
59 self.distilled.append((name, new_distilled))
60
61 def test_nolock_example_1_works(self):
62 self.assertEqual(self.distilled[0], (self.lock_example_1,
63 lock_example_1_list))
64
65 def test_nolock_example_2_works(self):
66 self.assertEqual(self.distilled[1], (self.lock_example_2,
67 lock_example_2_list))