Perf metrics with negative values never get into tko database. Generalize syntax of perf value to allow any float literal.
Signed-off-by: Duane Sand <[email protected]> --- autotest/tko/parsers/version_1.py 2010-09-09 14:01:55.000000000 -0700 +++ autotest/tko/parsers/version_1.py 2010-11-10 14:03:38.000000000 -0800 @@ -70,11 +70,14 @@ val_type = "perf" # parse the actual value into a dict - if val_type == "attr": - attr_dict[key] = value - elif val_type == "perf" and re.search("^\d+(\.\d+)?$", value): - perf_dict[key] = float(value) - else: + try: + if val_type == "attr": + attr_dict[key] = value + elif val_type == "perf": + perf_dict[key] = float(value) + else: + raise ValueError + except ValueError: msg = ("WARNING: line '%s' found in test " "iteration keyval could not be parsed") msg %= line --- autotest/tko/parsers/version_1_unittest.py 2010-02-11 14:11:30.000000000 -0800 +++ autotest/tko/parsers/version_1_unittest.py 2010-11-10 14:03:38.000000000 -0800 @@ -220,8 +220,8 @@ def test_perf_entry(self): - result = self.parse_line("perf-val{perf}=173") - self.assertEqual(({}, {"perf-val": 173}), result) + result = self.parse_line("perf-val{perf}=-173") + self.assertEqual(({}, {"perf-val": -173}), result) def test_attr_entry(self): @@ -230,8 +230,8 @@ def test_untagged_is_perf(self): - result = self.parse_line("untagged=678.5") - self.assertEqual(({}, {"untagged": 678.5}), result) + result = self.parse_line("untagged=-678.5e5") + self.assertEqual(({}, {"untagged": -678.5e5}), result) def test_invalid_tag_ignored(self): @@ -240,12 +240,12 @@ def test_non_numeric_perf_ignored(self): - result = self.parse_line("perf-val{perf}=NaN") + result = self.parse_line("perf-val{perf}=FooBar") self.assertEqual(({}, {}), result) def test_non_numeric_untagged_ignored(self): - result = self.parse_line("untagged=NaN") + result = self.parse_line("untagged=FooBar") self.assertEqual(({}, {}), result) _______________________________________________ Autotest mailing list [email protected] http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
