fixes bug where priorities where lost when force-rechecking.

This commit is contained in:
Arvid Norberg
2008-08-25 22:32:50 +00:00
parent 66ac9fe718
commit e9045cc1df
4 changed files with 41 additions and 4 deletions

View File

@@ -278,6 +278,33 @@ int test_main()
TEST_CHECK(int(picked.size()) > 0);
TEST_CHECK(picked.front().piece_index == 1);
// ========================================================
// make sure init preserves priorities
print_title("test init");
p = setup_picker("1111111", " ", "1111111", "");
TEST_CHECK(p->num_filtered() == 0);
TEST_CHECK(p->num_have_filtered() == 0);
TEST_CHECK(p->num_have() == 0);
p->set_piece_priority(0, 0);
TEST_CHECK(p->num_filtered() == 1);
TEST_CHECK(p->num_have_filtered() == 0);
TEST_CHECK(p->num_have() == 0);
p->we_have(0);
TEST_CHECK(p->num_filtered() == 0);
TEST_CHECK(p->num_have_filtered() == 1);
TEST_CHECK(p->num_have() == 1);
p->init(blocks_per_piece, blocks_per_piece * 7);
TEST_CHECK(p->piece_priority(0) == 0);
TEST_CHECK(p->num_filtered() == 1);
TEST_CHECK(p->num_have_filtered() == 0);
TEST_CHECK(p->num_have() == 0);
// ========================================================
// make sure requested blocks aren't picked