From 1b69aea7ed6e09f25912a078d2dcccd1ec8f3c0e Mon Sep 17 00:00:00 2001 From: Kelsey Hawley Date: Thu, 2 Jan 2014 17:05:45 -0800 Subject: [PATCH] removed the string splicing and replaced with one clear assert statement based on the script output for each test. simplifies and clarifies the test --- warcprox/tests/test_dump-anydbm.py | 56 +++++------------------------- 1 file changed, 9 insertions(+), 47 deletions(-) diff --git a/warcprox/tests/test_dump-anydbm.py b/warcprox/tests/test_dump-anydbm.py index fbe9a96..7aabcf6 100644 --- a/warcprox/tests/test_dump-anydbm.py +++ b/warcprox/tests/test_dump-anydbm.py @@ -92,63 +92,25 @@ def make_dumbdbm_test_db(request): def test_dumpanydbm_identify_gdbm(make_gdbm_test_db): print("running test_dumpanydbm_identify_gdbm") output = subprocess.check_output([dump_anydbm, make_gdbm_test_db]) - output = output.decode(encoding='UTF-8').strip().split("\n") - assert len(output) == 3 # 2 keys plus whichdb line + print(b"script printout: \n" + output) - # split on space, then grab 4th word, which is db type - which = output[0].split(' ')[3] - print(which) - assert which == gdbm_type - - #split remaining lines on ':' that separates key & value - db_dump_first_pair = output[1].split(':') - assert db_dump_first_pair[0] == key1 - assert db_dump_first_pair[1] == val1 - - db_dump_second_pair = output[2].split(':') - assert db_dump_second_pair[0] == key2 - assert db_dump_second_pair[1] == val2 + assert (output == b'test_gdbm is a ' + gdbm_type.encode(encoding='UTF-8') + b' db\nvery first key:very first value\nsecond key:second value\n' or + output == b'test_gdbm is a ' + gdbm_type.encode(encoding='UTF-8') + b' db\nsecond key:second value\nvery first key:very first value\n') def test_dumpanydbm_identify_ndbm(make_ndbm_test_db): print("running test_dumpanydbm_identify_ndbm") output = subprocess.check_output([dump_anydbm, make_ndbm_test_db]) - output = output.decode(encoding='UTF-8').strip().split("\n") + print(b"script printout: \n" + output) - assert len(output) == 3 # 2 keys plus whichdb line - - # split on space, then grab 4th word, which is db type - which = output[0].split(' ')[3] - print(which) - assert which == ndbm_type - - #split remaining lines on ':' that separates key & value - db_dump_first_pair = output[1].split(':') - assert db_dump_first_pair[0] == key1 - assert db_dump_first_pair[1] == val1 - - db_dump_second_pair = output[2].split(':') - assert db_dump_second_pair[0] == key2 - assert db_dump_second_pair[1] == val2 + assert (output == b'test_ndbm is a ' + ndbm_type.encode(encoding='UTF-8') + b' db\nvery first key:very first value\nsecond key:second value\n' or + output == b'test_ndbm is a ' + ndbm_type.encode(encoding='UTF-8') + b' db\nsecond key:second value\nvery first key:very first value\n') def test_dumpanydbm_identify_dumbdbm(make_dumbdbm_test_db): print("running test_dumpanydbm_identify_dumbdbm") output = subprocess.check_output([dump_anydbm, make_dumbdbm_test_db]) - output = output.decode(encoding='UTF-8').strip().split("\n") - assert len(output) == 3 # 2 keys plus whichdb line - print(output) + print(b"script printout: \n" + output) - # split on space, then grab 4th word, which is db type - which = output[0].split(' ')[3] - print(which) - assert which == dumb_type - - #split remaining lines on ':' that separates key & value - db_dump_first_pair = output[1].split(':') - assert db_dump_first_pair[0] == key1 - assert db_dump_first_pair[1] == val1 - - db_dump_second_pair = output[2].split(':') - assert db_dump_second_pair[0] == key2 - assert db_dump_second_pair[1] == val2 + assert (output == b'test_dumbdbm is a ' + dumb_type.encode(encoding='UTF-8') + b' db\nvery first key:very first value\nsecond key:second value\n' or + output == b'test_dumbdbm is a ' + dumb_type.encode(encoding='UTF-8') + b' db\nsecond key:second value\nvery first key:very first value\n')