Added a test that exposes a problem in BObjectList/PointerList. If a list contains 17 items or greater, and you attempt to sort it with a sort function that always returns 1 regardless of the items being compared, it will crash 100% of the time. Looking into why next.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28873 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Rene Gollent 2009-01-11 04:43:53 +00:00
parent 51505cb08a
commit 4c1a09d0cf

View File

@ -0,0 +1,35 @@
#include <ObjectList.h>
#include <String.h>
static int SortItemTestPositive(const BString *item1, const BString *item2)
{
return 1;
}
static int SortItemTestNegative(const BString *item1, const BString *item2)
{
return -1;
}
static int SortItemTestEqual(const BString *item1, const BString *item2)
{
return 0;
}
int main(int, char **)
{
BObjectList<BString> list;
for (int i = 0; i < 20; i++) {
list.AddItem(new BString("test"));
printf("List contains %d items, attempting sorts\n", i);
printf("Attempting positive test\n");
list.SortItems(SortItemTestPositive);
printf("Positive test completed, attempting negative test\n");
list.SortItems(SortItemTestNegative);
printf("Positive test completed, attempting equal test\n");
list.SortItems(SortItemTestEqual);
}
printf("All tests passed!\n");
return 0;
}