10000 Add checks for various other float formats. · prometheus/client_python@3eafa33 · GitHub
[go: up one dir, main page]

Skip to content

Commit 3eafa33

Browse files
committed
Add checks for various other float formats.
Check for new stuff Go added in 1.13, and also make sure leading 0s are permitted as some users want to be able to do fixed-size output. Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>
1 parent dd59d9a commit 3eafa33

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

tests/openmetrics/test_parser.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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< 8000 /td>
('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\na_bucket{le="+Inf"} 1 #\n# EOF\n'),
623650
('# TYPE a histogram\na_bucket{le="+Inf"} 1# {} 1\n# EOF\n'),
@@ -627,6 +654,8 @@ def test_invalid_input(self):
627654
('# TYPE a histogram\na_bucket{le="+Inf"} 1 # {} 1 1 \n# EOF\n'),
628655
('# TYPE a histogram\na_bucket{le="+Inf"} 1 # '
629656
'{a="2345678901234567890123456789012345678901234567890123456789012345"} 1 1\n# EOF\n'),
657+
('# TYPE a histogram\na_bucket{le="+Inf"} 1 # {} 0x1p-3\n# EOF\n'),
658+
('# TYPE a histogram\na_bucket{le="+Inf"} 1 # {} 1 0x1p-3\n# EOF\n'),
630659
# Exemplars on unallowed samples.
631660
('# TYPE a histogram\na_sum 1 # {a="b"} 0.5\n# EOF\n'),
632661
('# TYPE a gaugehistogram\na_sum 1 # {a="b"} 0.5\n# EOF\n'),

0 commit comments

Comments
 (0)
0