@@ -53,6 +53,22 @@ def test_float_gauge(self):
5353""" )
5454 self .assertEqual ([GaugeMetricFamily ("a" , "help" , value = 1.2 )], list (families ))
5555
56+ def test_leading_zeros_simple_gauge (self ):
57+ families = text_string_to_metric_families ("""# TYPE a gauge
58+ # HELP a help
59+ a 0000000000000000000000000000000000000000001
60+ # EOF
61+ """ )
62+ self .assertEqual ([GaugeMetricFamily ("a" , "help" , value = 1 )], list (families ))
63+
64+ def test_leading_zeros_float_gauge (self ):
65+ families = text_string_to_metric_families ("""# TYPE a gauge
66+ # HELP a help
67+ a 0000000000000000000000000000000000000000001.2e-1
68+ # EOF
69+ """ )
70+ self .assertEqual ([GaugeMetricFamily ("a" , "help" , value = .12 )], list (families ))
71+
5672 def test_nan_gauge (self ):
5773 families = text_string_to_metric_families ("""# TYPE a gauge
5874# HELP a help
@@ -610,14 +626,25 @@ def test_invalid_input(self):
610626 ('a 1\n # EOF\n ' ),
611627 ('a 1\t \n # EOF\n ' ),
612628 ('a 1 \n # EOF\n ' ),
629+ ('a 1_2\n # EOF\n ' ),
630+ ('a 0x1p-3\n # EOF\n ' ),
631+ ('a 0x1P-3\n # EOF\n ' ),
632+ ('a 0b1\n # EOF\n ' ),
633+ ('a 0B1\n # EOF\n ' ),
634+ ('a 0x1\n # EOF\n ' ),
635+ ('a 0X1\n # EOF\n ' ),
636+ ('a 0o1\n # EOF\n ' ),
637+ ('a 0O1\n # EOF\n ' ),
613638 # Bad timestamp.
614639 ('a 1 z\n # EOF\n ' ),
615640 ('a 1 1z\n # EOF\n ' ),
641+ ('a 1 1_2\n # EOF\n ' ),
616642 ('a 1 1.1.1\n # EOF\n ' ),
617643 ('a 1 NaN\n # EOF\n ' ),
618644 ('a 1 Inf\n # EOF\n ' ),
619645 ('a 1 +Inf\n # EOF\n ' ),
620646 ('a 1 -Inf\n # EOF\n ' ),
647+ ('a 1 0x1p-3\n # EOF\n ' ),
621648 # Bad exemplars.
622649 ('# TYPE a histogram\n a_bucket{le="+Inf"} 1 #\n # EOF\n ' ),
623650 ('# TYPE a histogram\n a_bucket{le="+Inf"} 1# {} 1\n # EOF\n ' ),
@@ -627,6 +654,8 @@ def test_invalid_input(self):
627654 ('# TYPE a histogram\n a_bucket{le="+Inf"} 1 # {} 1 1 \n # EOF\n ' ),
628655 ('# TYPE a histogram\n a_bucket{le="+Inf"} 1 # '
629656 '{a="2345678901234567890123456789012345678901234567890123456789012345"} 1 1\n # EOF\n ' ),
657+ ('# TYPE a histogram\n a_bucket{le="+Inf"} 1 # {} 0x1p-3\n # EOF\n ' ),
658+ ('# TYPE a histogram\n a_bucket{le="+Inf"} 1 # {} 1 0x1p-3\n # EOF\n ' ),
630659 # Exemplars on unallowed samples.
631660 ('# TYPE a histogram\n a_sum 1 # {a="b"} 0.5\n # EOF\n ' ),
632661 ('# TYPE a gaugehistogram\n a_sum 1 # {a="b"} 0.5\n # EOF\n ' ),
@@ -695,7 +724,7 @@ def test_invalid_input(self):
695724 ('# TYPE a gauge\n a 0\n a 0 0\n # EOF\n ' ),
696725 ('# TYPE a gauge\n a 0 0\n a 0\n # EOF\n ' ),
697726 ]:
698- with self .assertRaises (ValueError ):
727+ with self .assertRaises (ValueError , msg = case ):
699728 list (text_string_to_metric_families (case ))
700729
701730 @unittest .skipIf (sys .version_info < (2 , 7 ), "float repr changed from 2.6 to 2.7" )
0 commit comments