testing: ignore various problems with servers

Client::Sync::*::testLinkedItems* cannot be run when testing multiple
sources at once because only event sources have the test data. Limit
testing to single sources.

Memotoo and Mobical need special linked item test case data because
they modify time stamps.

Memotoo refresh semantic seems to have changed. See "[SyncEvolution]
Memotoo refresh + empty data".

The name of the combined sources in _SKIP env variables were wrong.
This commit is contained in:
Patrick Ohly 2011-08-17 11:32:09 +00:00
parent 6099214016
commit 32fec43d6c
2 changed files with 161 additions and 31 deletions

View file

@ -1690,7 +1690,10 @@ void SyncTests::addTests(bool isFirstSource) {
ADD_TEST(SyncTests, testComplexRefreshFromServerSemantic);
ADD_TEST(SyncTests, testDeleteBothSides);
if (config.parentItem &&
// only add when testing individual source,
// test data not guaranteed to be available for all sources
if (sources.size() == 1 &&
config.parentItem &&
config.childItem) {
ADD_TEST(SyncTests, testLinkedItemsParentChild);
@ -4559,6 +4562,17 @@ void ClientTest::getTestData(const char *type, Config &config)
"END:VEVENT\n"
"END:VCALENDAR\n";
// Servers have very different understandings of how
// recurrence interacts with time zones and RRULE.
// Must use different test cases for some servers to
// avoid having the linkedItems test cases fail
// because of that.
std::string server;
const char *tmp = getenv("CLIENT_TEST_SERVER");
if (tmp) {
server = tmp;
}
// default: time zones + UNTIL in UTC
config.parentItem =
"BEGIN:VCALENDAR\n"
"PRODID:-//Ximian//NONSGML Evolution Calendar//EN\n"
@ -4634,6 +4648,127 @@ void ClientTest::getTestData(const char *type, Config &config)
"END:VEVENT\n"
"END:VCALENDAR\n";
if (server == "funambol") {
// converts UNTIL into floating time - broken?!
config.parentItem =
"BEGIN:VCALENDAR\n"
"PRODID:-//Ximian//NONSGML Evolution Calendar//EN\n"
"VERSION:2.0\n"
"BEGIN:VTIMEZONE\n"
"TZID:/softwarestudio.org/Olson_20011030_5/Europe/Berlin\n"
"X-LIC-LOCATION:Europe/Berlin\n"
"BEGIN:DAYLIGHT\n"
"TZOFFSETFROM:+0100\n"
"TZOFFSETTO:+0200\n"
"TZNAME:CEST\n"
"DTSTART:19700329T020000\n"
"RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3\n"
"END:DAYLIGHT\n"
"BEGIN:STANDARD\n"
"TZOFFSETFROM:+0200\n"
"TZOFFSETTO:+0100\n"
"TZNAME:CET\n"
"DTSTART:19701025T030000\n"
"RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10\n"
"END:STANDARD\n"
"END:VTIMEZONE\n"
"BEGIN:VEVENT\n"
"UID:20080407T193125Z-19554-727-1-50@gollum\n"
"DTSTAMP:20080407T193125Z\n"
"DTSTART;TZID=/softwarestudio.org/Olson_20011030_5/Europe/Berlin:20080406T090000\n"
"DTEND;TZID=/softwarestudio.org/Olson_20011030_5/Europe/Berlin:20080406T093000\n"
"TRANSP:OPAQUE\n"
"SEQUENCE:XXX\n"
"SUMMARY:Recurring\n"
"DESCRIPTION:recurs each Monday\\, 10 times\n"
"CLASS:PUBLIC\n"
"RRULE:FREQ=WEEKLY;UNTIL=20080608T090000;INTERVAL=1;BYDAY=SU\n"
"CREATED:20080407T193241\n"
"LAST-MODIFIED:20080407T193241Z\n"
"END:VEVENT\n"
"END:VCALENDAR\n";
} else if (server == "mobical") {
// UTC time
config.parentItem =
"BEGIN:VCALENDAR\n"
"PRODID:-//Ximian//NONSGML Evolution Calendar//EN\n"
"VERSION:2.0\n"
"BEGIN:VEVENT\n"
"UID:20080407T193125Z-19554-727-1-50@gollum\n"
"DTSTAMP:20080407T193125Z\n"
"DTSTART:20080406T070000Z\n"
"DTEND:20080406T073000Z\n"
"TRANSP:OPAQUE\n"
"SEQUENCE:XXX\n"
"SUMMARY:Recurring\n"
"DESCRIPTION:recurs each Monday\\, 10 times\n"
"CLASS:PUBLIC\n"
"RRULE:FREQ=WEEKLY;UNTIL=20080608T070000Z;INTERVAL=1;BYDAY=SU\n"
"CREATED:20080407T193241\n"
"LAST-MODIFIED:20080407T193241Z\n"
"END:VEVENT\n"
"END:VCALENDAR\n";
config.childItem =
"BEGIN:VCALENDAR\n"
"PRODID:-//Ximian//NONSGML Evolution Calendar//EN\n"
"VERSION:2.0\n"
"BEGIN:VEVENT\n"
"UID:20080407T193125Z-19554-727-1-50@gollum\n"
"DTSTAMP:20080407T193125Z\n"
"DTSTART:20080413T070000Z\n"
"DTEND:20080413T073000Z\n"
"TRANSP:OPAQUE\n"
"SEQUENCE:XXX\n"
"SUMMARY:Recurring: Modified\n"
"CLASS:PUBLIC\n"
"CREATED:20080407T193241\n"
"LAST-MODIFIED:20080407T193647Z\n"
"RECURRENCE-ID:20080413T070000Z\n"
"DESCRIPTION:second instance modified\n"
"END:VEVENT\n"
"END:VCALENDAR\n";
} else if (server == "memotoo") {
// local time
config.parentItem =
"BEGIN:VCALENDAR\n"
"PRODID:-//Ximian//NONSGML Evolution Calendar//EN\n"
"VERSION:2.0\n"
"BEGIN:VEVENT\n"
"UID:20080407T193125Z-19554-727-1-50@gollum\n"
"DTSTAMP:20080407T193125Z\n"
"DTSTART:20080406T070000\n"
"DTEND:20080406T073000\n"
"TRANSP:OPAQUE\n"
"SEQUENCE:XXX\n"
"SUMMARY:Recurring\n"
"DESCRIPTION:recurs each Monday\\, 10 times\n"
"CLASS:PUBLIC\n"
"RRULE:FREQ=WEEKLY;UNTIL=20080608T070000;INTERVAL=1;BYDAY=SU\n"
"CREATED:20080407T193241\n"
"LAST-MODIFIED:20080407T193241Z\n"
"END:VEVENT\n"
"END:VCALENDAR\n";
config.childItem =
"BEGIN:VCALENDAR\n"
"PRODID:-//Ximian//NONSGML Evolution Calendar//EN\n"
"VERSION:2.0\n"
"BEGIN:VEVENT\n"
"UID:20080407T193125Z-19554-727-1-50@gollum\n"
"DTSTAMP:20080407T193125Z\n"
"DTSTART:20080413T070000\n"
"DTEND:20080413T073000\n"
"TRANSP:OPAQUE\n"
"SEQUENCE:XXX\n"
"SUMMARY:Recurring: Modified\n"
"CLASS:PUBLIC\n"
"CREATED:20080407T193241\n"
"LAST-MODIFIED:20080407T193647Z\n"
"RECURRENCE-ID:20080413T070000\n"
"DESCRIPTION:second instance modified\n"
"END:VEVENT\n"
"END:VCALENDAR\n";
}
config.templateItem = config.insertItem;
config.uniqueProperties = "SUMMARY:UID:LOCATION";
config.sizeProperty = "DESCRIPTION";

View file

@ -872,7 +872,7 @@ scheduleworldtest = SyncEvolutionTest("scheduleworld", compile,
"CLIENT_TEST_FAILURES="
"Client::Sync::eds_memo::testManyItems,"
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::testManyItems,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::testManyItems CLIENT_TEST_SKIP=Client::Sync::eds_event::Retry,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::testManyItems CLIENT_TEST_SKIP=Client::Sync::eds_event::Retry,"
"Client::Sync::eds_event::Suspend,"
"Client::Sync::eds_event::Resend,"
"Client::Sync::eds_contact::Retry,"
@ -887,9 +887,9 @@ scheduleworldtest = SyncEvolutionTest("scheduleworld", compile,
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::Retry,"
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::Suspend,"
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::Resend,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::Retry,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::Suspend,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::Resend "
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::Retry,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::Suspend,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::Resend "
"CLIENT_TEST_DELAY=5 "
"CLIENT_TEST_COMPARE_LOG=T "
"CLIENT_TEST_RESEND_TIMEOUT=5 "
@ -1016,16 +1016,16 @@ class FunambolTest(SyncEvolutionTest):
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::Retry,"
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::Suspend,"
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::Resend,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::Retry,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::Suspend,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::Resend "
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::Retry,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::Suspend,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::Resend "
"CLIENT_TEST_XML=1 "
"CLIENT_TEST_MAX_ITEMSIZE=2048 "
"CLIENT_TEST_DELAY=10 "
"CLIENT_TEST_FAILURES="
"Client::Sync::eds_contact::testTwinning,"
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::testTwinning,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::testTwinning "
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::testTwinning "
"CLIENT_TEST_COMPARE_LOG=T "
"CLIENT_TEST_RESEND_TIMEOUT=5 "
"CLIENT_TEST_INTERRUPT_AT=1",
@ -1147,16 +1147,16 @@ mobicaltest = SyncEvolutionTest("mobical", compile,
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::Retry,"
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::Suspend,"
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::Resend,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::testRefreshFromClientSync,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::testSlowSyncSemantic,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::testRefreshStatus,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::testDelete,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::testItemsXML,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::testOneWayFromServer,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::testOneWayFromClient,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::Retry,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::Suspend,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::Resend "
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::testRefreshFromClientSync,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::testSlowSyncSemantic,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::testRefreshStatus,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::testDelete,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::testItemsXML,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::testOneWayFromServer,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::testOneWayFromClient,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::Retry,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::Suspend,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::Resend "
"CLIENT_TEST_DELAY=5 "
"CLIENT_TEST_COMPARE_LOG=T "
"CLIENT_TEST_RESEND_TIMEOUT=5 "
@ -1178,43 +1178,38 @@ memotootest = SyncEvolutionTest("memotoo", compile,
"Client::Sync::eds_contact::Suspend,"
"Client::Sync::eds_contact::testRefreshFromClientSync,"
"Client::Sync::eds_contact::testRefreshFromClientSemantic,"
"Client::Sync::eds_contact::testRefreshStatus,"
"Client::Sync::eds_contact::testDeleteAllRefresh,"
"Client::Sync::eds_contact::testOneWayFromServer,"
"Client::Sync::eds_event::testRefreshFromClientSync,"
"Client::Sync::eds_event::testRefreshFromClientSemantic,"
"Client::Sync::eds_event::testRefreshStatus,"
"Client::Sync::eds_event::testOneWayFromServer,"
"Client::Sync::eds_event::testDeleteAllRefresh,"
"Client::Sync::eds_event::Retry,"
"Client::Sync::eds_event::Suspend,"
"Client::Sync::eds_task::testRefreshFromClientSync,"
"Client::Sync::eds_task::testRefreshFromClientSemantic,"
"Client::Sync::eds_task::testRefreshStatus,"
"Client::Sync::eds_task::testDeleteAllRefresh,"
"Client::Sync::eds_task::testOneWayFromServer,"
"Client::Sync::eds_task::Retry,"
"Client::Sync::eds_task::Suspend,"
"Client::Sync::eds_memo::testRefreshFromClientSync,"
"Client::Sync::eds_memo::testRefreshFromClientSemantic,"
"Client::Sync::eds_memo::testRefreshStatus,"
"Client::Sync::eds_memo::testDeleteAllRefresh,"
"Client::Sync::eds_memo::testOneWayFromServer,"
"Client::Sync::eds_memo::Retry,"
"Client::Sync::eds_memo::Suspend,"
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::testRefreshFromClientSync,"
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::testRefreshFromClientSemantic,"
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::testRefreshStatus,"
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::testDeleteAllRefresh,"
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::testOneWayFromServer,"
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::Retry,"
"Client::Sync::eds_contact_eds_event_eds_task_eds_memo::Suspend,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::testRefreshFromClientSync,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::testRefreshFromClientSemantic,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::testRefreshStatus,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::testOneWayFromServer,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::testDeleteAllRefresh,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::Retry,"
"Client::Sync::eds_memo_eds_task_eds_event_eds_contact::Suspend "
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::testRefreshFromClientSync,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::testRefreshFromClientSemantic,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::testOneWayFromServer,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::testDeleteAllRefresh,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::Retry,"
"Client::Sync::eds_event_eds_task_eds_memo_eds_contact::Suspend "
"CLIENT_TEST_DELAY=5 "
"CLIENT_TEST_COMPARE_LOG=T "
"CLIENT_TEST_RESEND_TIMEOUT=5 "