[onionperf/master] Removes unecessary raise and adds unit tests to validate behaviour

commit 60fff2d9a1b212013cc854f00b8e1450eec7ea46 Author: Ana Custura <ana@netstat.org.uk> Date: Thu Jun 27 02:04:29 2019 +0100 Removes unecessary raise and adds unit tests to validate behaviour --- onionperf/analysis.py | 1 - onionperf/tests/data/parse_error | 1 + onionperf/tests/test_analysis.py | 15 +++++++++++++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/onionperf/analysis.py b/onionperf/analysis.py index 0bc1811..e90d005 100644 --- a/onionperf/analysis.py +++ b/onionperf/analysis.py @@ -532,7 +532,6 @@ class TGenParser(Parser): break except: logging.warning("TGenParser: skipping line due to parsing error: {0}".format(line)) - raise continue source.close() diff --git a/onionperf/tests/data/parse_error b/onionperf/tests/data/parse_error new file mode 100644 index 0000000..3c8cde7 --- /dev/null +++ b/onionperf/tests/data/parse_error @@ -0,0 +1 @@ +2018-04-14 21:10:04 1523740204.809894 [message] [shd-tgen-transfer.c:803] [_tgentransfer_log] [transfer-error] transport TCP,17,NULL:37.218.247.40:26006,NULL:0.0.0.0:0,146.0.73.4:146.0.73.4:1313,state=SUCCESS,error=NONE transfer (null),26847,op-nl,NONE,0,(null),0,state=ERROR,error=AUTH total-bytes-read=1 total-bytes-write=0 payload-bytes-write=0/0 (-nan%) usecs-to-socket-create=0 usecs-to-socket-connect=8053676879205 usecs-to-proxy-init=-1 usecs-to-proxy-choice=-1 usecs-to-proxy-request=-1 usecs-to-proxy-response=-1 usecs-to-command=-1 usecs-to-response=-1 usecs-to-first-byte=-1 usecs-to-last-byte=-1 usecs-to-checksum=-1 diff --git a/onionperf/tests/test_analysis.py b/onionperf/tests/test_analysis.py index 150e8f0..6463458 100644 --- a/onionperf/tests/test_analysis.py +++ b/onionperf/tests/test_analysis.py @@ -1,7 +1,7 @@ import os import pkg_resources from nose.tools import * -from onionperf import analysis +from onionperf import analysis, util def absolute_data_path(relative_path=""): @@ -11,10 +11,10 @@ def absolute_data_path(relative_path=""): return pkg_resources.resource_filename("onionperf", "tests/data/" + relative_path) - DATA_DIR = absolute_data_path() LINE_ERROR = '2019-04-22 14:41:20 1555940480.647663 [message] [shd-tgen-transfer.c:1504] [_tgentransfer_log] [transfer-error] transport TCP,12,localhost:127.0.0.1:46878,localhost:127.0.0.1:43735,dc34og3c3aqdqntblnxkstzfvh7iy7llojd4fi5j23y2po32ock2k7ad.onion:0.0.0.0:8080,state=ERROR,error=READ transfer transfer5m,4,cyan,GET,5242880,(null),0,state=ERROR,error=PROXY total-bytes-read=0 total-bytes-write=0 payload-bytes-read=0/5242880 (0.00%) usecs-to-socket-create=11 usecs-to-socket-connect=210 usecs-to-proxy-init=283 usecs-to-proxy-choice=348 usecs-to-proxy-request=412 usecs-to-proxy-response=-1 usecs-to-command=-1 usecs-to-response=-1 usecs-to-first-byte=-1 usecs-to-last-byte=-1 usecs-to-checksum=-1' +NO_PARSE_LINE = '2018-04-14 21:10:04 1523740204.809894 [message] [shd-tgen-transfer.c:803] [_tgentransfer_log] [transfer-error] transport TCP,17,NULL:37.218.247.40:26006,NULL:0.0.0.0:0,146.0.73.4:146.0.73.4:1313,state=SUCCESS,error=NONE transfer (null),26847,op-nl,NONE,0,(null),0,state=ERROR,error=AUTH total-bytes-read=1 total-bytes-write=0 payload-bytes-write=0/0 (-nan%) usecs-to-socket-create=0 usecs-to-socket-connect=8053676879205 usecs-to-proxy-init=-1 usecs-to-proxy-choice=-1 usecs-to-proxy-request=-1 usecs-to-proxy-response=-1 usecs-to-command=-1 usecs-to-response=-1 usecs-to-first-byte=-1 usecs-to-last-byte=-1 usecs-to-checksum=-1' def test_transfer_status_event(): transfer = analysis.TransferStatusEvent(LINE_ERROR) @@ -186,3 +186,14 @@ def test_transfer_object_end_to_end(): 'filesize_bytes': 5242880 }) + + +@raises(ZeroDivisionError) +def test_transfer_status_parse_error(): + transfer = analysis.TransferStatusEvent(NO_PARSE_LINE) + t = analysis.Transfer(transfer.transfer_id) + t.add_event(transfer) + +def test_parsing_parse_error(): + parser = analysis.TGenParser() + parser.parse(util.DataSource(DATA_DIR + 'parse_error'))
participants (1)
-
irl@torproject.org