summaryrefslogtreecommitdiff
path: root/extra/usb_power/stats_manager_unittest.py
diff options
context:
space:
mode:
Diffstat (limited to 'extra/usb_power/stats_manager_unittest.py')
-rw-r--r--extra/usb_power/stats_manager_unittest.py53
1 files changed, 34 insertions, 19 deletions
diff --git a/extra/usb_power/stats_manager_unittest.py b/extra/usb_power/stats_manager_unittest.py
index 3122fda455..2fb1080f4d 100644
--- a/extra/usb_power/stats_manager_unittest.py
+++ b/extra/usb_power/stats_manager_unittest.py
@@ -115,25 +115,31 @@ class TestStatsManager(unittest.TestCase):
"""SaveRawData stores same data as fed in."""
self._populate_dummy_stats()
dirname = 'unittest_raw_data'
- self.data.SaveRawData(self.tempdir, dirname)
- dirname = os.path.join(self.tempdir, dirname)
- file_a = os.path.join(dirname, 'A_mW.txt')
- file_b = os.path.join(dirname, 'B_mV.txt')
- with open(file_a, 'r') as f_a:
- self.assertEqual('99999.50', f_a.readline().strip())
- self.assertEqual('100000.50', f_a.readline().strip())
- with open(file_b, 'r') as f_b:
- self.assertEqual('1.50', f_b.readline().strip())
- self.assertEqual('2.50', f_b.readline().strip())
- self.assertEqual('3.50', f_b.readline().strip())
+ expected_files = set(['A_mW.txt', 'B_mV.txt'])
+ fnames = self.data.SaveRawData(self.tempdir, dirname)
+ files_returned = set([os.path.basename(f) for f in fnames])
+ # Assert that only the expected files got returned.
+ self.assertEqual(expected_files, files_returned)
+ # Assert that only the returned files are in the outdir.
+ self.assertEqual(set(os.listdir(os.path.join(self.tempdir, dirname))),
+ files_returned)
+ for fname in fnames:
+ with open(fname, 'r') as f:
+ if 'A_mW' in fname:
+ self.assertEqual('99999.50', f.readline().strip())
+ self.assertEqual('100000.50', f.readline().strip())
+ if 'B_mV' in fname:
+ self.assertEqual('1.50', f.readline().strip())
+ self.assertEqual('2.50', f.readline().strip())
+ self.assertEqual('3.50', f.readline().strip())
def test_SaveRawDataNoUnit(self):
"""SaveRawData appends no unit suffix if the unit is not specified."""
self._populate_dummy_stats_no_unit()
self.data.CalculateStats()
outdir = 'unittest_raw_data'
- self.data.SaveRawData(self.tempdir, outdir)
- files = os.listdir(os.path.join(self.tempdir, outdir))
+ files = self.data.SaveRawData(self.tempdir, outdir)
+ files = [os.path.basename(f) for f in files]
# Verify nothing gets appended to domain for filename if no unit exists.
self.assertIn('B.txt', files)
@@ -166,8 +172,13 @@ class TestStatsManager(unittest.TestCase):
"""SaveSummary properly dumps the summary into a file."""
self._populate_dummy_stats()
fname = 'unittest_summary.txt'
- self.data.SaveSummary(self.tempdir, fname)
- fname = os.path.join(self.tempdir, fname)
+ expected_fname = os.path.join(self.tempdir, fname)
+ fname = self.data.SaveSummary(self.tempdir, fname)
+ # Assert the reported fname is the same as the expected fname
+ self.assertEqual(expected_fname, fname)
+ # Assert only the reported fname is output (in the tempdir)
+ self.assertEqual(set([os.path.basename(fname)]),
+ set(os.listdir(self.tempdir)))
with open(fname, 'r') as f:
self.assertEqual(
'@@ NAME COUNT MEAN STDDEV MAX MIN\n',
@@ -183,8 +194,13 @@ class TestStatsManager(unittest.TestCase):
"""SaveSummaryJSON saves the added data properly in JSON format."""
self._populate_dummy_stats()
fname = 'unittest_summary.json'
- self.data.SaveSummaryJSON(self.tempdir, fname)
- fname = os.path.join(self.tempdir, fname)
+ expected_fname = os.path.join(self.tempdir, fname)
+ fname = self.data.SaveSummaryJSON(self.tempdir, fname)
+ # Assert the reported fname is the same as the expected fname
+ self.assertEqual(expected_fname, fname)
+ # Assert only the reported fname is output (in the tempdir)
+ self.assertEqual(set([os.path.basename(fname)]),
+ set(os.listdir(self.tempdir)))
with open(fname, 'r') as f:
summary = json.load(f)
self.assertAlmostEqual(100000.0, summary['A']['mean'])
@@ -197,8 +213,7 @@ class TestStatsManager(unittest.TestCase):
self._populate_dummy_stats_no_unit()
self.data.CalculateStats()
fname = 'unittest_summary.json'
- self.data.SaveSummaryJSON(self.tempdir, fname)
- fname = os.path.join(self.tempdir, fname)
+ fname = self.data.SaveSummaryJSON(self.tempdir, fname)
with open(fname, 'r') as f:
summary = json.load(f)
self.assertEqual('blue', summary['A']['unit'])