Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Unified Diff: scripts/master/unittests/status_logger_test.py

Issue 1880443004: status_logger: send step results as well (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« scripts/master/status_logger.py ('K') | « scripts/master/status_logger.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: scripts/master/unittests/status_logger_test.py
diff --git a/scripts/master/unittests/status_logger_test.py b/scripts/master/unittests/status_logger_test.py
index 75790ec10276c048b6afe02c35b09c931b8cfadf..95af8f20e60a00d8c94d61756a6b3199a0c60a41 100755
--- a/scripts/master/unittests/status_logger_test.py
+++ b/scripts/master/unittests/status_logger_test.py
@@ -34,6 +34,9 @@ class SourceStamp(object):
class Build(object):
+ def __init__(self, steps=None):
+ self.__steps = steps or []
+
def getNumber(self):
return 5
@@ -53,20 +56,26 @@ class Build(object):
return SourceStamp()
def getSteps(self):
- return []
+ return self.__steps
def getTimes(self):
return 5000, 6000
class Step(object):
- step_number = 8
+ def __init__(self, step_number=8, result=0):
+ self.step_number = step_number
+ self.__result = result
+
def getName(self):
return 'reticulating_splines'
def getTimes(self):
return 5100, 5500
+ def getResults(self):
+ return (self.__result, None)
+
@contextlib.contextmanager
def _make_logger(file_content=None):
@@ -175,17 +184,35 @@ class StatusLoggerTest(unittest.TestCase):
'file_logging': True,
'event_logging': True,
}
+ steps = [Step(step_number=1),
+ Step(step_number=2, result=1),
+ Step(step_number=3)]
with _make_logger(config_dict) as logger:
- logger.stepFinished(Build(), Step(), [0])
+ logger.stepFinished(Build(steps=steps), steps[-1], [0])
self.assertTrue(os.path.exists(logger.logfile))
self.assertTrue(os.path.isdir(logger._event_logging_dir))
self.assertTrue(os.path.exists(logger._event_logfile))
+
# Ensure we added valid json
with open(logger._event_logfile, 'r') as f:
content = f.read()
self.assertTrue(content)
json.loads(content)
+ # Ensure we wrote the correct json line.
+ expected = {
+ "slave": "cool-m1",
+ "builder": "coconuts",
+ "timestamp": 5500,
+ "step_result": "success",
+ "subproject_tag": "whatever",
+ "project_id": "whatever",
+ }
+ with open(logger._ts_mon_logfile, 'r') as f:
+ line = f.read()
+ d = json.loads(line)
+ self.assertEqual(expected, d)
+
if __name__ == '__main__':
unittest.main()
« scripts/master/status_logger.py ('K') | « scripts/master/status_logger.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698