make json_results tests pass again
diff --git a/typ/json_results.py b/typ/json_results.py
index 4b72b1c..fefa9ce 100644
--- a/typ/json_results.py
+++ b/typ/json_results.py
@@ -34,6 +34,31 @@
'Skip'][self]
+class Result(object): # pragma: no cover
+ # too many instance attributes pylint: disable=R0902
+ # too many arguments pylint: disable=R0913
+ def __init__(self, name, actual=None, unexpected=False, flaky=False,
+ expected=None, out='', err='', code=0,
+ started=None, took=None, worker=None):
+ self.name = name
+ self.expected = expected or [ResultType.Pass]
+ self.actual = actual
+ self.unexpected = unexpected
+ self.flaky = flaky
+ self.out = out
+ self.err = err
+ self.code = code
+ self.started = started
+ self.took = took
+ self.worker = worker
+
+
+class ResultSet(object): # pragma: no cover
+ def __init__(self):
+ self.results = []
+
+ def add(self, result):
+ self.results.append(result)
TEST_SEPARATOR = '.'
diff --git a/typ/runner.py b/typ/runner.py
index d6eeabc..0ab32a8 100644
--- a/typ/runner.py
+++ b/typ/runner.py
@@ -30,6 +30,8 @@
from typ.version import VERSION
+Result = json_results.Result
+ResultSet = json_results.ResultSet
ResultType = json_results.ResultType
@@ -45,33 +47,6 @@
self.teardown_fn = teardown_fn
-class Result(object): # pragma: no cover
- # too many instance attributes pylint: disable=R0902
- # too many arguments pylint: disable=R0913
- def __init__(self, name, actual=None, unexpected=False, flaky=False,
- expected=None, out='', err='', code=0,
- started=None, took=None, worker=None):
- self.name = name
- self.expected = expected or [ResultType.Pass]
- self.actual = actual
- self.unexpected = unexpected
- self.flaky = flaky
- self.out = out
- self.err = err
- self.code = code
- self.started = started
- self.took = took
- self.worker = worker
-
-
-class ResultSet(object): # pragma: no cover
- def __init__(self):
- self.results = []
-
- def add(self, result):
- self.results.append(result)
-
-
class Runner(object):
def __init__(self, host=None, loader=None):
self.host = host or Host()
@@ -159,17 +134,6 @@
return ret, full_results, trace
- def _add_trace_event(self, trace, name, start, end):
- event = {
- 'name': name,
- 'ts': int((start - self.stats.started_time) * 1000000),
- 'dur': int((end - start) * 1000000),
- 'ph': 'X',
- 'pid': 0,
- 'tid': 0,
- }
- trace['traceEvents'].append(event)
-
def _set_up_runner(self):
h = self.host
args = self.args
@@ -504,6 +468,17 @@
def exit_code_from_full_results(self, full_results): # pragma: no cover
return json_results.exit_code_from_full_results(full_results)
+ def _add_trace_event(self, trace, name, start, end):
+ event = {
+ 'name': name,
+ 'ts': int((start - self.stats.started_time) * 1000000),
+ 'dur': int((end - start) * 1000000),
+ 'ph': 'X',
+ 'pid': 0,
+ 'tid': 0,
+ }
+ trace['traceEvents'].append(event)
+
def _trace_from_results(self, result_set):
trace = {
'traceEvents': [],
diff --git a/typ/tests/json_results_test.py b/typ/tests/json_results_test.py
index 1826bec..54542bb 100644
--- a/typ/tests/json_results_test.py
+++ b/typ/tests/json_results_test.py
@@ -18,12 +18,14 @@
class TestMakeUploadRequest(unittest.TestCase):
+ maxDiff = 4096
def test_basic_upload(self):
- results = {'foo': 'bar'}
+ results = json_results.ResultSet()
+ full_results = json_results.make_full_results([], 0, [], results)
url, content_type, data = json_results.make_upload_request(
'localhost', 'fake_builder_name', 'fake_master', 'fake_test_type',
- results)
+ full_results)
self.assertEqual(
content_type,
@@ -49,21 +51,33 @@
'filename="full_results.json"\r\n'
'Content-Type: application/json\r\n'
'\r\n'
- '{"foo": "bar"}\r\n'
+ '{"tests": {}, "interrupted": false, "path_delimiter": ".", '
+ '"version": 3, "seconds_since_epoch": 0, '
+ '"num_failures_by_type": {"FAIL": 0, "SKIP": 0, "PASS": 0}}\r\n'
'---J-S-O-N-R-E-S-U-L-T-S---B-O-U-N-D-A-R-Y---\r\n'))
class TestMakeFullResults(unittest.TestCase):
maxDiff = 2048
- def disabled_test_basic(self):
- return
+ def test_basic(self):
test_names = ['foo_test.FooTest.test_fail',
'foo_test.FooTest.test_pass',
'foo_test.FooTest.test_skip']
+ result_set = json_results.ResultSet()
+ result_set.add(
+ json_results.Result('foo_test.FooTest.test_fail',
+ actual=json_results.ResultType.Failure,
+ unexpected=True))
+ result_set.add(json_results.Result('foo_test.FooTest.test_pass',
+ actual=json_results.ResultType.Pass))
+ result_set.add(json_results.Result('foo_test.FooTest.test_skip',
+ actual=json_results.ResultType.Skip,
+ unexpected=False))
+
full_results = json_results.make_full_results(
- ['foo=bar'], 0, test_names, [result])
+ ['foo=bar'], 0, test_names, result_set)
expected_full_results = {
'foo': 'bar',
'interrupted': False,