Skip to content

Commit 98de428

Browse files
committed
Fix off-by-one error in send_on with all files
1 parent 15deac1 commit 98de428

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

src/servicex_did_finder_lib/accumulator.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,11 @@ def send_on(self, count):
6363

6464
# Sort the list to insure reproducibility
6565
files = sorted(self.file_cache, key=lambda x: x["paths"])
66-
self.send_bulk(files[:count])
66+
if count == -1:
67+
self.send_bulk(files)
68+
else:
69+
self.send_bulk(files[:count])
70+
6771
self.file_cache.clear()
6872

6973
def send_bulk(self, file_list: List[Dict[str, Any]]):

tests/servicex_did_finder_lib_tests/test_accumulator.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def test_add_list_of_files(servicex, did_summary_obj, single_file_info):
5656

5757
def test_send_on(servicex, did_summary_obj, single_file_info):
5858
acc = Accumulator(sx=servicex, sum=did_summary_obj)
59-
acc.add([single_file_info, single_file_info, single_file_info])
59+
acc.add([single_file_info, single_file_info, single_file_info, single_file_info])
6060
acc.send_on(3)
6161
servicex.put_file_add_bulk.assert_called_with(
6262
[single_file_info, single_file_info, single_file_info]
@@ -65,6 +65,17 @@ def test_send_on(servicex, did_summary_obj, single_file_info):
6565
assert acc.summary.file_count == 3
6666

6767

68+
def test_send_on_all_files(servicex, did_summary_obj, single_file_info):
69+
acc = Accumulator(sx=servicex, sum=did_summary_obj)
70+
acc.add([single_file_info, single_file_info, single_file_info])
71+
acc.send_on(-1)
72+
servicex.put_file_add_bulk.assert_called_with(
73+
[single_file_info, single_file_info, single_file_info]
74+
)
75+
assert acc.cache_len == 0
76+
assert acc.summary.file_count == 3
77+
78+
6879
def test_invalid_constructor_arg(servicex, did_summary_obj):
6980
with pytest.raises(ValueError):
7081
acc = Accumulator(sx=servicex, sum=did_summary_obj)

0 commit comments

Comments
 (0)