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

Reply via email to