mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 20:33:31 +01:00
2a722e2841
No longer messes up with MOCK_IMPL. Also update the tests to show that. We are still being innacurate on the line count in some cases, but that doesnt matter so much.
51 lines
1.1 KiB
Python
Executable File
51 lines
1.1 KiB
Python
Executable File
"""Some simple tests for practracker metrics"""
|
|
|
|
import unittest
|
|
|
|
import StringIO
|
|
|
|
import metrics
|
|
|
|
function_file = """static void
|
|
fun(directory_request_t *req, const char *resource)
|
|
{
|
|
time_t if_modified_since = 0;
|
|
uint8_t or_diff_from[DIGEST256_LEN];
|
|
}
|
|
|
|
static void
|
|
fun(directory_request_t *req,
|
|
const char *resource)
|
|
{
|
|
time_t if_modified_since = 0;
|
|
uint8_t or_diff_from[DIGEST256_LEN];
|
|
}
|
|
|
|
MOCK_IMPL(void,
|
|
fun,(
|
|
uint8_t dir_purpose,
|
|
uint8_t router_purpose,
|
|
const char *resource,
|
|
int pds_flags,
|
|
download_want_authority_t want_authority))
|
|
{
|
|
const routerstatus_t *rs = NULL;
|
|
const or_options_t *options = get_options();
|
|
}
|
|
"""
|
|
|
|
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):
|
|
self.assertEqual(name, "fun")
|
|
|
|
funcs.seek(0)
|
|
|
|
for name, lines in metrics.function_lines(funcs):
|
|
self.assertEqual(lines, 2)
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|