aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2022-04-25 08:25:06 +0300
committerFrederick Muriuki Muriithi2022-04-25 08:25:06 +0300
commitb419a43c851336aeb57407c72c0a37271fbb2ebc (patch)
treecd3994bc40ea1157575381cf424f01d659478952
parent20c4028f567f0d4b5df1b80f1b6bea1bc99887b4 (diff)
downloadgn-uploader-b419a43c851336aeb57407c72c0a37271fbb2ebc.tar.gz
Advance seek_position on error
Advance the seek position, once we have yielded up an error to causing an infinite loop in certain conditions, where the `parse_errors` function ends up resuming the gile in the same position once it experiences an error.
-rw-r--r--quality_control/parsing.py1
-rw-r--r--tests/qc/test_error_collection.py1
2 files changed, 1 insertions, 1 deletions
diff --git a/quality_control/parsing.py b/quality_control/parsing.py
index e9bd5f7..eb4c989 100644
--- a/quality_control/parsing.py
+++ b/quality_control/parsing.py
@@ -120,6 +120,7 @@ def parse_errors(filepath: str, filetype: FileType, strains: list,
"error": __error_type(err),
"message": err.args
}
+ seek_pos = seek_pos + len(line)
return (
error for error in __errors(filepath, filetype, strains, seek_pos)
diff --git a/tests/qc/test_error_collection.py b/tests/qc/test_error_collection.py
index f1bd8b9..3a26d9c 100644
--- a/tests/qc/test_error_collection.py
+++ b/tests/qc/test_error_collection.py
@@ -28,7 +28,6 @@ def test_parse_errors(filepath, filetype, strains, seek_pos):
assert "error" in error and isinstance(error["error"], str)
assert "message" in error
-
@pytest.mark.parametrize(
"sample,num,expected",
((range(0,25), 5, [0, 1, 2, 3, 4]),