Testing hack necessity
It’s not uncommon to hack around a bug in a 3rd-party library
def read(f):
reader = betalib.BuggyReader()
# Disable lock as in v0.3.0 it causes read() to hang.
reader._lock = utils.noop
# Wait after read to avoid race condition.
res = reader.read(f)
time.sleep(1)
return res
You want to remove these hacks once the bug is fixed as they can be harder to maintain, slower, and may rely on behaviour not guaranteed by the interface.
As a reminder to remove the hack, I like to add a test that will fail when the bug is fixed:
def test_read_hack_is_needed():
'''If this test fails, look at removing the hack in read()'''
proper_result = betalib.BuggyReader().read(TEST_FILE)
hacky_result = test_module.read(TEST_FILE)
assert proper_result != hacky_result