[DEBUG 00:00:00] *** starting Client::Sync::eds_contact::testComplexUpdate *** [DEBUG 00:00:00] ClientTest.cpp:3852: starting doCopy() [DEBUG 00:00:00] ClientTest.cpp:3130: starting CPPUNIT_ASSERT(accessClientB) [DEBUG 00:00:00] ClientTest.cpp:3130: ending CPPUNIT_ASSERT(accessClientB) [DEBUG 00:00:00] ClientTest.cpp:3132: starting deleteAll() [DEBUG 00:00:00] ClientTest.cpp:3116: starting allSourcesDeleteAll() [DEBUG 00:00:00] ClientTest.cpp:6491: starting source_pair.second->deleteAll(source_pair.second->createSourceA) [DEBUG 00:00:00] ClientTest.cpp:802: starting CPPUNIT_ASSERT(createSource.createSource) [DEBUG 00:00:00] ClientTest.cpp:802: ending CPPUNIT_ASSERT(createSource.createSource) [DEBUG 00:00:00] ClientTest.cpp:807: starting source.reset(createSource()) [DEBUG 00:00:00] instantiating testing source eds_contact in config target-config@client-test-edsdav, with tracking name _1_A [DEBUG 00:00:00] overriding testing source eds_contact properties with the ones from config edsdav_1 = /data/runtests/work/testing-amd64/home/edsdav/config/syncevolution/client-test-edsdav-1/peers/edsdav_1 [DEBUG 00:00:00] sync = two-way (set) [DEBUG 00:00:00] uri = addressbook (set) [DEBUG 00:00:00] backend = Evolution Address Book (set) [DEBUG 00:00:00] syncFormat = (default) [DEBUG 00:00:00] forceSyncFormat = 0 (default) [DEBUG 00:00:00] database = Test_eds_contact_1 (set) [DEBUG 00:00:00] databaseFormat = (default) [DEBUG 00:00:00] databaseUser = (default) [DEBUG 00:00:00] databasePassword = (default) [DEBUG 00:00:02] instantiating testing source eds_contact in config target-config@client-test-edsdav, with tracking name _1_A [DEBUG 00:00:02] overriding testing source eds_contact properties with the ones from config edsdav_1 = /data/runtests/work/testing-amd64/home/edsdav/config/syncevolution/client-test-edsdav-1/peers/edsdav_1 [DEBUG 00:00:02] sync = two-way (set) [DEBUG 00:00:02] uri = addressbook (set) [DEBUG 00:00:02] backend = Evolution Address Book (set) [DEBUG 00:00:02] syncFormat = (default) [DEBUG 00:00:02] forceSyncFormat = 0 (default) [DEBUG 00:00:02] database = Test_eds_contact_1 (set) [DEBUG 00:00:02] databaseFormat = (default) [DEBUG 00:00:02] databaseUser = (default) [DEBUG 00:00:02] databasePassword = (default) [DEBUG 00:00:02] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:02] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:02] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:02] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:02] ClientTest.cpp:431: starting get()->open() [DEBUG 00:00:02] ClientTest.cpp:431: ending get()->open() [DEBUG 00:00:02] eds_contact: slow sync or testing, do full item scan to detect changes [DEBUG 00:00:02] ClientTest.cpp:807: ending source.reset(createSource()) [DEBUG 00:00:02] ClientTest.cpp:807: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:02] ClientTest.cpp:807: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:02] ClientTest.cpp:810: starting source->removeAllItems() [DEBUG 00:00:02] ClientTest.cpp:810: ending source->removeAllItems() [DEBUG 00:00:02] ClientTest.cpp:810: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:02] ClientTest.cpp:810: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:02] ClientTest.cpp:811: starting source.reset() [DEBUG 00:00:02] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:02] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:02] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:00:02] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:00:02] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:03] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:03] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:00:03] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:00:03] ClientTest.cpp:463: starting get()->close() [DEBUG 00:00:03] ClientTest.cpp:463: ending get()->close() [DEBUG 00:00:03] ClientTest.cpp:811: ending source.reset() [DEBUG 00:00:03] ClientTest.cpp:814: starting source.reset(createSource()) [DEBUG 00:00:03] instantiating testing source eds_contact in config target-config@client-test-edsdav, with tracking name _1_A [DEBUG 00:00:03] overriding testing source eds_contact properties with the ones from config edsdav_1 = /data/runtests/work/testing-amd64/home/edsdav/config/syncevolution/client-test-edsdav-1/peers/edsdav_1 [DEBUG 00:00:03] sync = two-way (set) [DEBUG 00:00:03] uri = addressbook (set) [DEBUG 00:00:03] backend = Evolution Address Book (set) [DEBUG 00:00:03] syncFormat = (default) [DEBUG 00:00:03] forceSyncFormat = 0 (default) [DEBUG 00:00:03] database = Test_eds_contact_1 (set) [DEBUG 00:00:03] databaseFormat = (default) [DEBUG 00:00:03] databaseUser = (default) [DEBUG 00:00:03] databasePassword = (default) [DEBUG 00:00:03] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:03] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:03] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:03] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:03] ClientTest.cpp:431: starting get()->open() [DEBUG 00:00:03] ClientTest.cpp:431: ending get()->open() [DEBUG 00:00:03] eds_contact: using full item scan to detect changes [DEBUG 00:00:03] ClientTest.cpp:814: ending source.reset(createSource()) [DEBUG 00:00:03] ClientTest.cpp:814: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:03] ClientTest.cpp:814: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:03] ClientTest.cpp:818: starting CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0))) [DEBUG 00:00:03] ClientTest.cpp:818: ending CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0))) [DEBUG 00:00:03] ClientTest.cpp:818: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:03] ClientTest.cpp:818: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:03] ClientTest.cpp:819: starting CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:00:04] ClientTest.cpp:819: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:00:04] ClientTest.cpp:820: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:00:04] ClientTest.cpp:820: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:00:04] ClientTest.cpp:821: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:00:04] ClientTest.cpp:821: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:00:04] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:00:04] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:04] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:04] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:00:04] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:00:04] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:04] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:04] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:00:04] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:00:04] ClientTest.cpp:463: starting get()->close() [DEBUG 00:00:04] ClientTest.cpp:463: ending get()->close() [DEBUG 00:00:04] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:00:04] ClientTest.cpp:6491: ending source_pair.second->deleteAll(source_pair.second->createSourceA) [DEBUG 00:00:04] ClientTest.cpp:3116: ending allSourcesDeleteAll() [DEBUG 00:00:04] ClientTest.cpp:3117: starting doSync(logPrefix, options) [DEBUG 00:00:04] 1. starting Client_Sync_eds_contact_testComplexUpdate.copy.deleteall.refreshserver.client.A with sync mode refresh-from-client [DEBUG 00:00:04] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options) [DEBUG 00:00:04] log path -> /data/runtests/work/testing-amd64/home/edsdav/cache/syncevolution, No such file or directory [DEBUG 00:00:04] log path -> Client_Sync_eds_contact_testComplexUpdate.copy.deleteall.refreshserver.client.A, No such file or directory [DEBUG 00:00:04] log path -> Client_Sync_eds_contact_testComplexUpdate.copy.deleteall.refreshserver.client.A, No such file or directory [DEBUG 00:00:04] checking log dir Client_Sync_eds_contact_testComplexUpdate.copy.deleteall.refreshserver.client.A [DEBUG 00:00:04] logfile: Client_Sync_eds_contact_testComplexUpdate.copy.deleteall.refreshserver.client.A/syncevolution-log.html [DEVELOPER 00:00:07] SyncML server account: user01 [DEVELOPER 00:00:07] client: SyncEvolution 1.5.3 for workstation [DEVELOPER 00:00:07] device ID: client-edsdav_1 [DEVELOPER 00:00:07] [DEVELOPER 00:00:07] [INFO 00:00:07] addressbook: inactive [INFO 00:00:07] calendar: inactive [INFO 00:00:07] calendar+todo: inactive [INFO 00:00:07] eas_contact: inactive [INFO 00:00:07] eas_event: inactive [INFO 00:00:07] eas_memo: inactive [INFO 00:00:07] eas_task: inactive [INFO 00:00:07] eds_event: inactive [INFO 00:00:07] eds_memo: inactive [INFO 00:00:07] eds_task: inactive [INFO 00:00:07] file_calendar+todo: inactive [INFO 00:00:07] file_contact: inactive [INFO 00:00:07] file_event: inactive [INFO 00:00:07] file_task: inactive [INFO 00:00:07] kde_contact: inactive [INFO 00:00:07] kde_event: inactive [INFO 00:00:07] kde_memo: inactive [INFO 00:00:07] kde_task: inactive [INFO 00:00:07] memo: inactive [INFO 00:00:07] todo: inactive [DEBUG 00:00:07] checking password property 'password' in config 'edsdav_1@client-test-edsdav-1' with user identity 'user01' [DEBUG 00:00:07] loading password from keyring with key user=user01 server=127.0.0.1:9904/syncevolution [DEBUG 00:00:07] not using KWallet [DEBUG 00:00:08] sync password for edsdav_1@client-test-edsdav-1: loaded password from GNOME keyring using user=user01 server=127.0.0.1:9904/syncevolution [DEBUG 00:00:08] checking password property 'databasePassword' in datastore 'eds_contact' of config 'edsdav_1@client-test-edsdav-1' with user identity '' [DEBUG 00:00:08] sync is starting, catch signals [DEBUG 00:00:08] SuspendFlags: (re)activating, currently inactive [DEBUG 00:00:08] SuspendFlags: activating signal handler(s) with fds 38->37 [DEBUG 00:00:08] SuspendFlags: catch signal 15 [DEBUG 00:00:08] ready to sync [DEBUG 00:00:08] CreateContext SyncEvolution//eds_contact => 0 [DEBUG 00:00:08] Module_Version = 01090100 [DEBUG 00:00:08] Module_Capabilities: [DEBUG 00:00:08] PLATFORM:Linux [DEBUG 00:00:08] DLL:true [DEBUG 00:00:08] MINVERSION:V1.0.6.0 [DEBUG 00:00:08] MANUFACTURER:SyncEvolution [DEBUG 00:00:08] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:00:08] plugin_datastore_str:no [DEBUG 00:00:08] plugin_datastore_key:yes [DEBUG 00:00:08] ITEM_AS_KEY:yes [DEBUG 00:00:08] plugin_datablob:no [DEBUG 00:00:08] eds_contact: Module_PluginParams [DEBUG 00:00:08] eds_contact: Engine=01090100 [DEBUG 00:00:08] eds_contact: [DEBUG 00:00:08] Module_Capabilities: [DEBUG 00:00:08] PLATFORM:Linux [DEBUG 00:00:08] DLL:true [DEBUG 00:00:08] MINVERSION:V1.0.6.0 [DEBUG 00:00:08] MANUFACTURER:SyncEvolution [DEBUG 00:00:08] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:00:08] plugin_datastore_str:no [DEBUG 00:00:08] plugin_datastore_key:yes [DEBUG 00:00:08] ITEM_AS_KEY:yes [DEBUG 00:00:08] plugin_datablob:no [DEBUG 00:00:08] copying syncURL, username, password to Synthesis engine [DEBUG 00:00:08] using plain username/password for user01 [DEBUG 00:00:09] eds_contact: total number of items received 0 [INFO 00:00:27] eds_contact: starting first time sync from client (peer is server) [DEBUG 00:00:27] reading: set read-ahead based on sync mode refresh-from-local [DEBUG 00:00:27] eds_contact: reading: set order 'all', 0 luids [DEBUG 00:00:27] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0 [DEBUG 00:00:27] eds_contact: FilterSupport staticfilter: [DEBUG 00:00:27] eds_contact: dynamicfilter: [DEBUG 00:00:27] eds_contact: invisiblefilter: [DEBUG 00:00:27] eds_contact: ContextSupport ReadNextItem:allfields [DEBUG 00:00:27] eds_contact: [DEBUG 00:00:27] eds_contact: slow sync or testing, do full item scan to detect changes [DEBUG 00:00:27] eds_contact: StartDataRead last='' resume='' res=0 [DEBUG 00:00:27] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0 [DEBUG 00:00:27] eds_contact: EndDataRead res=0 [DEBUG 00:00:27] eds_contact: StartDataWrite [DEBUG 00:00:27] eds_contact: total number of items received 0 [INFO 00:00:28] eds_contact: started [DEBUG 00:00:28] eds_contact: total number of items received 0 [DEBUG 00:00:29] eds_contact: EndDataWrite COMMIT '1' res=0 [DEBUG 00:00:29] eds_contact: DeleteContext [INFO 00:00:29] eds_contact: first time sync done successfully [DEBUG 00:00:29] closing session [DEBUG 00:00:29] session closed [DEBUG 00:00:29] SuspendFlags: deactivating fds 38->37 [DEBUG 00:00:29] SuspendFlags: close m_receiverFD 37 [DEBUG 00:00:29] SuspendFlags: close m_senderFD 38 [DEBUG 00:00:29] SuspendFlags: done with deactivation [DEBUG 00:00:29] Module_DeleteContext eds_contact [INFO 00:00:29] sync report: [INFO 00:00:29] +---------------|-----------------------|-----------------------|-CON-+ [INFO 00:00:29] | | LOCAL | REMOTE | FLI | [INFO 00:00:29] | Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS | [INFO 00:00:29] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:00:29] | eds_contact | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | [INFO 00:00:29] | refresh-from-local, 0 KB sent by client, 0 KB received | [INFO 00:00:29] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:00:29] | start Fri Jan 5 19:15:12 2018, duration 0:25min | [INFO 00:00:29] | synchronization completed successfully | [INFO 00:00:29] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:00:29] ----------|--------CLIENT---------|--------SERVER---------| [INFO 00:00:29] | NEW | MOD | DEL | NEW | MOD | DEL | [INFO 00:00:29] ----------|-----------------------------------------------| [INFO 00:00:29] Expected | 0 | 0 | 0 | 0 | 0 | -1 | [INFO 00:00:29] Expected sync mode: refresh-from-local [INFO 00:00:29] Expected cycles: 1 [INFO 00:00:29] [DEBUG 00:00:29] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:00:29] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:00:29] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:00:29] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:00:29] Checking sync source eds_contact... [DEBUG 00:00:29] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:00:29] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:00:29] ClientTest.cpp:8305: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:00:29] ClientTest.cpp:8305: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:00:29] ClientTest.cpp:8308: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:00:29] ClientTest.cpp:8308: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:00:29] ClientTest.cpp:8319: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "syncMode" + " == " + "source.getFinalSyncMode()",(syncMode),(source.getFinalSyncMode())) [DEBUG 00:00:29] ClientTest.cpp:8319: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "syncMode" + " == " + "source.getFinalSyncMode()",(syncMode),(source.getFinalSyncMode())) [DEBUG 00:00:29] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:00:29] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:00:29] ClientTest.cpp:8328: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:29] ClientTest.cpp:8328: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:29] ClientTest.cpp:8334: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:29] ClientTest.cpp:8334: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:29] ClientTest.cpp:8340: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:29] ClientTest.cpp:8340: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:29] ClientTest.cpp:8347: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:29] ClientTest.cpp:8347: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:29] ClientTest.cpp:8353: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:29] ClientTest.cpp:8353: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:29] Done with checking sync report. [DEBUG 00:00:29] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options) [DEBUG 00:00:29] ClientTest.cpp:6465: starting postSync(res, logname) [DEBUG 00:00:29] ClientTest.cpp:6465: ending postSync(res, logname) [DEBUG 00:00:29] ClientTest.cpp:3117: ending doSync(logPrefix, options) [DEBUG 00:00:29] ClientTest.cpp:3132: ending deleteAll() [DEBUG 00:00:29] ClientTest.cpp:3116: starting allSourcesDeleteAll() [DEBUG 00:00:29] ClientTest.cpp:6491: starting source_pair.second->deleteAll(source_pair.second->createSourceA) [DEBUG 00:00:29] ClientTest.cpp:802: starting CPPUNIT_ASSERT(createSource.createSource) [DEBUG 00:00:29] ClientTest.cpp:802: ending CPPUNIT_ASSERT(createSource.createSource) [DEBUG 00:00:29] ClientTest.cpp:807: starting source.reset(createSource()) [DEBUG 00:00:29] instantiating testing source eds_contact in config target-config@client-test-edsdav, with tracking name _2_A [DEBUG 00:00:29] overriding testing source eds_contact properties with the ones from config edsdav_2 = /data/runtests/work/testing-amd64/home/edsdav/config/syncevolution/client-test-edsdav-2/peers/edsdav_2 [DEBUG 00:00:29] sync = two-way (set) [DEBUG 00:00:29] uri = addressbook (set) [DEBUG 00:00:29] backend = Evolution Address Book (set) [DEBUG 00:00:29] syncFormat = (default) [DEBUG 00:00:29] forceSyncFormat = 0 (default) [DEBUG 00:00:29] database = Test_eds_contact_2 (set) [DEBUG 00:00:29] databaseFormat = (default) [DEBUG 00:00:29] databaseUser = (default) [DEBUG 00:00:29] databasePassword = (default) [DEBUG 00:00:29] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:29] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:29] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:29] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:29] ClientTest.cpp:431: starting get()->open() [DEBUG 00:00:30] ClientTest.cpp:431: ending get()->open() [DEBUG 00:00:30] eds_contact: slow sync or testing, do full item scan to detect changes [DEBUG 00:00:30] ClientTest.cpp:807: ending source.reset(createSource()) [DEBUG 00:00:30] ClientTest.cpp:807: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:30] ClientTest.cpp:807: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:30] ClientTest.cpp:810: starting source->removeAllItems() [DEBUG 00:00:30] ClientTest.cpp:810: ending source->removeAllItems() [DEBUG 00:00:30] ClientTest.cpp:810: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:30] ClientTest.cpp:810: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:30] ClientTest.cpp:811: starting source.reset() [DEBUG 00:00:30] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:30] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:30] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:00:30] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:00:30] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:31] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:31] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:00:31] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:00:31] ClientTest.cpp:463: starting get()->close() [DEBUG 00:00:31] ClientTest.cpp:463: ending get()->close() [DEBUG 00:00:31] ClientTest.cpp:811: ending source.reset() [DEBUG 00:00:31] ClientTest.cpp:814: starting source.reset(createSource()) [DEBUG 00:00:31] instantiating testing source eds_contact in config target-config@client-test-edsdav, with tracking name _2_A [DEBUG 00:00:31] overriding testing source eds_contact properties with the ones from config edsdav_2 = /data/runtests/work/testing-amd64/home/edsdav/config/syncevolution/client-test-edsdav-2/peers/edsdav_2 [DEBUG 00:00:31] sync = two-way (set) [DEBUG 00:00:31] uri = addressbook (set) [DEBUG 00:00:31] backend = Evolution Address Book (set) [DEBUG 00:00:31] syncFormat = (default) [DEBUG 00:00:31] forceSyncFormat = 0 (default) [DEBUG 00:00:31] database = Test_eds_contact_2 (set) [DEBUG 00:00:31] databaseFormat = (default) [DEBUG 00:00:31] databaseUser = (default) [DEBUG 00:00:31] databasePassword = (default) [DEBUG 00:00:31] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:31] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:31] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:31] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:31] ClientTest.cpp:431: starting get()->open() [DEBUG 00:00:31] ClientTest.cpp:431: ending get()->open() [DEBUG 00:00:31] eds_contact: using full item scan to detect changes [DEBUG 00:00:31] ClientTest.cpp:814: ending source.reset(createSource()) [DEBUG 00:00:31] ClientTest.cpp:814: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:31] ClientTest.cpp:814: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:31] ClientTest.cpp:818: starting CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0))) [DEBUG 00:00:31] ClientTest.cpp:818: ending CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0))) [DEBUG 00:00:31] ClientTest.cpp:818: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:31] ClientTest.cpp:818: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:31] ClientTest.cpp:819: starting CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:00:31] ClientTest.cpp:819: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:00:31] ClientTest.cpp:820: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:00:31] ClientTest.cpp:820: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:00:31] ClientTest.cpp:821: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:00:31] ClientTest.cpp:821: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:00:31] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:00:31] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:31] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:31] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:00:31] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:00:31] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:31] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:31] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:00:31] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:00:31] ClientTest.cpp:463: starting get()->close() [DEBUG 00:00:31] ClientTest.cpp:463: ending get()->close() [DEBUG 00:00:31] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:00:31] ClientTest.cpp:6491: ending source_pair.second->deleteAll(source_pair.second->createSourceA) [DEBUG 00:00:31] ClientTest.cpp:3116: ending allSourcesDeleteAll() [DEBUG 00:00:31] ClientTest.cpp:3117: starting doSync(logPrefix, options) [DEBUG 00:00:31] 2. starting Client_Sync_eds_contact_testComplexUpdate.deleteall.refreshserver.client.B with sync mode refresh-from-client [DEBUG 00:00:31] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options) [DEBUG 00:00:31] log path -> /data/runtests/work/testing-amd64/home/edsdav/cache/syncevolution, No such file or directory [DEBUG 00:00:31] log path -> Client_Sync_eds_contact_testComplexUpdate.deleteall.refreshserver.client.B, No such file or directory [DEBUG 00:00:31] log path -> Client_Sync_eds_contact_testComplexUpdate.deleteall.refreshserver.client.B, No such file or directory [DEBUG 00:00:31] checking log dir Client_Sync_eds_contact_testComplexUpdate.deleteall.refreshserver.client.B [DEBUG 00:00:31] logfile: Client_Sync_eds_contact_testComplexUpdate.deleteall.refreshserver.client.B/syncevolution-log.html [DEVELOPER 00:00:33] SyncML server account: user01 [DEVELOPER 00:00:33] client: SyncEvolution 1.5.3 for workstation [DEVELOPER 00:00:33] device ID: client-edsdav_2 [DEVELOPER 00:00:33] [DEVELOPER 00:00:33] [INFO 00:00:33] addressbook: inactive [INFO 00:00:33] calendar: inactive [INFO 00:00:33] calendar+todo: inactive [INFO 00:00:33] eas_contact: inactive [INFO 00:00:33] eas_event: inactive [INFO 00:00:33] eas_memo: inactive [INFO 00:00:33] eas_task: inactive [INFO 00:00:33] eds_event: inactive [INFO 00:00:33] eds_memo: inactive [INFO 00:00:33] eds_task: inactive [INFO 00:00:33] file_calendar+todo: inactive [INFO 00:00:33] file_contact: inactive [INFO 00:00:33] file_event: inactive [INFO 00:00:33] file_task: inactive [INFO 00:00:33] kde_contact: inactive [INFO 00:00:33] kde_event: inactive [INFO 00:00:33] kde_memo: inactive [INFO 00:00:33] kde_task: inactive [INFO 00:00:33] memo: inactive [INFO 00:00:33] todo: inactive [DEBUG 00:00:33] checking password property 'password' in config 'edsdav_2@client-test-edsdav-2' with user identity 'user01' [DEBUG 00:00:33] loading password from keyring with key user=user01 server=127.0.0.1:9904/syncevolution [DEBUG 00:00:33] not using KWallet [DEBUG 00:00:33] sync password for edsdav_2@client-test-edsdav-2: loaded password from GNOME keyring using user=user01 server=127.0.0.1:9904/syncevolution [DEBUG 00:00:33] checking password property 'databasePassword' in datastore 'eds_contact' of config 'edsdav_2@client-test-edsdav-2' with user identity '' [DEBUG 00:00:33] sync is starting, catch signals [DEBUG 00:00:33] SuspendFlags: (re)activating, currently inactive [DEBUG 00:00:33] SuspendFlags: activating signal handler(s) with fds 38->37 [DEBUG 00:00:33] SuspendFlags: catch signal 15 [DEBUG 00:00:33] ready to sync [DEBUG 00:00:33] CreateContext SyncEvolution//eds_contact => 0 [DEBUG 00:00:33] Module_Version = 01090100 [DEBUG 00:00:33] Module_Capabilities: [DEBUG 00:00:33] PLATFORM:Linux [DEBUG 00:00:33] DLL:true [DEBUG 00:00:33] MINVERSION:V1.0.6.0 [DEBUG 00:00:33] MANUFACTURER:SyncEvolution [DEBUG 00:00:33] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:00:33] plugin_datastore_str:no [DEBUG 00:00:33] plugin_datastore_key:yes [DEBUG 00:00:33] ITEM_AS_KEY:yes [DEBUG 00:00:33] plugin_datablob:no [DEBUG 00:00:33] eds_contact: Module_PluginParams [DEBUG 00:00:33] eds_contact: Engine=01090100 [DEBUG 00:00:33] eds_contact: [DEBUG 00:00:33] Module_Capabilities: [DEBUG 00:00:33] PLATFORM:Linux [DEBUG 00:00:33] DLL:true [DEBUG 00:00:33] MINVERSION:V1.0.6.0 [DEBUG 00:00:33] MANUFACTURER:SyncEvolution [DEBUG 00:00:33] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:00:33] plugin_datastore_str:no [DEBUG 00:00:33] plugin_datastore_key:yes [DEBUG 00:00:33] ITEM_AS_KEY:yes [DEBUG 00:00:33] plugin_datablob:no [DEBUG 00:00:34] copying syncURL, username, password to Synthesis engine [DEBUG 00:00:34] using plain username/password for user01 [DEBUG 00:00:34] eds_contact: total number of items received 0 [INFO 00:00:50] eds_contact: starting first time sync from client (peer is server) [DEBUG 00:00:50] reading: set read-ahead based on sync mode refresh-from-local [DEBUG 00:00:50] eds_contact: reading: set order 'all', 0 luids [DEBUG 00:00:50] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0 [DEBUG 00:00:50] eds_contact: FilterSupport staticfilter: [DEBUG 00:00:50] eds_contact: dynamicfilter: [DEBUG 00:00:50] eds_contact: invisiblefilter: [DEBUG 00:00:50] eds_contact: ContextSupport ReadNextItem:allfields [DEBUG 00:00:50] eds_contact: [DEBUG 00:00:50] eds_contact: slow sync or testing, do full item scan to detect changes [DEBUG 00:00:50] eds_contact: StartDataRead last='' resume='' res=0 [DEBUG 00:00:50] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0 [DEBUG 00:00:50] eds_contact: EndDataRead res=0 [DEBUG 00:00:50] eds_contact: StartDataWrite [DEBUG 00:00:50] eds_contact: total number of items received 0 [INFO 00:00:51] eds_contact: started [DEBUG 00:00:51] eds_contact: total number of items received 0 [DEBUG 00:00:51] eds_contact: EndDataWrite COMMIT '1' res=0 [DEBUG 00:00:52] eds_contact: DeleteContext [INFO 00:00:52] eds_contact: first time sync done successfully [DEBUG 00:00:52] closing session [DEBUG 00:00:52] session closed [DEBUG 00:00:52] SuspendFlags: deactivating fds 38->37 [DEBUG 00:00:52] SuspendFlags: close m_receiverFD 37 [DEBUG 00:00:52] SuspendFlags: close m_senderFD 38 [DEBUG 00:00:52] SuspendFlags: done with deactivation [DEBUG 00:00:52] Module_DeleteContext eds_contact [INFO 00:00:52] sync report: [INFO 00:00:52] +---------------|-----------------------|-----------------------|-CON-+ [INFO 00:00:52] | | LOCAL | REMOTE | FLI | [INFO 00:00:52] | Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS | [INFO 00:00:52] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:00:52] | eds_contact | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | [INFO 00:00:52] | refresh-from-local, 0 KB sent by client, 0 KB received | [INFO 00:00:52] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:00:52] | start Fri Jan 5 19:15:39 2018, duration 0:21min | [INFO 00:00:52] | synchronization completed successfully | [INFO 00:00:52] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:00:52] ----------|--------CLIENT---------|--------SERVER---------| [INFO 00:00:52] | NEW | MOD | DEL | NEW | MOD | DEL | [INFO 00:00:52] ----------|-----------------------------------------------| [INFO 00:00:52] Expected | 0 | 0 | 0 | 0 | 0 | -1 | [INFO 00:00:52] Expected sync mode: refresh-from-local [INFO 00:00:52] Expected cycles: 1 [INFO 00:00:52] [DEBUG 00:00:52] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:00:52] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:00:52] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:00:52] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:00:52] Checking sync source eds_contact... [DEBUG 00:00:52] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:00:52] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:00:52] ClientTest.cpp:8305: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:00:52] ClientTest.cpp:8305: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:00:52] ClientTest.cpp:8308: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:00:52] ClientTest.cpp:8308: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:00:52] ClientTest.cpp:8319: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "syncMode" + " == " + "source.getFinalSyncMode()",(syncMode),(source.getFinalSyncMode())) [DEBUG 00:00:52] ClientTest.cpp:8319: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "syncMode" + " == " + "source.getFinalSyncMode()",(syncMode),(source.getFinalSyncMode())) [DEBUG 00:00:52] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:00:52] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:00:52] ClientTest.cpp:8328: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:52] ClientTest.cpp:8328: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:52] ClientTest.cpp:8334: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:52] ClientTest.cpp:8334: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:52] ClientTest.cpp:8340: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:52] ClientTest.cpp:8340: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:52] ClientTest.cpp:8347: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:52] ClientTest.cpp:8347: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:52] ClientTest.cpp:8353: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:52] ClientTest.cpp:8353: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:00:52] Done with checking sync report. [DEBUG 00:00:52] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options) [DEBUG 00:00:52] ClientTest.cpp:6465: starting postSync(res, logname) [DEBUG 00:00:52] ClientTest.cpp:6465: ending postSync(res, logname) [DEBUG 00:00:52] ClientTest.cpp:3117: ending doSync(logPrefix, options) [DEBUG 00:00:52] ClientTest.cpp:3138: starting allSourcesInsert() [DEBUG 00:00:52] ClientTest.cpp:6476: starting source_pair.second->doInsert(withUID) [DEBUG 00:00:52] ClientTest.cpp:1178: starting CPPUNIT_ASSERT(!config.m_insertItem.empty()) [DEBUG 00:00:52] ClientTest.cpp:1178: ending CPPUNIT_ASSERT(!config.m_insertItem.empty()) [DEBUG 00:00:52] ClientTest.cpp:1179: starting CPPUNIT_ASSERT(!config.m_createSourceA.empty()) [DEBUG 00:00:52] ClientTest.cpp:1179: ending CPPUNIT_ASSERT(!config.m_createSourceA.empty()) [DEBUG 00:00:52] ClientTest.cpp:1185: starting insert(createSourceA, item) [DEBUG 00:00:52] ClientTest.cpp:669: starting source.reset(createSource()) [DEBUG 00:00:52] instantiating testing source eds_contact in config target-config@client-test-edsdav, with tracking name _1_A [DEBUG 00:00:52] overriding testing source eds_contact properties with the ones from config edsdav_1 = /data/runtests/work/testing-amd64/home/edsdav/config/syncevolution/client-test-edsdav-1/peers/edsdav_1 [DEBUG 00:00:52] sync = two-way (set) [DEBUG 00:00:52] uri = addressbook (set) [DEBUG 00:00:52] backend = Evolution Address Book (set) [DEBUG 00:00:52] syncFormat = (default) [DEBUG 00:00:52] forceSyncFormat = 0 (default) [DEBUG 00:00:52] database = Test_eds_contact_1 (set) [DEBUG 00:00:52] databaseFormat = (default) [DEBUG 00:00:52] databaseUser = (default) [DEBUG 00:00:52] databasePassword = (default) [DEBUG 00:00:52] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:52] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:52] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:52] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:52] ClientTest.cpp:431: starting get()->open() [DEBUG 00:00:52] ClientTest.cpp:431: ending get()->open() [DEBUG 00:00:52] eds_contact: using full item scan to detect changes [DEBUG 00:00:52] ClientTest.cpp:669: ending source.reset(createSource()) [DEBUG 00:00:52] ClientTest.cpp:669: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:52] ClientTest.cpp:669: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:52] ClientTest.cpp:673: starting numItems = countItems(source.get()) [DEBUG 00:00:52] ClientTest.cpp:673: ending numItems = countItems(source.get()) [DEBUG 00:00:52] ClientTest.cpp:679: starting res = source->insertItemRaw("", mangled) [DEBUG 00:00:52] eds_contact: add operation #0: queueing for batched add [DEBUG 00:00:52] eds_contact: batch add of 1 contacts starting [DEBUG 00:00:52] eds_contact: waiting for 1 pending operations to complete [DEBUG 00:00:52] eds_contact: batch add of 1 contacts completed [DEBUG 00:00:52] eds_contact: add operation #0: completed: <<successfully>> [DEBUG 00:00:52] eds_contact: pending operations completed [DEBUG 00:00:52] eds_contact: add operation #0: checking operation: inserted [DEBUG 00:00:52] ClientTest.cpp:679: ending res = source->insertItemRaw("", mangled) [DEBUG 00:00:52] ClientTest.cpp:679: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:52] ClientTest.cpp:679: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:52] ClientTest.cpp:680: starting CPPUNIT_ASSERT(!res.m_luid.empty()) [DEBUG 00:00:52] ClientTest.cpp:680: ending CPPUNIT_ASSERT(!res.m_luid.empty()) [DEBUG 00:00:52] ClientTest.cpp:693: starting source.reset() [DEBUG 00:00:52] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:52] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:52] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:00:52] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:00:52] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:53] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:53] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:00:53] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:00:53] ClientTest.cpp:463: starting get()->close() [DEBUG 00:00:53] ClientTest.cpp:463: ending get()->close() [DEBUG 00:00:53] ClientTest.cpp:693: ending source.reset() [DEBUG 00:00:53] ClientTest.cpp:699: starting source.reset(createSource()) [DEBUG 00:00:53] instantiating testing source eds_contact in config target-config@client-test-edsdav, with tracking name _1_A [DEBUG 00:00:53] overriding testing source eds_contact properties with the ones from config edsdav_1 = /data/runtests/work/testing-amd64/home/edsdav/config/syncevolution/client-test-edsdav-1/peers/edsdav_1 [DEBUG 00:00:53] sync = two-way (set) [DEBUG 00:00:53] uri = addressbook (set) [DEBUG 00:00:53] backend = Evolution Address Book (set) [DEBUG 00:00:53] syncFormat = (default) [DEBUG 00:00:53] forceSyncFormat = 0 (default) [DEBUG 00:00:53] database = Test_eds_contact_1 (set) [DEBUG 00:00:53] databaseFormat = (default) [DEBUG 00:00:53] databaseUser = (default) [DEBUG 00:00:53] databasePassword = (default) [DEBUG 00:00:53] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:53] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:53] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:53] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:53] ClientTest.cpp:431: starting get()->open() [DEBUG 00:00:53] ClientTest.cpp:431: ending get()->open() [DEBUG 00:00:53] eds_contact: using full item scan to detect changes [DEBUG 00:00:53] ClientTest.cpp:699: ending source.reset(createSource()) [DEBUG 00:00:53] ClientTest.cpp:699: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:53] ClientTest.cpp:699: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:53] ClientTest.cpp:701: starting CPPUNIT_ASSERT_EQUAL((numItems + ((res.m_state == ITEM_REPLACED || res.m_state == ITEM_MERGED || updated) ? 0 : 1)),(countItems(source.get()))) [DEBUG 00:00:53] ClientTest.cpp:701: ending CPPUNIT_ASSERT_EQUAL((numItems + ((res.m_state == ITEM_REPLACED || res.m_state == ITEM_MERGED || updated) ? 0 : 1)),(countItems(source.get()))) [DEBUG 00:00:53] ClientTest.cpp:702: starting CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:00:53] ClientTest.cpp:702: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:00:53] ClientTest.cpp:703: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:00:53] ClientTest.cpp:703: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:00:53] ClientTest.cpp:704: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:00:53] ClientTest.cpp:704: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:00:53] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:00:53] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:53] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:53] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:00:53] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:00:53] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:53] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:53] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:00:53] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:00:53] ClientTest.cpp:463: starting get()->close() [DEBUG 00:00:53] ClientTest.cpp:463: ending get()->close() [DEBUG 00:00:53] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:00:53] ClientTest.cpp:1185: ending insert(createSourceA, item) [DEBUG 00:00:53] ClientTest.cpp:6476: ending source_pair.second->doInsert(withUID) [DEBUG 00:00:53] ClientTest.cpp:3138: ending allSourcesInsert() [DEBUG 00:00:53] ClientTest.cpp:3139: starting doSync(logPrefix, options) [DEBUG 00:00:53] 3. starting Client_Sync_eds_contact_testComplexUpdate.copy.send.client.A with sync mode two-way [DEBUG 00:00:53] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options) [DEBUG 00:00:53] log path -> /data/runtests/work/testing-amd64/home/edsdav/cache/syncevolution, No such file or directory [DEBUG 00:00:53] log path -> Client_Sync_eds_contact_testComplexUpdate.copy.send.client.A, No such file or directory [DEBUG 00:00:53] log path -> Client_Sync_eds_contact_testComplexUpdate.copy.send.client.A, No such file or directory [DEBUG 00:00:53] checking log dir Client_Sync_eds_contact_testComplexUpdate.copy.send.client.A [DEBUG 00:00:53] logfile: Client_Sync_eds_contact_testComplexUpdate.copy.send.client.A/syncevolution-log.html [DEVELOPER 00:00:55] SyncML server account: user01 [DEVELOPER 00:00:55] client: SyncEvolution 1.5.3 for workstation [DEVELOPER 00:00:55] device ID: client-edsdav_1 [DEVELOPER 00:00:55] [DEVELOPER 00:00:55] [INFO 00:00:55] addressbook: inactive [INFO 00:00:55] calendar: inactive [INFO 00:00:55] calendar+todo: inactive [INFO 00:00:55] eas_contact: inactive [INFO 00:00:55] eas_event: inactive [INFO 00:00:55] eas_memo: inactive [INFO 00:00:55] eas_task: inactive [INFO 00:00:55] eds_event: inactive [INFO 00:00:55] eds_memo: inactive [INFO 00:00:55] eds_task: inactive [INFO 00:00:55] file_calendar+todo: inactive [INFO 00:00:55] file_contact: inactive [INFO 00:00:55] file_event: inactive [INFO 00:00:55] file_task: inactive [INFO 00:00:55] kde_contact: inactive [INFO 00:00:55] kde_event: inactive [INFO 00:00:55] kde_memo: inactive [INFO 00:00:55] kde_task: inactive [INFO 00:00:55] memo: inactive [INFO 00:00:55] todo: inactive [DEBUG 00:00:55] checking password property 'password' in config 'edsdav_1@client-test-edsdav-1' with user identity 'user01' [DEBUG 00:00:55] loading password from keyring with key user=user01 server=127.0.0.1:9904/syncevolution [DEBUG 00:00:55] not using KWallet [DEBUG 00:00:55] sync password for edsdav_1@client-test-edsdav-1: loaded password from GNOME keyring using user=user01 server=127.0.0.1:9904/syncevolution [DEBUG 00:00:55] checking password property 'databasePassword' in datastore 'eds_contact' of config 'edsdav_1@client-test-edsdav-1' with user identity '' [DEBUG 00:00:56] sync is starting, catch signals [DEBUG 00:00:56] SuspendFlags: (re)activating, currently inactive [DEBUG 00:00:56] SuspendFlags: activating signal handler(s) with fds 38->37 [DEBUG 00:00:56] SuspendFlags: catch signal 15 [DEBUG 00:00:56] ready to sync [DEBUG 00:00:56] CreateContext SyncEvolution//eds_contact => 0 [DEBUG 00:00:56] Module_Version = 01090100 [DEBUG 00:00:56] Module_Capabilities: [DEBUG 00:00:56] PLATFORM:Linux [DEBUG 00:00:56] DLL:true [DEBUG 00:00:56] MINVERSION:V1.0.6.0 [DEBUG 00:00:56] MANUFACTURER:SyncEvolution [DEBUG 00:00:56] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:00:56] plugin_datastore_str:no [DEBUG 00:00:56] plugin_datastore_key:yes [DEBUG 00:00:56] ITEM_AS_KEY:yes [DEBUG 00:00:56] plugin_datablob:no [DEBUG 00:00:56] eds_contact: Module_PluginParams [DEBUG 00:00:56] eds_contact: Engine=01090100 [DEBUG 00:00:56] eds_contact: [DEBUG 00:00:56] Module_Capabilities: [DEBUG 00:00:56] PLATFORM:Linux [DEBUG 00:00:56] DLL:true [DEBUG 00:00:56] MINVERSION:V1.0.6.0 [DEBUG 00:00:56] MANUFACTURER:SyncEvolution [DEBUG 00:00:56] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:00:56] plugin_datastore_str:no [DEBUG 00:00:56] plugin_datastore_key:yes [DEBUG 00:00:56] ITEM_AS_KEY:yes [DEBUG 00:00:56] plugin_datablob:no [DEBUG 00:00:56] copying syncURL, username, password to Synthesis engine [DEBUG 00:00:56] using plain username/password for user01 [DEBUG 00:00:56] eds_contact: total number of items received 0 [INFO 00:01:12] eds_contact: starting normal sync, two-way (peer is server) [DEBUG 00:01:12] reading: set read-ahead based on sync mode two-way [DEBUG 00:01:12] eds_contact: reading: set order 'changed', 0 luids [DEBUG 00:01:12] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0 [DEBUG 00:01:12] eds_contact: FilterSupport staticfilter: [DEBUG 00:01:12] eds_contact: dynamicfilter: [DEBUG 00:01:12] eds_contact: invisiblefilter: [DEBUG 00:01:12] eds_contact: using full item scan to detect changes [DEBUG 00:01:12] eds_contact: StartDataRead last='1' resume='1' res=0 [DEBUG 00:01:12] eds_contact: ReadNextItemAsKey aStatus=1 aID=(pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c,(null)) res=0 [DEBUG 00:01:12] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0 [DEBUG 00:01:12] eds_contact: EndDataRead res=0 [DEBUG 00:01:12] eds_contact: reading: getting contact pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c [DEBUG 00:01:12] eds_contact: reading: must read contact pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c [DEBUG 00:01:12] eds_contact: reading: started contact read pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c-pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c (1) [DEBUG 00:01:12] eds_contact: reading: active cache pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c-pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c (1) [DEBUG 00:01:12] eds_contact: reading: in running cache [DEBUG 00:01:12] eds_contact: reading: contact read pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c-pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c (1) finished: <<successful>> [DEBUG 00:01:12] eds_contact: reading: contact read pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c-pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c (1) got pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c [DEBUG 00:01:12] eds_contact: reading: in cache, available [DEBUG 00:01:12] eds_contact: reading: continue after contact pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c [DEBUG 00:01:12] eds_contact: reading: read pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c: <<okay>> [DEBUG 00:01:12] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1 [DEBUG 00:01:12] eds_contact: ReadItemAsKey aID=(pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c,) res=0 [DEBUG 00:01:12] eds_contact: StartDataWrite [DEBUG 00:01:13] eds_contact: total number of items received 0 [INFO 00:01:13] eds_contact: sent 1/1 [INFO 00:01:15] eds_contact: started [DEBUG 00:01:15] eds_contact: total number of items received 0 [DEBUG 00:01:16] eds_contact: EndDataWrite COMMIT '1' res=0 [DEBUG 00:01:16] eds_contact: DeleteContext [INFO 00:01:16] eds_contact: normal sync done successfully [DEBUG 00:01:16] closing session [DEBUG 00:01:16] session closed [DEBUG 00:01:16] SuspendFlags: deactivating fds 38->37 [DEBUG 00:01:16] SuspendFlags: close m_receiverFD 37 [DEBUG 00:01:16] SuspendFlags: close m_senderFD 38 [DEBUG 00:01:16] SuspendFlags: done with deactivation [DEBUG 00:01:16] Module_DeleteContext eds_contact [INFO 00:01:16] sync report: [INFO 00:01:16] +---------------|-----------------------|-----------------------|-CON-+ [INFO 00:01:16] | | LOCAL | REMOTE | FLI | [INFO 00:01:16] | Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS | [INFO 00:01:16] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:01:16] | eds_contact | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | [INFO 00:01:16] | two-way, 0 KB sent by client, 0 KB received | [INFO 00:01:16] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:01:16] | start Fri Jan 5 19:16:01 2018, duration 0:23min | [INFO 00:01:16] | synchronization completed successfully | [INFO 00:01:16] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:01:16] ----------|--------CLIENT---------|--------SERVER---------| [INFO 00:01:16] | NEW | MOD | DEL | NEW | MOD | DEL | [INFO 00:01:16] ----------|-----------------------------------------------| [INFO 00:01:16] Expected | 0 | 0 | 0 | 1 | 0 | 0 | [INFO 00:01:16] Expected sync mode: two-way [INFO 00:01:16] Expected cycles: 1 [INFO 00:01:16] [DEBUG 00:01:16] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:01:16] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:01:16] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:01:16] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:01:16] Checking sync source eds_contact... [DEBUG 00:01:16] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:01:16] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:01:16] ClientTest.cpp:8305: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:01:16] ClientTest.cpp:8305: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:01:16] ClientTest.cpp:8308: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:01:16] ClientTest.cpp:8308: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:01:16] ClientTest.cpp:8319: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "syncMode" + " == " + "source.getFinalSyncMode()",(syncMode),(source.getFinalSyncMode())) [DEBUG 00:01:16] ClientTest.cpp:8319: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "syncMode" + " == " + "source.getFinalSyncMode()",(syncMode),(source.getFinalSyncMode())) [DEBUG 00:01:16] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:01:16] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:01:16] ClientTest.cpp:8328: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:16] ClientTest.cpp:8328: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:16] ClientTest.cpp:8334: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:16] ClientTest.cpp:8334: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:16] ClientTest.cpp:8340: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:16] ClientTest.cpp:8340: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:16] ClientTest.cpp:8347: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:16] ClientTest.cpp:8347: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:16] ClientTest.cpp:8353: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:16] ClientTest.cpp:8353: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:16] ClientTest.cpp:8359: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(serverDeleted),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:16] ClientTest.cpp:8359: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(serverDeleted),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:16] Done with checking sync report. [DEBUG 00:01:16] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options) [DEBUG 00:01:16] ClientTest.cpp:6465: starting postSync(res, logname) [DEBUG 00:01:16] ClientTest.cpp:6465: ending postSync(res, logname) [DEBUG 00:01:16] ClientTest.cpp:3139: ending doSync(logPrefix, options) [DEBUG 00:01:16] ClientTest.cpp:3145: starting doSync(logPrefix, options) [DEBUG 00:01:16] 4. starting Client_Sync_eds_contact_testComplexUpdate.recv.client.B with sync mode two-way [DEBUG 00:01:16] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options) [DEBUG 00:01:16] log path -> /data/runtests/work/testing-amd64/home/edsdav/cache/syncevolution, No such file or directory [DEBUG 00:01:16] log path -> Client_Sync_eds_contact_testComplexUpdate.recv.client.B, No such file or directory [DEBUG 00:01:16] log path -> Client_Sync_eds_contact_testComplexUpdate.recv.client.B, No such file or directory [DEBUG 00:01:16] checking log dir Client_Sync_eds_contact_testComplexUpdate.recv.client.B [DEBUG 00:01:16] logfile: Client_Sync_eds_contact_testComplexUpdate.recv.client.B/syncevolution-log.html [DEVELOPER 00:01:18] SyncML server account: user01 [DEVELOPER 00:01:18] client: SyncEvolution 1.5.3 for workstation [DEVELOPER 00:01:18] device ID: client-edsdav_2 [DEVELOPER 00:01:18] [DEVELOPER 00:01:18] [INFO 00:01:18] addressbook: inactive [INFO 00:01:18] calendar: inactive [INFO 00:01:18] calendar+todo: inactive [INFO 00:01:18] eas_contact: inactive [INFO 00:01:18] eas_event: inactive [INFO 00:01:18] eas_memo: inactive [INFO 00:01:18] eas_task: inactive [INFO 00:01:18] eds_event: inactive [INFO 00:01:18] eds_memo: inactive [INFO 00:01:18] eds_task: inactive [INFO 00:01:18] file_calendar+todo: inactive [INFO 00:01:18] file_contact: inactive [INFO 00:01:18] file_event: inactive [INFO 00:01:18] file_task: inactive [INFO 00:01:18] kde_contact: inactive [INFO 00:01:18] kde_event: inactive [INFO 00:01:18] kde_memo: inactive [INFO 00:01:18] kde_task: inactive [INFO 00:01:18] memo: inactive [INFO 00:01:18] todo: inactive [DEBUG 00:01:18] checking password property 'password' in config 'edsdav_2@client-test-edsdav-2' with user identity 'user01' [DEBUG 00:01:18] loading password from keyring with key user=user01 server=127.0.0.1:9904/syncevolution [DEBUG 00:01:18] not using KWallet [DEBUG 00:01:18] sync password for edsdav_2@client-test-edsdav-2: loaded password from GNOME keyring using user=user01 server=127.0.0.1:9904/syncevolution [DEBUG 00:01:18] checking password property 'databasePassword' in datastore 'eds_contact' of config 'edsdav_2@client-test-edsdav-2' with user identity '' [DEBUG 00:01:18] sync is starting, catch signals [DEBUG 00:01:18] SuspendFlags: (re)activating, currently inactive [DEBUG 00:01:18] SuspendFlags: activating signal handler(s) with fds 38->37 [DEBUG 00:01:18] SuspendFlags: catch signal 15 [DEBUG 00:01:18] ready to sync [DEBUG 00:01:19] CreateContext SyncEvolution//eds_contact => 0 [DEBUG 00:01:19] Module_Version = 01090100 [DEBUG 00:01:19] Module_Capabilities: [DEBUG 00:01:19] PLATFORM:Linux [DEBUG 00:01:19] DLL:true [DEBUG 00:01:19] MINVERSION:V1.0.6.0 [DEBUG 00:01:19] MANUFACTURER:SyncEvolution [DEBUG 00:01:19] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:01:19] plugin_datastore_str:no [DEBUG 00:01:19] plugin_datastore_key:yes [DEBUG 00:01:19] ITEM_AS_KEY:yes [DEBUG 00:01:19] plugin_datablob:no [DEBUG 00:01:19] eds_contact: Module_PluginParams [DEBUG 00:01:19] eds_contact: Engine=01090100 [DEBUG 00:01:19] eds_contact: [DEBUG 00:01:19] Module_Capabilities: [DEBUG 00:01:19] PLATFORM:Linux [DEBUG 00:01:19] DLL:true [DEBUG 00:01:19] MINVERSION:V1.0.6.0 [DEBUG 00:01:19] MANUFACTURER:SyncEvolution [DEBUG 00:01:19] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:01:19] plugin_datastore_str:no [DEBUG 00:01:19] plugin_datastore_key:yes [DEBUG 00:01:19] ITEM_AS_KEY:yes [DEBUG 00:01:19] plugin_datablob:no [DEBUG 00:01:19] copying syncURL, username, password to Synthesis engine [DEBUG 00:01:19] using plain username/password for user01 [DEBUG 00:01:19] eds_contact: total number of items received 0 [INFO 00:01:35] eds_contact: starting normal sync, two-way (peer is server) [DEBUG 00:01:35] reading: set read-ahead based on sync mode two-way [DEBUG 00:01:35] eds_contact: reading: set order 'changed', 0 luids [DEBUG 00:01:35] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0 [DEBUG 00:01:35] eds_contact: FilterSupport staticfilter: [DEBUG 00:01:35] eds_contact: dynamicfilter: [DEBUG 00:01:35] eds_contact: invisiblefilter: [DEBUG 00:01:35] eds_contact: using full item scan to detect changes [DEBUG 00:01:35] eds_contact: StartDataRead last='1' resume='1' res=0 [DEBUG 00:01:35] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0 [DEBUG 00:01:35] eds_contact: EndDataRead res=0 [DEBUG 00:01:35] eds_contact: StartDataWrite [DEBUG 00:01:35] eds_contact: total number of items received 0 [INFO 00:01:36] eds_contact: started [INFO 00:01:37] eds_contact: adding "John Doe" [DEBUG 00:01:37] eds_contact: add operation #0: queueing for batched add [DEBUG 00:01:37] eds_contact: InsertItemAsKey res=1 [DEBUG 00:01:37] eds_contact: batch add of 1 contacts starting [DEBUG 00:01:37] eds_contact: waiting for 1 pending operations to complete [DEBUG 00:01:37] eds_contact: batch add of 1 contacts completed [DEBUG 00:01:37] eds_contact: add operation #0: completed: <<successfully>> [DEBUG 00:01:37] eds_contact: pending operations completed [DEBUG 00:01:37] eds_contact: add operation #0: checking operation: inserted [DEBUG 00:01:37] eds_contact: InsertItemAsKey res=0 [DEBUG 00:01:38] eds_contact: EndDataWrite COMMIT '1' res=0 [DEBUG 00:01:38] eds_contact: total number of items received 0 [INFO 00:01:38] eds_contact: received 2/1 [DEBUG 00:01:38] eds_contact: DeleteContext [INFO 00:01:38] eds_contact: normal sync done successfully [DEBUG 00:01:38] closing session [DEBUG 00:01:38] session closed [DEBUG 00:01:38] SuspendFlags: deactivating fds 38->37 [DEBUG 00:01:38] SuspendFlags: close m_receiverFD 37 [DEBUG 00:01:38] SuspendFlags: close m_senderFD 38 [DEBUG 00:01:38] SuspendFlags: done with deactivation [DEBUG 00:01:38] Module_DeleteContext eds_contact [INFO 00:01:38] sync report: [INFO 00:01:38] +---------------|-----------------------|-----------------------|-CON-+ [INFO 00:01:38] | | LOCAL | REMOTE | FLI | [INFO 00:01:38] | Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS | [INFO 00:01:38] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:01:38] | eds_contact | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | [INFO 00:01:38] | two-way, 0 KB sent by client, 0 KB received | [INFO 00:01:38] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:01:38] | start Fri Jan 5 19:16:24 2018, duration 0:22min | [INFO 00:01:38] | synchronization completed successfully | [INFO 00:01:38] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:01:38] ----------|--------CLIENT---------|--------SERVER---------| [INFO 00:01:38] | NEW | MOD | DEL | NEW | MOD | DEL | [INFO 00:01:38] ----------|-----------------------------------------------| [INFO 00:01:38] Expected | 1 | 0 | 0 | 0 | 0 | 0 | [INFO 00:01:38] Expected sync mode: two-way [INFO 00:01:38] Expected cycles: 1 [INFO 00:01:38] [DEBUG 00:01:38] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:01:38] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:01:38] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:01:38] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:01:38] Checking sync source eds_contact... [DEBUG 00:01:38] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:01:38] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:01:38] ClientTest.cpp:8305: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:01:38] ClientTest.cpp:8305: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:01:38] ClientTest.cpp:8308: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:01:38] ClientTest.cpp:8308: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:01:38] ClientTest.cpp:8319: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "syncMode" + " == " + "source.getFinalSyncMode()",(syncMode),(source.getFinalSyncMode())) [DEBUG 00:01:38] ClientTest.cpp:8319: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "syncMode" + " == " + "source.getFinalSyncMode()",(syncMode),(source.getFinalSyncMode())) [DEBUG 00:01:38] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:01:38] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:01:38] ClientTest.cpp:8328: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:38] ClientTest.cpp:8328: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:38] ClientTest.cpp:8334: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:38] ClientTest.cpp:8334: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:38] ClientTest.cpp:8340: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:38] ClientTest.cpp:8340: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:38] ClientTest.cpp:8347: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:38] ClientTest.cpp:8347: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:38] ClientTest.cpp:8353: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:38] ClientTest.cpp:8353: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:38] ClientTest.cpp:8359: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(serverDeleted),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:38] ClientTest.cpp:8359: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(serverDeleted),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:01:38] Done with checking sync report. [DEBUG 00:01:38] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options) [DEBUG 00:01:38] ClientTest.cpp:6465: starting postSync(res, logname) [DEBUG 00:01:38] ClientTest.cpp:6465: ending postSync(res, logname) [DEBUG 00:01:38] ClientTest.cpp:3145: ending doSync(logPrefix, options) [DEBUG 00:01:38] ClientTest.cpp:3150: starting compareDatabases() [DEBUG 00:01:38] ClientTest.cpp:3065: starting CPPUNIT_ASSERT(accessClientB) [DEBUG 00:01:38] ClientTest.cpp:3065: ending CPPUNIT_ASSERT(accessClientB) [DEBUG 00:01:38] ClientTest.cpp:3070: starting copy.reset(it2->second->createSourceB()) [DEBUG 00:01:38] instantiating testing source eds_contact in config target-config@client-test-edsdav, with tracking name _2_B [DEBUG 00:01:38] overriding testing source eds_contact properties with the ones from config edsdav_2 = /data/runtests/work/testing-amd64/home/edsdav/config/syncevolution/client-test-edsdav-2/peers/edsdav_2 [DEBUG 00:01:38] sync = two-way (set) [DEBUG 00:01:38] uri = addressbook (set) [DEBUG 00:01:38] backend = Evolution Address Book (set) [DEBUG 00:01:38] syncFormat = (default) [DEBUG 00:01:38] forceSyncFormat = 0 (default) [DEBUG 00:01:38] database = Test_eds_contact_2 (set) [DEBUG 00:01:38] databaseFormat = (default) [DEBUG 00:01:38] databaseUser = (default) [DEBUG 00:01:38] databasePassword = (default) [DEBUG 00:01:38] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:38] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:38] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:38] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:38] ClientTest.cpp:431: starting get()->open() [DEBUG 00:01:38] ClientTest.cpp:431: ending get()->open() [DEBUG 00:01:38] eds_contact: slow sync or testing, do full item scan to detect changes [DEBUG 00:01:38] ClientTest.cpp:3070: ending copy.reset(it2->second->createSourceB()) [DEBUG 00:01:38] ClientTest.cpp:3070: starting CPPUNIT_ASSERT((copy.get())) [DEBUG 00:01:38] ClientTest.cpp:3070: ending CPPUNIT_ASSERT((copy.get())) [DEBUG 00:01:38] ClientTest.cpp:846: starting CPPUNIT_ASSERT(config.m_dump) [DEBUG 00:01:38] ClientTest.cpp:846: ending CPPUNIT_ASSERT(config.m_dump) [DEBUG 00:01:38] ClientTest.cpp:856: starting source.reset(createSourceA()) [DEBUG 00:01:38] instantiating testing source eds_contact in config target-config@client-test-edsdav, with tracking name _1_A [DEBUG 00:01:38] overriding testing source eds_contact properties with the ones from config edsdav_1 = /data/runtests/work/testing-amd64/home/edsdav/config/syncevolution/client-test-edsdav-1/peers/edsdav_1 [DEBUG 00:01:38] sync = two-way (set) [DEBUG 00:01:38] uri = addressbook (set) [DEBUG 00:01:38] backend = Evolution Address Book (set) [DEBUG 00:01:38] syncFormat = (default) [DEBUG 00:01:38] forceSyncFormat = 0 (default) [DEBUG 00:01:38] database = Test_eds_contact_1 (set) [DEBUG 00:01:38] databaseFormat = (default) [DEBUG 00:01:38] databaseUser = (default) [DEBUG 00:01:38] databasePassword = (default) [DEBUG 00:01:38] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:38] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:38] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:38] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:38] ClientTest.cpp:431: starting get()->open() [DEBUG 00:01:39] ClientTest.cpp:431: ending get()->open() [DEBUG 00:01:39] eds_contact: using full item scan to detect changes [DEBUG 00:01:39] ClientTest.cpp:856: ending source.reset(createSourceA()) [DEBUG 00:01:39] ClientTest.cpp:856: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:39] ClientTest.cpp:856: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:39] ClientTest.cpp:857: starting CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, *source.get(), sourceFile))) [DEBUG 00:01:39] ClientTest.cpp:6698: starting CPPUNIT_ASSERT(source.getOperations().m_backupData) [DEBUG 00:01:39] ClientTest.cpp:6698: ending CPPUNIT_ASSERT(source.getOperations().m_backupData) [DEBUG 00:01:39] eds_contact: reading: set order 'selected', 1 luids [DEBUG 00:01:39] eds_contact: reading: getting contact pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c [DEBUG 00:01:39] eds_contact: reading: must read contact pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c [DEBUG 00:01:39] eds_contact: reading: started contact read pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c-pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c (1) [DEBUG 00:01:39] eds_contact: reading: active cache pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c-pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c (1) [DEBUG 00:01:39] eds_contact: reading: in running cache [DEBUG 00:01:39] eds_contact: reading: contact read pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c-pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c (1) finished: <<successful>> [DEBUG 00:01:39] eds_contact: reading: contact read pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c-pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c (1) got pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c [DEBUG 00:01:39] eds_contact: reading: in cache, available [DEBUG 00:01:39] eds_contact: reading: continue after contact pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c [DEBUG 00:01:39] eds_contact: reading: read pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c: <<okay>> [DEBUG 00:01:39] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1 [DEBUG 00:01:39] eds_contact: reading: set order 'none', 0 luids [DEBUG 00:01:39] ClientTest.cpp:857: ending CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, *source.get(), sourceFile))) [DEBUG 00:01:39] ClientTest.cpp:857: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:39] ClientTest.cpp:857: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:39] ClientTest.cpp:858: starting source.reset() [DEBUG 00:01:39] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:39] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:39] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:01:39] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:01:39] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:39] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:39] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:01:39] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:01:39] ClientTest.cpp:463: starting get()->close() [DEBUG 00:01:39] ClientTest.cpp:463: ending get()->close() [DEBUG 00:01:39] ClientTest.cpp:858: ending source.reset() [DEBUG 00:01:39] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:01:39] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:01:39] ClientTest.cpp:863: starting CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, copy, copyFile))) [DEBUG 00:01:39] ClientTest.cpp:6698: starting CPPUNIT_ASSERT(source.getOperations().m_backupData) [DEBUG 00:01:39] ClientTest.cpp:6698: ending CPPUNIT_ASSERT(source.getOperations().m_backupData) [DEBUG 00:01:39] eds_contact: reading: set order 'selected', 1 luids [DEBUG 00:01:39] eds_contact: reading: getting contact pas-id-fd4d1f825ea075f8734b936a083de6847b14135a [DEBUG 00:01:39] eds_contact: reading: must read contact pas-id-fd4d1f825ea075f8734b936a083de6847b14135a [DEBUG 00:01:39] eds_contact: reading: started contact read pas-id-fd4d1f825ea075f8734b936a083de6847b14135a-pas-id-fd4d1f825ea075f8734b936a083de6847b14135a (1) [DEBUG 00:01:39] eds_contact: reading: active cache pas-id-fd4d1f825ea075f8734b936a083de6847b14135a-pas-id-fd4d1f825ea075f8734b936a083de6847b14135a (1) [DEBUG 00:01:39] eds_contact: reading: in running cache [DEBUG 00:01:39] eds_contact: reading: contact read pas-id-fd4d1f825ea075f8734b936a083de6847b14135a-pas-id-fd4d1f825ea075f8734b936a083de6847b14135a (1) finished: <<successful>> [DEBUG 00:01:39] eds_contact: reading: contact read pas-id-fd4d1f825ea075f8734b936a083de6847b14135a-pas-id-fd4d1f825ea075f8734b936a083de6847b14135a (1) got pas-id-fd4d1f825ea075f8734b936a083de6847b14135a [DEBUG 00:01:39] eds_contact: reading: in cache, available [DEBUG 00:01:39] eds_contact: reading: continue after contact pas-id-fd4d1f825ea075f8734b936a083de6847b14135a [DEBUG 00:01:39] eds_contact: reading: read pas-id-fd4d1f825ea075f8734b936a083de6847b14135a: <<okay>> [DEBUG 00:01:39] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1 [DEBUG 00:01:39] eds_contact: reading: set order 'none', 0 luids [DEBUG 00:01:39] ClientTest.cpp:863: ending CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, copy, copyFile))) [DEBUG 00:01:39] ClientTest.cpp:871: starting equal = config.m_compare(client, refFile.c_str(), actualFile.c_str()) [DEBUG 00:01:39] ClientTest.cpp:871: ending equal = config.m_compare(client, refFile.c_str(), actualFile.c_str()) [DEBUG 00:01:39] ClientTest.cpp:872: starting CPPUNIT_ASSERT(!raiseAssert || equal) [DEBUG 00:01:39] ClientTest.cpp:872: ending CPPUNIT_ASSERT(!raiseAssert || equal) [DEBUG 00:01:39] ClientTest.cpp:3084: starting copy.reset() [DEBUG 00:01:39] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:39] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:39] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:01:39] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:01:39] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:39] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:39] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:01:39] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:01:39] ClientTest.cpp:463: starting get()->close() [DEBUG 00:01:39] ClientTest.cpp:463: ending get()->close() [DEBUG 00:01:39] ClientTest.cpp:3084: ending copy.reset() [DEBUG 00:01:39] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:01:39] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:01:39] ClientTest.cpp:3086: starting CPPUNIT_ASSERT(it1 == sources.end()) [DEBUG 00:01:39] ClientTest.cpp:3086: ending CPPUNIT_ASSERT(it1 == sources.end()) [DEBUG 00:01:39] ClientTest.cpp:3087: starting CPPUNIT_ASSERT(it2 == accessClientB->sources.end()) [DEBUG 00:01:39] ClientTest.cpp:3087: ending CPPUNIT_ASSERT(it2 == accessClientB->sources.end()) [DEBUG 00:01:39] ClientTest.cpp:3089: starting CPPUNIT_ASSERT(!raiseAssert || equal) [DEBUG 00:01:39] ClientTest.cpp:3089: ending CPPUNIT_ASSERT(!raiseAssert || equal) [DEBUG 00:01:39] ClientTest.cpp:3150: ending compareDatabases() [DEBUG 00:01:39] ClientTest.cpp:3852: ending doCopy() [DEBUG 00:01:39] ClientTest.cpp:748: starting CPPUNIT_ASSERT(createSource.createSource) [DEBUG 00:01:39] ClientTest.cpp:748: ending CPPUNIT_ASSERT(createSource.createSource) [DEBUG 00:01:39] ClientTest.cpp:754: starting source.reset(createSource()) [DEBUG 00:01:39] instantiating testing source eds_contact in config target-config@client-test-edsdav, with tracking name _1_A [DEBUG 00:01:39] overriding testing source eds_contact properties with the ones from config edsdav_1 = /data/runtests/work/testing-amd64/home/edsdav/config/syncevolution/client-test-edsdav-1/peers/edsdav_1 [DEBUG 00:01:39] sync = two-way (set) [DEBUG 00:01:39] uri = addressbook (set) [DEBUG 00:01:39] backend = Evolution Address Book (set) [DEBUG 00:01:39] syncFormat = (default) [DEBUG 00:01:39] forceSyncFormat = 0 (default) [DEBUG 00:01:39] database = Test_eds_contact_1 (set) [DEBUG 00:01:39] databaseFormat = (default) [DEBUG 00:01:39] databaseUser = (default) [DEBUG 00:01:39] databasePassword = (default) [DEBUG 00:01:39] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:39] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:39] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:39] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:39] ClientTest.cpp:431: starting get()->open() [DEBUG 00:01:39] ClientTest.cpp:431: ending get()->open() [DEBUG 00:01:39] eds_contact: using full item scan to detect changes [DEBUG 00:01:39] ClientTest.cpp:754: ending source.reset(createSource()) [DEBUG 00:01:39] ClientTest.cpp:754: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:39] ClientTest.cpp:754: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:39] ClientTest.cpp:758: starting it = source->getAllItems().begin() [DEBUG 00:01:39] ClientTest.cpp:758: ending it = source->getAllItems().begin() [DEBUG 00:01:39] ClientTest.cpp:758: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:39] ClientTest.cpp:758: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:39] ClientTest.cpp:759: starting CPPUNIT_ASSERT(it != source->getAllItems().end()) [DEBUG 00:01:39] ClientTest.cpp:759: ending CPPUNIT_ASSERT(it != source->getAllItems().end()) [DEBUG 00:01:39] ClientTest.cpp:763: starting res = source->insertItemRaw(luid, mangled) [DEBUG 00:01:39] eds_contact: insert pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c operation #0: queueing for batched update [DEBUG 00:01:39] eds_contact: batch update of 1 contacts starting [DEBUG 00:01:39] eds_contact: waiting for 1 pending operations to complete [DEBUG 00:01:39] eds_contact: batch update of 1 contacts completed [DEBUG 00:01:39] eds_contact: insert pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c operation #0: completed: <<successfully>> [DEBUG 00:01:39] eds_contact: pending operations completed [DEBUG 00:01:39] eds_contact: insert pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c operation #0: checking operation: inserted [DEBUG 00:01:39] ClientTest.cpp:763: ending res = source->insertItemRaw(luid, mangled) [DEBUG 00:01:39] ClientTest.cpp:763: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:39] ClientTest.cpp:763: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:39] ClientTest.cpp:764: starting source.reset() [DEBUG 00:01:39] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:39] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:39] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:01:39] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:01:39] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:40] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:40] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:01:40] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:01:40] ClientTest.cpp:463: starting get()->close() [DEBUG 00:01:40] ClientTest.cpp:463: ending get()->close() [DEBUG 00:01:40] ClientTest.cpp:764: ending source.reset() [DEBUG 00:01:40] ClientTest.cpp:765: starting CPPUNIT_ASSERT_EQUAL((luid),(res.m_luid)) [DEBUG 00:01:40] ClientTest.cpp:765: ending CPPUNIT_ASSERT_EQUAL((luid),(res.m_luid)) [DEBUG 00:01:40] ClientTest.cpp:766: starting CPPUNIT_ASSERT_EQUAL((ITEM_OKAY),(res.m_state)) [DEBUG 00:01:40] ClientTest.cpp:766: ending CPPUNIT_ASSERT_EQUAL((ITEM_OKAY),(res.m_state)) [DEBUG 00:01:40] ClientTest.cpp:773: starting source.reset(createSource()) [DEBUG 00:01:40] instantiating testing source eds_contact in config target-config@client-test-edsdav, with tracking name _1_A [DEBUG 00:01:40] overriding testing source eds_contact properties with the ones from config edsdav_1 = /data/runtests/work/testing-amd64/home/edsdav/config/syncevolution/client-test-edsdav-1/peers/edsdav_1 [DEBUG 00:01:40] sync = two-way (set) [DEBUG 00:01:40] uri = addressbook (set) [DEBUG 00:01:40] backend = Evolution Address Book (set) [DEBUG 00:01:40] syncFormat = (default) [DEBUG 00:01:40] forceSyncFormat = 0 (default) [DEBUG 00:01:40] database = Test_eds_contact_1 (set) [DEBUG 00:01:40] databaseFormat = (default) [DEBUG 00:01:40] databaseUser = (default) [DEBUG 00:01:40] databasePassword = (default) [DEBUG 00:01:40] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:40] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:40] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:40] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:40] ClientTest.cpp:431: starting get()->open() [DEBUG 00:01:40] ClientTest.cpp:431: ending get()->open() [DEBUG 00:01:40] eds_contact: using full item scan to detect changes [DEBUG 00:01:41] ClientTest.cpp:773: ending source.reset(createSource()) [DEBUG 00:01:41] ClientTest.cpp:773: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:41] ClientTest.cpp:773: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:41] ClientTest.cpp:774: starting CPPUNIT_ASSERT_EQUAL((1),(countItems(source.get()))) [DEBUG 00:01:41] ClientTest.cpp:774: ending CPPUNIT_ASSERT_EQUAL((1),(countItems(source.get()))) [DEBUG 00:01:41] ClientTest.cpp:775: starting CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:01:41] ClientTest.cpp:775: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:01:41] ClientTest.cpp:776: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:01:41] ClientTest.cpp:776: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:01:41] ClientTest.cpp:777: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:01:41] ClientTest.cpp:777: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:01:41] ClientTest.cpp:779: starting it = source->getAllItems().begin() [DEBUG 00:01:41] ClientTest.cpp:779: ending it = source->getAllItems().begin() [DEBUG 00:01:41] ClientTest.cpp:779: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:41] ClientTest.cpp:779: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:41] ClientTest.cpp:780: starting CPPUNIT_ASSERT(it != source->getAllItems().end()) [DEBUG 00:01:41] ClientTest.cpp:780: ending CPPUNIT_ASSERT(it != source->getAllItems().end()) [DEBUG 00:01:41] ClientTest.cpp:781: starting CPPUNIT_ASSERT_EQUAL((luid),(*it)) [DEBUG 00:01:41] ClientTest.cpp:781: ending CPPUNIT_ASSERT_EQUAL((luid),(*it)) [DEBUG 00:01:41] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:01:41] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:41] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:41] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:01:41] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:01:41] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:41] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:41] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:01:41] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:01:41] ClientTest.cpp:463: starting get()->close() [DEBUG 00:01:41] ClientTest.cpp:463: ending get()->close() [DEBUG 00:01:41] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:01:41] ClientTest.cpp:3865: starting doSync(logPrefix, options) [DEBUG 00:01:41] 5. starting Client_Sync_eds_contact_testComplexUpdate.update.client.A with sync mode two-way [DEBUG 00:01:41] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options) [DEBUG 00:01:41] log path -> /data/runtests/work/testing-amd64/home/edsdav/cache/syncevolution, No such file or directory [DEBUG 00:01:41] log path -> Client_Sync_eds_contact_testComplexUpdate.update.client.A, No such file or directory [DEBUG 00:01:41] log path -> Client_Sync_eds_contact_testComplexUpdate.update.client.A, No such file or directory [DEBUG 00:01:41] checking log dir Client_Sync_eds_contact_testComplexUpdate.update.client.A [DEBUG 00:01:41] logfile: Client_Sync_eds_contact_testComplexUpdate.update.client.A/syncevolution-log.html [DEVELOPER 00:01:42] SyncML server account: user01 [DEVELOPER 00:01:42] client: SyncEvolution 1.5.3 for workstation [DEVELOPER 00:01:42] device ID: client-edsdav_1 [DEVELOPER 00:01:42] [DEVELOPER 00:01:42] [INFO 00:01:43] addressbook: inactive [INFO 00:01:43] calendar: inactive [INFO 00:01:43] calendar+todo: inactive [INFO 00:01:43] eas_contact: inactive [INFO 00:01:43] eas_event: inactive [INFO 00:01:43] eas_memo: inactive [INFO 00:01:43] eas_task: inactive [INFO 00:01:43] eds_event: inactive [INFO 00:01:43] eds_memo: inactive [INFO 00:01:43] eds_task: inactive [INFO 00:01:43] file_calendar+todo: inactive [INFO 00:01:43] file_contact: inactive [INFO 00:01:43] file_event: inactive [INFO 00:01:43] file_task: inactive [INFO 00:01:43] kde_contact: inactive [INFO 00:01:43] kde_event: inactive [INFO 00:01:43] kde_memo: inactive [INFO 00:01:43] kde_task: inactive [INFO 00:01:43] memo: inactive [INFO 00:01:43] todo: inactive [DEBUG 00:01:43] checking password property 'password' in config 'edsdav_1@client-test-edsdav-1' with user identity 'user01' [DEBUG 00:01:43] loading password from keyring with key user=user01 server=127.0.0.1:9904/syncevolution [DEBUG 00:01:43] not using KWallet [DEBUG 00:01:43] sync password for edsdav_1@client-test-edsdav-1: loaded password from GNOME keyring using user=user01 server=127.0.0.1:9904/syncevolution [DEBUG 00:01:43] checking password property 'databasePassword' in datastore 'eds_contact' of config 'edsdav_1@client-test-edsdav-1' with user identity '' [DEBUG 00:01:43] sync is starting, catch signals [DEBUG 00:01:43] SuspendFlags: (re)activating, currently inactive [DEBUG 00:01:43] SuspendFlags: activating signal handler(s) with fds 38->37 [DEBUG 00:01:43] SuspendFlags: catch signal 15 [DEBUG 00:01:43] ready to sync [DEBUG 00:01:43] CreateContext SyncEvolution//eds_contact => 0 [DEBUG 00:01:43] Module_Version = 01090100 [DEBUG 00:01:43] Module_Capabilities: [DEBUG 00:01:43] PLATFORM:Linux [DEBUG 00:01:43] DLL:true [DEBUG 00:01:43] MINVERSION:V1.0.6.0 [DEBUG 00:01:43] MANUFACTURER:SyncEvolution [DEBUG 00:01:43] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:01:43] plugin_datastore_str:no [DEBUG 00:01:43] plugin_datastore_key:yes [DEBUG 00:01:43] ITEM_AS_KEY:yes [DEBUG 00:01:43] plugin_datablob:no [DEBUG 00:01:43] eds_contact: Module_PluginParams [DEBUG 00:01:43] eds_contact: Engine=01090100 [DEBUG 00:01:43] eds_contact: [DEBUG 00:01:43] Module_Capabilities: [DEBUG 00:01:43] PLATFORM:Linux [DEBUG 00:01:43] DLL:true [DEBUG 00:01:43] MINVERSION:V1.0.6.0 [DEBUG 00:01:43] MANUFACTURER:SyncEvolution [DEBUG 00:01:43] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:01:43] plugin_datastore_str:no [DEBUG 00:01:43] plugin_datastore_key:yes [DEBUG 00:01:43] ITEM_AS_KEY:yes [DEBUG 00:01:43] plugin_datablob:no [DEBUG 00:01:43] copying syncURL, username, password to Synthesis engine [DEBUG 00:01:43] using plain username/password for user01 [DEBUG 00:01:43] eds_contact: total number of items received 0 [INFO 00:01:59] eds_contact: starting normal sync, two-way (peer is server) [DEBUG 00:01:59] reading: set read-ahead based on sync mode two-way [DEBUG 00:01:59] eds_contact: reading: set order 'changed', 0 luids [DEBUG 00:01:59] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0 [DEBUG 00:01:59] eds_contact: FilterSupport staticfilter: [DEBUG 00:01:59] eds_contact: dynamicfilter: [DEBUG 00:01:59] eds_contact: invisiblefilter: [DEBUG 00:01:59] eds_contact: using full item scan to detect changes [DEBUG 00:02:00] eds_contact: StartDataRead last='1' resume='1' res=0 [DEBUG 00:02:00] eds_contact: ReadNextItemAsKey aStatus=1 aID=(pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c,(null)) res=0 [DEBUG 00:02:00] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0 [DEBUG 00:02:00] eds_contact: EndDataRead res=0 [DEBUG 00:02:00] eds_contact: reading: getting contact pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c [DEBUG 00:02:00] eds_contact: reading: must read contact pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c [DEBUG 00:02:00] eds_contact: reading: started contact read pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c-pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c (1) [DEBUG 00:02:00] eds_contact: reading: active cache pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c-pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c (1) [DEBUG 00:02:00] eds_contact: reading: in running cache [DEBUG 00:02:00] eds_contact: reading: contact read pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c-pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c (1) finished: <<successful>> [DEBUG 00:02:00] eds_contact: reading: contact read pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c-pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c (1) got pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c [DEBUG 00:02:00] eds_contact: reading: in cache, available [DEBUG 00:02:00] eds_contact: reading: continue after contact pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c [DEBUG 00:02:00] eds_contact: reading: read pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c: <<okay>> [DEBUG 00:02:00] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1 [DEBUG 00:02:00] eds_contact: ReadItemAsKey aID=(pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c,) res=0 [DEBUG 00:02:00] eds_contact: StartDataWrite [DEBUG 00:02:00] eds_contact: total number of items received 0 [INFO 00:02:00] eds_contact: sent 1/1 [INFO 00:02:02] eds_contact: started [DEBUG 00:02:02] eds_contact: total number of items received 0 [DEBUG 00:02:03] eds_contact: EndDataWrite COMMIT '1' res=0 [DEBUG 00:02:03] eds_contact: DeleteContext [INFO 00:02:03] eds_contact: normal sync done successfully [DEBUG 00:02:03] closing session [DEBUG 00:02:03] session closed [DEBUG 00:02:03] SuspendFlags: deactivating fds 38->37 [DEBUG 00:02:03] SuspendFlags: close m_receiverFD 37 [DEBUG 00:02:03] SuspendFlags: close m_senderFD 38 [DEBUG 00:02:03] SuspendFlags: done with deactivation [DEBUG 00:02:03] Module_DeleteContext eds_contact [INFO 00:02:03] sync report: [INFO 00:02:03] +---------------|-----------------------|-----------------------|-CON-+ [INFO 00:02:03] | | LOCAL | REMOTE | FLI | [INFO 00:02:03] | Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS | [INFO 00:02:03] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:02:03] | eds_contact | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | [INFO 00:02:03] | two-way, 0 KB sent by client, 0 KB received | [INFO 00:02:03] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:02:03] | start Fri Jan 5 19:16:49 2018, duration 0:22min | [INFO 00:02:03] | synchronization completed successfully | [INFO 00:02:03] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:02:03] ----------|--------CLIENT---------|--------SERVER---------| [INFO 00:02:03] | NEW | MOD | DEL | NEW | MOD | DEL | [INFO 00:02:03] ----------|-----------------------------------------------| [INFO 00:02:03] Expected | 0 | 0 | 0 | 0 | 1 | 0 | [INFO 00:02:03] Expected sync mode: two-way [INFO 00:02:03] Expected cycles: 1 [INFO 00:02:03] [DEBUG 00:02:03] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:02:03] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:02:03] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:02:03] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:02:03] Checking sync source eds_contact... [DEBUG 00:02:03] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:02:03] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:02:03] ClientTest.cpp:8305: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:02:03] ClientTest.cpp:8305: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:02:03] ClientTest.cpp:8308: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:02:03] ClientTest.cpp:8308: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:02:03] ClientTest.cpp:8319: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "syncMode" + " == " + "source.getFinalSyncMode()",(syncMode),(source.getFinalSyncMode())) [DEBUG 00:02:03] ClientTest.cpp:8319: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "syncMode" + " == " + "source.getFinalSyncMode()",(syncMode),(source.getFinalSyncMode())) [DEBUG 00:02:03] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:02:03] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:02:03] ClientTest.cpp:8328: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:03] ClientTest.cpp:8328: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:03] ClientTest.cpp:8334: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:03] ClientTest.cpp:8334: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:03] ClientTest.cpp:8340: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:03] ClientTest.cpp:8340: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:03] ClientTest.cpp:8347: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:03] ClientTest.cpp:8347: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:03] ClientTest.cpp:8353: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:03] ClientTest.cpp:8353: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:03] ClientTest.cpp:8359: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(serverDeleted),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:03] ClientTest.cpp:8359: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(serverDeleted),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:03] Done with checking sync report. [DEBUG 00:02:03] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options) [DEBUG 00:02:03] ClientTest.cpp:6465: starting postSync(res, logname) [DEBUG 00:02:03] ClientTest.cpp:6465: ending postSync(res, logname) [DEBUG 00:02:03] ClientTest.cpp:3865: ending doSync(logPrefix, options) [DEBUG 00:02:03] ClientTest.cpp:3869: starting doSync(logPrefix, options) [DEBUG 00:02:03] 6. starting Client_Sync_eds_contact_testComplexUpdate.update.client.B with sync mode two-way [DEBUG 00:02:03] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options) [DEBUG 00:02:03] log path -> /data/runtests/work/testing-amd64/home/edsdav/cache/syncevolution, No such file or directory [DEBUG 00:02:03] log path -> Client_Sync_eds_contact_testComplexUpdate.update.client.B, No such file or directory [DEBUG 00:02:03] log path -> Client_Sync_eds_contact_testComplexUpdate.update.client.B, No such file or directory [DEBUG 00:02:03] checking log dir Client_Sync_eds_contact_testComplexUpdate.update.client.B [DEBUG 00:02:03] logfile: Client_Sync_eds_contact_testComplexUpdate.update.client.B/syncevolution-log.html [DEVELOPER 00:02:05] SyncML server account: user01 [DEVELOPER 00:02:05] client: SyncEvolution 1.5.3 for workstation [DEVELOPER 00:02:05] device ID: client-edsdav_2 [DEVELOPER 00:02:05] [DEVELOPER 00:02:05] [INFO 00:02:05] addressbook: inactive [INFO 00:02:05] calendar: inactive [INFO 00:02:05] calendar+todo: inactive [INFO 00:02:05] eas_contact: inactive [INFO 00:02:05] eas_event: inactive [INFO 00:02:05] eas_memo: inactive [INFO 00:02:05] eas_task: inactive [INFO 00:02:05] eds_event: inactive [INFO 00:02:05] eds_memo: inactive [INFO 00:02:05] eds_task: inactive [INFO 00:02:05] file_calendar+todo: inactive [INFO 00:02:05] file_contact: inactive [INFO 00:02:05] file_event: inactive [INFO 00:02:05] file_task: inactive [INFO 00:02:05] kde_contact: inactive [INFO 00:02:05] kde_event: inactive [INFO 00:02:05] kde_memo: inactive [INFO 00:02:05] kde_task: inactive [INFO 00:02:05] memo: inactive [INFO 00:02:05] todo: inactive [DEBUG 00:02:05] checking password property 'password' in config 'edsdav_2@client-test-edsdav-2' with user identity 'user01' [DEBUG 00:02:05] loading password from keyring with key user=user01 server=127.0.0.1:9904/syncevolution [DEBUG 00:02:05] not using KWallet [DEBUG 00:02:05] sync password for edsdav_2@client-test-edsdav-2: loaded password from GNOME keyring using user=user01 server=127.0.0.1:9904/syncevolution [DEBUG 00:02:05] checking password property 'databasePassword' in datastore 'eds_contact' of config 'edsdav_2@client-test-edsdav-2' with user identity '' [DEBUG 00:02:05] sync is starting, catch signals [DEBUG 00:02:05] SuspendFlags: (re)activating, currently inactive [DEBUG 00:02:05] SuspendFlags: activating signal handler(s) with fds 38->37 [DEBUG 00:02:05] SuspendFlags: catch signal 15 [DEBUG 00:02:05] ready to sync [DEBUG 00:02:06] CreateContext SyncEvolution//eds_contact => 0 [DEBUG 00:02:06] Module_Version = 01090100 [DEBUG 00:02:06] Module_Capabilities: [DEBUG 00:02:06] PLATFORM:Linux [DEBUG 00:02:06] DLL:true [DEBUG 00:02:06] MINVERSION:V1.0.6.0 [DEBUG 00:02:06] MANUFACTURER:SyncEvolution [DEBUG 00:02:06] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:02:06] plugin_datastore_str:no [DEBUG 00:02:06] plugin_datastore_key:yes [DEBUG 00:02:06] ITEM_AS_KEY:yes [DEBUG 00:02:06] plugin_datablob:no [DEBUG 00:02:06] eds_contact: Module_PluginParams [DEBUG 00:02:06] eds_contact: Engine=01090100 [DEBUG 00:02:06] eds_contact: [DEBUG 00:02:06] Module_Capabilities: [DEBUG 00:02:06] PLATFORM:Linux [DEBUG 00:02:06] DLL:true [DEBUG 00:02:06] MINVERSION:V1.0.6.0 [DEBUG 00:02:06] MANUFACTURER:SyncEvolution [DEBUG 00:02:06] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:02:06] plugin_datastore_str:no [DEBUG 00:02:06] plugin_datastore_key:yes [DEBUG 00:02:06] ITEM_AS_KEY:yes [DEBUG 00:02:06] plugin_datablob:no [DEBUG 00:02:06] copying syncURL, username, password to Synthesis engine [DEBUG 00:02:06] using plain username/password for user01 [DEBUG 00:02:06] eds_contact: total number of items received 0 [INFO 00:02:22] eds_contact: starting normal sync, two-way (peer is server) [DEBUG 00:02:22] reading: set read-ahead based on sync mode two-way [DEBUG 00:02:22] eds_contact: reading: set order 'changed', 0 luids [DEBUG 00:02:22] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0 [DEBUG 00:02:22] eds_contact: FilterSupport staticfilter: [DEBUG 00:02:22] eds_contact: dynamicfilter: [DEBUG 00:02:22] eds_contact: invisiblefilter: [DEBUG 00:02:22] eds_contact: using full item scan to detect changes [DEBUG 00:02:22] eds_contact: StartDataRead last='1' resume='1' res=0 [DEBUG 00:02:22] eds_contact: ReadNextItemAsKey aStatus=2 aID=(pas-id-fd4d1f825ea075f8734b936a083de6847b14135a,(null)) res=0 [DEBUG 00:02:22] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0 [DEBUG 00:02:22] eds_contact: EndDataRead res=0 [DEBUG 00:02:22] eds_contact: StartDataWrite [DEBUG 00:02:22] eds_contact: total number of items received 0 [INFO 00:02:24] eds_contact: started [DEBUG 00:02:24] eds_contact: reading: getting contact pas-id-fd4d1f825ea075f8734b936a083de6847b14135a [DEBUG 00:02:24] eds_contact: reading: must read contact pas-id-fd4d1f825ea075f8734b936a083de6847b14135a [DEBUG 00:02:24] eds_contact: reading: disable read-ahead due to cache miss [DEBUG 00:02:24] eds_contact: reading: started contact read pas-id-fd4d1f825ea075f8734b936a083de6847b14135a-pas-id-fd4d1f825ea075f8734b936a083de6847b14135a (1) [DEBUG 00:02:24] eds_contact: reading: active cache pas-id-fd4d1f825ea075f8734b936a083de6847b14135a-pas-id-fd4d1f825ea075f8734b936a083de6847b14135a (1) [DEBUG 00:02:24] eds_contact: reading: in running cache [DEBUG 00:02:24] eds_contact: reading: contact read pas-id-fd4d1f825ea075f8734b936a083de6847b14135a-pas-id-fd4d1f825ea075f8734b936a083de6847b14135a (1) finished: <<successful>> [DEBUG 00:02:24] eds_contact: reading: contact read pas-id-fd4d1f825ea075f8734b936a083de6847b14135a-pas-id-fd4d1f825ea075f8734b936a083de6847b14135a (1) got pas-id-fd4d1f825ea075f8734b936a083de6847b14135a [DEBUG 00:02:24] eds_contact: reading: in cache, available [DEBUG 00:02:24] eds_contact: reading: continue after contact pas-id-fd4d1f825ea075f8734b936a083de6847b14135a [DEBUG 00:02:24] eds_contact: reading: read pas-id-fd4d1f825ea075f8734b936a083de6847b14135a: <<okay>> [DEBUG 00:02:24] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 1/1 (100%), stalls 1 [DEBUG 00:02:24] eds_contact: ReadItemAsKey aID=(pas-id-fd4d1f825ea075f8734b936a083de6847b14135a,) res=0 [INFO 00:02:25] eds_contact: updating "Joan Doe" [DEBUG 00:02:25] eds_contact: reading: remove contact pas-id-fd4d1f825ea075f8734b936a083de6847b14135a from cache because of remove or update [DEBUG 00:02:25] eds_contact: insert pas-id-fd4d1f825ea075f8734b936a083de6847b14135a operation #0: queueing for batched update [DEBUG 00:02:25] eds_contact: aID=(pas-id-fd4d1f825ea075f8734b936a083de6847b14135a,) res=1 [DEBUG 00:02:25] eds_contact: batch update of 1 contacts starting [DEBUG 00:02:25] eds_contact: waiting for 1 pending operations to complete [DEBUG 00:02:25] eds_contact: batch update of 1 contacts completed [DEBUG 00:02:25] eds_contact: insert pas-id-fd4d1f825ea075f8734b936a083de6847b14135a operation #0: completed: <<successfully>> [DEBUG 00:02:25] eds_contact: pending operations completed [DEBUG 00:02:25] eds_contact: insert pas-id-fd4d1f825ea075f8734b936a083de6847b14135a operation #0: checking operation: inserted [DEBUG 00:02:25] eds_contact: aID=(pas-id-fd4d1f825ea075f8734b936a083de6847b14135a,) res=0 [DEBUG 00:02:25] eds_contact: total number of items received 0 [INFO 00:02:25] eds_contact: received 2/1 [DEBUG 00:02:26] eds_contact: EndDataWrite COMMIT '1' res=0 [DEBUG 00:02:26] eds_contact: DeleteContext [INFO 00:02:26] eds_contact: normal sync done successfully [DEBUG 00:02:26] closing session [DEBUG 00:02:26] session closed [DEBUG 00:02:26] SuspendFlags: deactivating fds 38->37 [DEBUG 00:02:26] SuspendFlags: close m_receiverFD 37 [DEBUG 00:02:26] SuspendFlags: close m_senderFD 38 [DEBUG 00:02:26] SuspendFlags: done with deactivation [DEBUG 00:02:26] Module_DeleteContext eds_contact [INFO 00:02:26] sync report: [INFO 00:02:26] +---------------|-----------------------|-----------------------|-CON-+ [INFO 00:02:26] | | LOCAL | REMOTE | FLI | [INFO 00:02:26] | Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS | [INFO 00:02:26] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:02:26] | eds_contact | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | [INFO 00:02:26] | two-way, 0 KB sent by client, 0 KB received | [INFO 00:02:26] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:02:26] | start Fri Jan 5 19:17:11 2018, duration 0:23min | [INFO 00:02:26] | synchronization completed successfully | [INFO 00:02:26] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:02:26] ----------|--------CLIENT---------|--------SERVER---------| [INFO 00:02:26] | NEW | MOD | DEL | NEW | MOD | DEL | [INFO 00:02:26] ----------|-----------------------------------------------| [INFO 00:02:26] Expected | 0 | 1 | 0 | 0 | 0 | 0 | [INFO 00:02:26] Expected sync mode: two-way [INFO 00:02:26] Expected cycles: 1 [INFO 00:02:26] [DEBUG 00:02:26] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:02:26] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:02:26] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:02:26] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:02:26] Checking sync source eds_contact... [DEBUG 00:02:26] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:02:26] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:02:26] ClientTest.cpp:8305: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:02:26] ClientTest.cpp:8305: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:02:26] ClientTest.cpp:8308: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:02:26] ClientTest.cpp:8308: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT))) [DEBUG 00:02:26] ClientTest.cpp:8319: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "syncMode" + " == " + "source.getFinalSyncMode()",(syncMode),(source.getFinalSyncMode())) [DEBUG 00:02:26] ClientTest.cpp:8319: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "syncMode" + " == " + "source.getFinalSyncMode()",(syncMode),(source.getFinalSyncMode())) [DEBUG 00:02:26] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:02:26] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:02:26] ClientTest.cpp:8328: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:26] ClientTest.cpp:8328: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:26] ClientTest.cpp:8334: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:26] ClientTest.cpp:8334: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:26] ClientTest.cpp:8340: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:26] ClientTest.cpp:8340: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:26] ClientTest.cpp:8347: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:26] ClientTest.cpp:8347: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:26] ClientTest.cpp:8353: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:26] ClientTest.cpp:8353: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:26] ClientTest.cpp:8359: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(serverDeleted),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:26] ClientTest.cpp:8359: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(serverDeleted),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL))) [DEBUG 00:02:26] Done with checking sync report. [DEBUG 00:02:26] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options) [DEBUG 00:02:26] ClientTest.cpp:6465: starting postSync(res, logname) [DEBUG 00:02:26] ClientTest.cpp:6465: ending postSync(res, logname) [DEBUG 00:02:26] ClientTest.cpp:3869: ending doSync(logPrefix, options) [DEBUG 00:02:26] ClientTest.cpp:3874: starting compareDatabases() [DEBUG 00:02:26] ClientTest.cpp:3065: starting CPPUNIT_ASSERT(accessClientB) [DEBUG 00:02:26] ClientTest.cpp:3065: ending CPPUNIT_ASSERT(accessClientB) [DEBUG 00:02:26] ClientTest.cpp:3070: starting copy.reset(it2->second->createSourceB()) [DEBUG 00:02:26] instantiating testing source eds_contact in config target-config@client-test-edsdav, with tracking name _2_B [DEBUG 00:02:26] overriding testing source eds_contact properties with the ones from config edsdav_2 = /data/runtests/work/testing-amd64/home/edsdav/config/syncevolution/client-test-edsdav-2/peers/edsdav_2 [DEBUG 00:02:26] sync = two-way (set) [DEBUG 00:02:26] uri = addressbook (set) [DEBUG 00:02:26] backend = Evolution Address Book (set) [DEBUG 00:02:26] syncFormat = (default) [DEBUG 00:02:26] forceSyncFormat = 0 (default) [DEBUG 00:02:26] database = Test_eds_contact_2 (set) [DEBUG 00:02:26] databaseFormat = (default) [DEBUG 00:02:26] databaseUser = (default) [DEBUG 00:02:26] databasePassword = (default) [DEBUG 00:02:26] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:02:26] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:02:26] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:02:26] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:02:26] ClientTest.cpp:431: starting get()->open() [DEBUG 00:02:26] ClientTest.cpp:431: ending get()->open() [DEBUG 00:02:26] eds_contact: using full item scan to detect changes [DEBUG 00:02:26] ClientTest.cpp:3070: ending copy.reset(it2->second->createSourceB()) [DEBUG 00:02:26] ClientTest.cpp:3070: starting CPPUNIT_ASSERT((copy.get())) [DEBUG 00:02:26] ClientTest.cpp:3070: ending CPPUNIT_ASSERT((copy.get())) [DEBUG 00:02:26] ClientTest.cpp:846: starting CPPUNIT_ASSERT(config.m_dump) [DEBUG 00:02:26] ClientTest.cpp:846: ending CPPUNIT_ASSERT(config.m_dump) [DEBUG 00:02:26] ClientTest.cpp:856: starting source.reset(createSourceA()) [DEBUG 00:02:26] instantiating testing source eds_contact in config target-config@client-test-edsdav, with tracking name _1_A [DEBUG 00:02:26] overriding testing source eds_contact properties with the ones from config edsdav_1 = /data/runtests/work/testing-amd64/home/edsdav/config/syncevolution/client-test-edsdav-1/peers/edsdav_1 [DEBUG 00:02:26] sync = two-way (set) [DEBUG 00:02:26] uri = addressbook (set) [DEBUG 00:02:26] backend = Evolution Address Book (set) [DEBUG 00:02:26] syncFormat = (default) [DEBUG 00:02:26] forceSyncFormat = 0 (default) [DEBUG 00:02:26] database = Test_eds_contact_1 (set) [DEBUG 00:02:26] databaseFormat = (default) [DEBUG 00:02:26] databaseUser = (default) [DEBUG 00:02:26] databasePassword = (default) [DEBUG 00:02:26] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:02:26] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:02:26] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:02:26] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:02:26] ClientTest.cpp:431: starting get()->open() [DEBUG 00:02:26] ClientTest.cpp:431: ending get()->open() [DEBUG 00:02:26] eds_contact: using full item scan to detect changes [DEBUG 00:02:26] ClientTest.cpp:856: ending source.reset(createSourceA()) [DEBUG 00:02:26] ClientTest.cpp:856: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:02:26] ClientTest.cpp:856: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:02:26] ClientTest.cpp:857: starting CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, *source.get(), sourceFile))) [DEBUG 00:02:26] ClientTest.cpp:6698: starting CPPUNIT_ASSERT(source.getOperations().m_backupData) [DEBUG 00:02:26] ClientTest.cpp:6698: ending CPPUNIT_ASSERT(source.getOperations().m_backupData) [DEBUG 00:02:26] eds_contact: reading: set order 'selected', 1 luids [DEBUG 00:02:26] eds_contact: reading: getting contact pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c [DEBUG 00:02:26] eds_contact: reading: must read contact pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c [DEBUG 00:02:26] eds_contact: reading: started contact read pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c-pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c (1) [DEBUG 00:02:26] eds_contact: reading: active cache pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c-pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c (1) [DEBUG 00:02:26] eds_contact: reading: in running cache [DEBUG 00:02:26] eds_contact: reading: contact read pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c-pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c (1) finished: <<successful>> [DEBUG 00:02:26] eds_contact: reading: contact read pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c-pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c (1) got pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c [DEBUG 00:02:26] eds_contact: reading: in cache, available [DEBUG 00:02:26] eds_contact: reading: continue after contact pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c [DEBUG 00:02:26] eds_contact: reading: read pas-id-d214003a688e333c1a0e3a5a66f7d777589a760c: <<okay>> [DEBUG 00:02:26] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1 [DEBUG 00:02:26] eds_contact: reading: set order 'none', 0 luids [DEBUG 00:02:26] ClientTest.cpp:857: ending CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, *source.get(), sourceFile))) [DEBUG 00:02:26] ClientTest.cpp:857: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:02:26] ClientTest.cpp:857: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:02:26] ClientTest.cpp:858: starting source.reset() [DEBUG 00:02:26] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:02:26] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:02:26] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:02:26] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:02:26] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:02:26] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:02:26] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:02:26] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:02:26] ClientTest.cpp:463: starting get()->close() [DEBUG 00:02:26] ClientTest.cpp:463: ending get()->close() [DEBUG 00:02:26] ClientTest.cpp:858: ending source.reset() [DEBUG 00:02:26] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:02:26] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:02:26] ClientTest.cpp:863: starting CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, copy, copyFile))) [DEBUG 00:02:26] ClientTest.cpp:6698: starting CPPUNIT_ASSERT(source.getOperations().m_backupData) [DEBUG 00:02:26] ClientTest.cpp:6698: ending CPPUNIT_ASSERT(source.getOperations().m_backupData) [DEBUG 00:02:26] eds_contact: reading: set order 'selected', 1 luids [DEBUG 00:02:26] eds_contact: reading: getting contact pas-id-fd4d1f825ea075f8734b936a083de6847b14135a [DEBUG 00:02:26] eds_contact: reading: must read contact pas-id-fd4d1f825ea075f8734b936a083de6847b14135a [DEBUG 00:02:26] eds_contact: reading: started contact read pas-id-fd4d1f825ea075f8734b936a083de6847b14135a-pas-id-fd4d1f825ea075f8734b936a083de6847b14135a (1) [DEBUG 00:02:26] eds_contact: reading: active cache pas-id-fd4d1f825ea075f8734b936a083de6847b14135a-pas-id-fd4d1f825ea075f8734b936a083de6847b14135a (1) [DEBUG 00:02:26] eds_contact: reading: in running cache [DEBUG 00:02:26] eds_contact: reading: contact read pas-id-fd4d1f825ea075f8734b936a083de6847b14135a-pas-id-fd4d1f825ea075f8734b936a083de6847b14135a (1) finished: <<successful>> [DEBUG 00:02:26] eds_contact: reading: contact read pas-id-fd4d1f825ea075f8734b936a083de6847b14135a-pas-id-fd4d1f825ea075f8734b936a083de6847b14135a (1) got pas-id-fd4d1f825ea075f8734b936a083de6847b14135a [DEBUG 00:02:26] eds_contact: reading: in cache, available [DEBUG 00:02:26] eds_contact: reading: continue after contact pas-id-fd4d1f825ea075f8734b936a083de6847b14135a [DEBUG 00:02:26] eds_contact: reading: read pas-id-fd4d1f825ea075f8734b936a083de6847b14135a: <<okay>> [DEBUG 00:02:26] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1 [DEBUG 00:02:26] eds_contact: reading: set order 'none', 0 luids [DEBUG 00:02:26] ClientTest.cpp:863: ending CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, copy, copyFile))) [DEBUG 00:02:26] ClientTest.cpp:871: starting equal = config.m_compare(client, refFile.c_str(), actualFile.c_str()) [DEBUG 00:02:26] ClientTest.cpp:871: ending equal = config.m_compare(client, refFile.c_str(), actualFile.c_str()) [DEBUG 00:02:26] ClientTest.cpp:872: starting CPPUNIT_ASSERT(!raiseAssert || equal) [DEBUG 00:02:26] ClientTest.cpp:872: ending CPPUNIT_ASSERT(!raiseAssert || equal) [DEBUG 00:02:26] ClientTest.cpp:3084: starting copy.reset() [DEBUG 00:02:26] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:02:26] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:02:26] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:02:26] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:02:26] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:02:26] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:02:26] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:02:26] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:02:26] ClientTest.cpp:463: starting get()->close() [DEBUG 00:02:26] ClientTest.cpp:463: ending get()->close() [DEBUG 00:02:26] ClientTest.cpp:3084: ending copy.reset() [DEBUG 00:02:26] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:02:26] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:02:26] ClientTest.cpp:3086: starting CPPUNIT_ASSERT(it1 == sources.end()) [DEBUG 00:02:26] ClientTest.cpp:3086: ending CPPUNIT_ASSERT(it1 == sources.end()) [DEBUG 00:02:26] ClientTest.cpp:3087: starting CPPUNIT_ASSERT(it2 == accessClientB->sources.end()) [DEBUG 00:02:26] ClientTest.cpp:3087: ending CPPUNIT_ASSERT(it2 == accessClientB->sources.end()) [DEBUG 00:02:26] ClientTest.cpp:3089: starting CPPUNIT_ASSERT(!raiseAssert || equal) [DEBUG 00:02:26] ClientTest.cpp:3089: ending CPPUNIT_ASSERT(!raiseAssert || equal) [DEBUG 00:02:26] ClientTest.cpp:3874: ending compareDatabases() [DEBUG 00:02:26] *** ending Client::Sync::eds_contact::testComplexUpdate: okay ***