From 0e7a8eb7aa794c1cb6946c280183b401b163ac51 Mon Sep 17 00:00:00 2001 From: Mike Gelfand Date: Fri, 8 Jan 2016 11:12:22 +0000 Subject: [PATCH] Add bitfield test for has all/none --- libtransmission/bitfield-test.c | 61 ++++++++++++++++++++++++++++++++- libtransmission/quark-test.c | 1 - 2 files changed, 60 insertions(+), 2 deletions(-) diff --git a/libtransmission/bitfield-test.c b/libtransmission/bitfield-test.c index b9cbe243b..7d05e2e99 100644 --- a/libtransmission/bitfield-test.c +++ b/libtransmission/bitfield-test.c @@ -125,12 +125,71 @@ test_bitfields (void) return 0; } +static int +test_bitfield_has_all_none (void) +{ + tr_bitfield field; + + tr_bitfieldConstruct (&field, 3); + + check (!tr_bitfieldHasAll (&field)); + check (tr_bitfieldHasNone (&field)); + + tr_bitfieldAdd (&field, 0); + check (!tr_bitfieldHasAll (&field)); + check (!tr_bitfieldHasNone (&field)); + + tr_bitfieldRem (&field, 0); + tr_bitfieldAdd (&field, 1); + check (!tr_bitfieldHasAll (&field)); + check (!tr_bitfieldHasNone (&field)); + + tr_bitfieldRem (&field, 1); + tr_bitfieldAdd (&field, 2); + check (!tr_bitfieldHasAll (&field)); + check (!tr_bitfieldHasNone (&field)); + + tr_bitfieldAdd (&field, 0); + tr_bitfieldAdd (&field, 1); + check (tr_bitfieldHasAll (&field)); + check (!tr_bitfieldHasNone (&field)); + + tr_bitfieldSetHasNone (&field); + check (!tr_bitfieldHasAll (&field)); + check (tr_bitfieldHasNone (&field)); + + tr_bitfieldSetHasAll (&field); + check (tr_bitfieldHasAll (&field)); + check (!tr_bitfieldHasNone (&field)); + + tr_bitfieldDestruct (&field); + tr_bitfieldConstruct (&field, 0); + + check (!tr_bitfieldHasAll (&field)); + check (!tr_bitfieldHasNone (&field)); + + tr_bitfieldSetHasNone (&field); + check (!tr_bitfieldHasAll (&field)); + check (tr_bitfieldHasNone (&field)); + + tr_bitfieldSetHasAll (&field); + check (tr_bitfieldHasAll (&field)); + check (!tr_bitfieldHasNone (&field)); + + tr_bitfieldDestruct (&field); + return 0; +} + int main (void) { int l; int ret; - const testFunc tests[] = { test_bitfields }; + const testFunc tests[] = + { + test_bitfields, + test_bitfield_has_all_none + }; if ((ret = runTests (tests, NUM_TESTS (tests)))) return ret; diff --git a/libtransmission/quark-test.c b/libtransmission/quark-test.c index 1908aa726..a189db5f6 100644 --- a/libtransmission/quark-test.c +++ b/libtransmission/quark-test.c @@ -17,7 +17,6 @@ static int test_static_quarks (void) { int i; - tr_quark q1, q2; for (i=0; i