mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
Fix practracker_tests.py and practracker line counting.
The practracker_tests.py unit test file called a function by its old name. Also, practracker counted functions as starting one line after the function name, and ending with the closing brace. Now they start with the open brace and end with the closing brace.
This commit is contained in:
parent
5303dbe624
commit
4c09532996
@ -31,6 +31,7 @@ def get_function_lines(f):
|
||||
"DISABLE_GCC_WARNING", "DISABLE_GCC_WARNINGS"}
|
||||
|
||||
in_function = False
|
||||
found_openbrace = False
|
||||
for lineno, line in enumerate(f):
|
||||
if not in_function:
|
||||
# find the start of a function
|
||||
@ -41,10 +42,13 @@ def get_function_lines(f):
|
||||
continue
|
||||
func_start = lineno
|
||||
in_function = True
|
||||
|
||||
elif not found_openbrace and line.startswith("{"):
|
||||
found_openbrace = True
|
||||
func_start = lineno
|
||||
else:
|
||||
# Find the end of a function
|
||||
if line.startswith("}"):
|
||||
n_lines = lineno - func_start
|
||||
n_lines = lineno - func_start + 1
|
||||
in_function = False
|
||||
found_openbrace = False
|
||||
yield (func_name, n_lines)
|
||||
|
@ -1,3 +1,5 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
"""Some simple tests for practracker metrics"""
|
||||
|
||||
import unittest
|
||||
@ -38,13 +40,13 @@ class TestFunctionLength(unittest.TestCase):
|
||||
def test_function_length(self):
|
||||
funcs = StringIO.StringIO(function_file)
|
||||
# All functions should have length 2
|
||||
for name, lines in metrics.function_lines(funcs):
|
||||
for name, lines in metrics.get_function_lines(funcs):
|
||||
self.assertEqual(name, "fun")
|
||||
|
||||
funcs.seek(0)
|
||||
|
||||
for name, lines in metrics.function_lines(funcs):
|
||||
self.assertEqual(lines, 2)
|
||||
for name, lines in metrics.get_function_lines(funcs):
|
||||
self.assertEqual(lines, 4)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
Loading…
Reference in New Issue
Block a user