On Thu, 2010-11-11 at 09:09 -0800, Duane Sand wrote: > Perf metrics with negative values never get into tko database. > Generalize syntax of perf value to allow any float literal.
Applied, thanks! > 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 _______________________________________________ Autotest mailing list [email protected] http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
