summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDaniel Burrows <dburrows@debian.org>2009-06-25 21:08:24 -0700
committerDaniel Burrows <dburrows@debian.org>2009-06-25 21:08:24 -0700
commit56070fc47c031a4241b0d59f28d2b80d3f298393 (patch)
tree2cb999cf136a7d66cf61f453d7fa70913fada65f /tests
parent712eed6863906f9a58700ff2e0ed8bfd7bde11d0 (diff)
downloadaptitude-56070fc47c031a4241b0d59f28d2b80d3f298393.tar.gz
More fixes / updates to the promotion set test code.
Since in some of the tests, the promotions that match contain different choices, we can't assert that only one promotion was found. :-( Also, added code to log the output of each run.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_promotion_set.cc46
1 files changed, 39 insertions, 7 deletions
diff --git a/tests/test_promotion_set.cc b/tests/test_promotion_set.cc
index b4533f56..f8075f11 100644
--- a/tests/test_promotion_set.cc
+++ b/tests/test_promotion_set.cc
@@ -45,6 +45,26 @@ UNIVERSE [ \
const int * const complex_tier_end = complex_tier_array + (sizeof(complex_tier_array) / sizeof(complex_tier_array[0]));
}
+template<typename Key, typename Val>
+std::ostream &operator<<(std::ostream &out, const boost::unordered_map<Key, Val> &m)
+{
+ out << "{";
+ bool first = true;
+ for(typename boost::unordered_map<Key, Val>::const_iterator it =
+ m.begin(); it != m.end(); ++it)
+ {
+ if(first)
+ first = false;
+ else
+ out << ", ";
+
+ out << it->first << " -> " << it->second;
+ }
+ out << "}";
+
+ return out;
+}
+
class Promotion_SetTest : public CppUnit::TestFixture
{
CPPUNIT_TEST_SUITE(Promotion_SetTest);
@@ -346,7 +366,7 @@ public:
output,
output_non_incipient);
- CPPUNIT_ASSERT_EQUAL((unsigned)1, output.size());
+ CPPUNIT_ASSERT(output.size() >= 1);
CPPUNIT_ASSERT(output.begin()->first.contains(search1_incipient_key1));
CPPUNIT_ASSERT_EQUAL(expected1, output.begin()->second);
}
@@ -364,7 +384,9 @@ public:
pick_all_promotions(),
output);
- CPPUNIT_ASSERT_EQUAL((unsigned)1, output.size());
+ LOG_TRACE(logger, "Output: " << output);
+
+ CPPUNIT_ASSERT(output.size() >= 1);
CPPUNIT_ASSERT(output.begin()->first.contains(search1_incipient_key1));
CPPUNIT_ASSERT_EQUAL(expected1, output.begin()->second);
}
@@ -393,7 +415,9 @@ public:
output,
output_non_incipient);
- CPPUNIT_ASSERT_EQUAL((unsigned)1, output.size());
+ LOG_TRACE(logger, "Output: " << output);
+
+ CPPUNIT_ASSERT(output.size() >= 1);
CPPUNIT_ASSERT(output.begin()->first.contains(search1_incipient_key2));
CPPUNIT_ASSERT_EQUAL(expected1, output.begin()->second);
}
@@ -411,7 +435,9 @@ public:
pick_all_promotions(),
output);
- CPPUNIT_ASSERT_EQUAL((unsigned)1, output.size());
+ LOG_TRACE(logger, "Output: " << output);
+
+ CPPUNIT_ASSERT(output.size() >= 1);
CPPUNIT_ASSERT(output.begin()->first.contains(search1_incipient_key2));
CPPUNIT_ASSERT_EQUAL(expected1, output.begin()->second);
}
@@ -521,7 +547,9 @@ public:
output,
output_non_incipient);
- CPPUNIT_ASSERT_EQUAL((unsigned)1, output.size());
+ LOG_TRACE(logger, "Output: " << output);
+
+ CPPUNIT_ASSERT(output.size() >= 1);
CPPUNIT_ASSERT(output.begin()->first.contains(search5_incipient_key1));
CPPUNIT_ASSERT_EQUAL(expected5, output.begin()->second);
}
@@ -539,7 +567,9 @@ public:
pick_all_promotions(),
output);
- CPPUNIT_ASSERT_EQUAL((unsigned)1, output.size());
+ LOG_TRACE(logger, "Output: " << output);
+
+ CPPUNIT_ASSERT(output.size() >= 1);
CPPUNIT_ASSERT(output.begin()->first.contains(search5_incipient_key1));
CPPUNIT_ASSERT_EQUAL(expected5, output.begin()->second);
}
@@ -576,7 +606,9 @@ public:
pick_all_promotions(),
output);
- CPPUNIT_ASSERT_EQUAL((unsigned)1, output.size());
+ LOG_TRACE(logger, "Output: " << output);
+
+ CPPUNIT_ASSERT(output.size() >= 1);
CPPUNIT_ASSERT(output.begin()->first.contains(search5_incipient_key2));
CPPUNIT_ASSERT_EQUAL(expected5_2, output.begin()->second);
}