[DEBUG 00:00:00] *** starting Client::Sync::eds_contact::testMerge *** [DEBUG 00:00:00] ClientTest.cpp:3909: 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:3105: 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-memotoo, with tracking name _1_A [DEBUG 00:00:00] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1 [DEBUG 00:00:00] sync = two-way (set) [DEBUG 00:00:00] uri = con (set) [DEBUG 00:00:00] backend = Evolution Address Book (set) [DEBUG 00:00:00] syncFormat = text/vcard (set) [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-memotoo, with tracking name _1_A [DEBUG 00:00:02] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1 [DEBUG 00:00:02] sync = two-way (set) [DEBUG 00:00:02] uri = con (set) [DEBUG 00:00:02] backend = Evolution Address Book (set) [DEBUG 00:00:02] syncFormat = text/vcard (set) [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-memotoo, with tracking name _1_A [DEBUG 00:00:03] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1 [DEBUG 00:00:03] sync = two-way (set) [DEBUG 00:00:03] uri = con (set) [DEBUG 00:00:03] backend = Evolution Address Book (set) [DEBUG 00:00:03] syncFormat = text/vcard (set) [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:03] ClientTest.cpp:819: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:00:03] ClientTest.cpp:820: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:00:03] ClientTest.cpp:820: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:00:03] ClientTest.cpp:821: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:00:03] ClientTest.cpp:821: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:00:03] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:00:03] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:03] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:03] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:00:03] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:00:03] 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:391: ending reset(__null) [DEBUG 00:00:03] ClientTest.cpp:6491: ending source_pair.second->deleteAll(source_pair.second->createSourceA) [DEBUG 00:00:03] ClientTest.cpp:3105: ending allSourcesDeleteAll() [DEBUG 00:00:03] ClientTest.cpp:3106: starting doSync(logPrefix, options) [DEBUG 00:00:03] 1. starting Client_Sync_eds_contact_testMerge.copy.deleteall.init.client.A with sync mode slow [DEBUG 00:00:03] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options) [DEBUG 00:00:04] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory [DEBUG 00:00:04] log path -> Client_Sync_eds_contact_testMerge.copy.deleteall.init.client.A, No such file or directory [DEBUG 00:00:04] log path -> Client_Sync_eds_contact_testMerge.copy.deleteall.init.client.A, No such file or directory [DEBUG 00:00:04] checking log dir Client_Sync_eds_contact_testMerge.copy.deleteall.init.client.A [DEBUG 00:00:04] logfile: Client_Sync_eds_contact_testMerge.copy.deleteall.init.client.A/syncevolution-log.html [DEVELOPER 00:00:07] SyncML server account: syncevolution [DEVELOPER 00:00:07] client: SyncEvolution 1.5.3 for workstation [DEVELOPER 00:00:07] device ID: sc-api-A [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 'memotoo_1@client-test-memotoo-1' with user identity 'syncevolution' [DEBUG 00:00:07] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:00:07] not using KWallet [DEBUG 00:00:07] sync password for memotoo_1@client-test-memotoo-1: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:00:07] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_1@client-test-memotoo-1' with user identity '' [DEBUG 00:00:07] sync is starting, catch signals [DEBUG 00:00:07] 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 syncevolution [DEBUG 00:00:09] eds_contact: total number of items received 0 [INFO 00:00:13] eds_contact: starting first time sync, two-way (peer is server) [DEBUG 00:00:13] reading: set read-ahead based on sync mode slow [DEBUG 00:00:13] eds_contact: reading: set order 'all', 0 luids [DEBUG 00:00:13] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0 [DEBUG 00:00:13] eds_contact: FilterSupport staticfilter: [DEBUG 00:00:13] eds_contact: dynamicfilter: [DEBUG 00:00:13] eds_contact: invisiblefilter: [DEBUG 00:00:13] eds_contact: ContextSupport ReadNextItem:allfields [DEBUG 00:00:13] eds_contact: [DEBUG 00:00:13] eds_contact: slow sync or testing, do full item scan to detect changes [DEBUG 00:00:13] eds_contact: StartDataRead last='' resume='' res=0 [DEBUG 00:00:13] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0 [DEBUG 00:00:13] eds_contact: EndDataRead res=0 [DEBUG 00:00:13] eds_contact: StartDataWrite [DEBUG 00:00:13] eds_contact: total number of items received 0 [DEBUG 00:00:13] eds_contact: total number of items received 0 [INFO 00:00:14] eds_contact: started [INFO 00:00:14] eds_contact: adding "Joan Doe" [DEBUG 00:00:14] eds_contact: add operation #0: queueing for batched add [DEBUG 00:00:14] eds_contact: InsertItemAsKey res=1 [DEBUG 00:00:14] eds_contact: batch add of 1 contacts starting [DEBUG 00:00:14] eds_contact: waiting for 1 pending operations to complete [DEBUG 00:00:14] eds_contact: batch add of 1 contacts completed [DEBUG 00:00:14] eds_contact: add operation #0: completed: <<successfully>> [DEBUG 00:00:14] eds_contact: pending operations completed [DEBUG 00:00:14] eds_contact: add operation #0: checking operation: inserted [DEBUG 00:00:14] eds_contact: InsertItemAsKey res=0 [DEBUG 00:00:15] eds_contact: EndDataWrite COMMIT '1' res=0 [DEBUG 00:00:15] eds_contact: total number of items received 0 [INFO 00:00:15] eds_contact: received 2/1 [DEBUG 00:00:16] eds_contact: DeleteContext [INFO 00:00:16] eds_contact: first time sync done successfully [DEBUG 00:00:16] closing session [DEBUG 00:00:16] session closed [DEBUG 00:00:16] SuspendFlags: deactivating fds 38->37 [DEBUG 00:00:16] SuspendFlags: close m_receiverFD 37 [DEBUG 00:00:16] SuspendFlags: close m_senderFD 38 [DEBUG 00:00:16] SuspendFlags: done with deactivation [DEBUG 00:00:16] Module_DeleteContext eds_contact [INFO 00:00:16] sync report: [INFO 00:00:16] +---------------|-----------------------|-----------------------|-CON-+ [INFO 00:00:16] | | LOCAL | REMOTE | FLI | [INFO 00:00:16] | Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS | [INFO 00:00:16] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:00:16] | eds_contact | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | [INFO 00:00:16] | slow, 0 KB sent by client, 0 KB received | [INFO 00:00:16] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:00:16] | start Fri Jan 5 19:42:45 2018, duration 0:12min | [INFO 00:00:16] | synchronization completed successfully | [INFO 00:00:16] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:00:16] ----------|--------CLIENT---------|--------SERVER---------| [INFO 00:00:16] | NEW | MOD | DEL | NEW | MOD | DEL | [INFO 00:00:16] ----------|-----------------------------------------------| [INFO 00:00:16] Expected | -1 | -1 | -1 | -1 | -1 | -1 | [INFO 00:00:16] Expected sync mode: disabled [INFO 00:00:16] Expected cycles: 1 [INFO 00:00:16] [DEBUG 00:00:16] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:00:16] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:00:16] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:00:16] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:00:16] Checking sync source eds_contact... [DEBUG 00:00:16] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:00:16] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:00: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:00: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:00: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:00: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:00:16] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:00:16] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:00:16] Done with checking sync report. [DEBUG 00:00:16] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options) [DEBUG 00:00:16] ClientTest.cpp:6465: starting postSync(res, logname) [DEBUG 00:00:26] ClientTest.cpp:6465: ending postSync(res, logname) [DEBUG 00:00:26] ClientTest.cpp:3106: ending doSync(logPrefix, options) [DEBUG 00:00:26] ClientTest.cpp:3108: starting allSourcesDeleteAll() [DEBUG 00:00:26] ClientTest.cpp:6491: starting source_pair.second->deleteAll(source_pair.second->createSourceA) [DEBUG 00:00:26] ClientTest.cpp:802: starting CPPUNIT_ASSERT(createSource.createSource) [DEBUG 00:00:26] ClientTest.cpp:802: ending CPPUNIT_ASSERT(createSource.createSource) [DEBUG 00:00:26] ClientTest.cpp:807: starting source.reset(createSource()) [DEBUG 00:00:26] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A [DEBUG 00:00:26] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1 [DEBUG 00:00:26] sync = two-way (set) [DEBUG 00:00:26] uri = con (set) [DEBUG 00:00:26] backend = Evolution Address Book (set) [DEBUG 00:00:26] syncFormat = text/vcard (set) [DEBUG 00:00:26] forceSyncFormat = 0 (default) [DEBUG 00:00:26] database = Test_eds_contact_1 (set) [DEBUG 00:00:26] databaseFormat = (default) [DEBUG 00:00:26] databaseUser = (default) [DEBUG 00:00:26] databasePassword = (default) [DEBUG 00:00:26] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:26] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:26] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:26] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:26] ClientTest.cpp:431: starting get()->open() [DEBUG 00:00:26] ClientTest.cpp:431: ending get()->open() [DEBUG 00:00:26] eds_contact: using full item scan to detect changes [DEBUG 00:00:26] ClientTest.cpp:807: ending source.reset(createSource()) [DEBUG 00:00:26] ClientTest.cpp:807: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:26] ClientTest.cpp:807: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:26] ClientTest.cpp:810: starting source->removeAllItems() [DEBUG 00:00:26] ClientTest.cpp:810: ending source->removeAllItems() [DEBUG 00:00:26] ClientTest.cpp:810: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:26] ClientTest.cpp:810: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:26] ClientTest.cpp:811: starting source.reset() [DEBUG 00:00:26] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:26] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:26] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:00:26] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:00:26] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:27] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:27] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:00:27] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:00:27] ClientTest.cpp:463: starting get()->close() [DEBUG 00:00:27] ClientTest.cpp:463: ending get()->close() [DEBUG 00:00:27] ClientTest.cpp:811: ending source.reset() [DEBUG 00:00:27] ClientTest.cpp:814: starting source.reset(createSource()) [DEBUG 00:00:27] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A [DEBUG 00:00:27] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1 [DEBUG 00:00:27] sync = two-way (set) [DEBUG 00:00:27] uri = con (set) [DEBUG 00:00:27] backend = Evolution Address Book (set) [DEBUG 00:00:27] syncFormat = text/vcard (set) [DEBUG 00:00:27] forceSyncFormat = 0 (default) [DEBUG 00:00:27] database = Test_eds_contact_1 (set) [DEBUG 00:00:27] databaseFormat = (default) [DEBUG 00:00:27] databaseUser = (default) [DEBUG 00:00:27] databasePassword = (default) [DEBUG 00:00:27] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:27] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:27] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:27] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:27] ClientTest.cpp:431: starting get()->open() [DEBUG 00:00:28] ClientTest.cpp:431: ending get()->open() [DEBUG 00:00:28] eds_contact: using full item scan to detect changes [DEBUG 00:00:28] ClientTest.cpp:814: ending source.reset(createSource()) [DEBUG 00:00:28] ClientTest.cpp:814: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:28] ClientTest.cpp:814: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:28] ClientTest.cpp:818: starting CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0))) [DEBUG 00:00:28] ClientTest.cpp:818: ending CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0))) [DEBUG 00:00:28] ClientTest.cpp:818: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:28] ClientTest.cpp:818: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:28] ClientTest.cpp:819: starting CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:00:28] ClientTest.cpp:819: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:00:28] ClientTest.cpp:820: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:00:28] ClientTest.cpp:820: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:00:28] ClientTest.cpp:821: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:00:28] ClientTest.cpp:821: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:00:28] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:00:28] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:28] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:28] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:00:28] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:00:28] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:28] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:28] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:00:28] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:00:28] ClientTest.cpp:463: starting get()->close() [DEBUG 00:00:28] ClientTest.cpp:463: ending get()->close() [DEBUG 00:00:28] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:00:28] ClientTest.cpp:6491: ending source_pair.second->deleteAll(source_pair.second->createSourceA) [DEBUG 00:00:28] ClientTest.cpp:3108: ending allSourcesDeleteAll() [DEBUG 00:00:28] ClientTest.cpp:3109: starting doSync(logPrefix, options) [DEBUG 00:00:28] 2. starting Client_Sync_eds_contact_testMerge.copy.deleteall.twoway.client.A with sync mode two-way [DEBUG 00:00:28] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options) [DEBUG 00:00:28] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory [DEBUG 00:00:28] log path -> Client_Sync_eds_contact_testMerge.copy.deleteall.twoway.client.A, No such file or directory [DEBUG 00:00:28] log path -> Client_Sync_eds_contact_testMerge.copy.deleteall.twoway.client.A, No such file or directory [DEBUG 00:00:28] checking log dir Client_Sync_eds_contact_testMerge.copy.deleteall.twoway.client.A [DEBUG 00:00:28] logfile: Client_Sync_eds_contact_testMerge.copy.deleteall.twoway.client.A/syncevolution-log.html [DEVELOPER 00:00:29] SyncML server account: syncevolution [DEVELOPER 00:00:29] client: SyncEvolution 1.5.3 for workstation [DEVELOPER 00:00:29] device ID: sc-api-A [DEVELOPER 00:00:29] [DEVELOPER 00:00:29] [INFO 00:00:30] addressbook: inactive [INFO 00:00:30] calendar: inactive [INFO 00:00:30] calendar+todo: inactive [INFO 00:00:30] eas_contact: inactive [INFO 00:00:30] eas_event: inactive [INFO 00:00:30] eas_memo: inactive [INFO 00:00:30] eas_task: inactive [INFO 00:00:30] eds_event: inactive [INFO 00:00:30] eds_memo: inactive [INFO 00:00:30] eds_task: inactive [INFO 00:00:30] file_calendar+todo: inactive [INFO 00:00:30] file_contact: inactive [INFO 00:00:30] file_event: inactive [INFO 00:00:30] file_task: inactive [INFO 00:00:30] kde_contact: inactive [INFO 00:00:30] kde_event: inactive [INFO 00:00:30] kde_memo: inactive [INFO 00:00:30] kde_task: inactive [INFO 00:00:30] memo: inactive [INFO 00:00:30] todo: inactive [DEBUG 00:00:30] checking password property 'password' in config 'memotoo_1@client-test-memotoo-1' with user identity 'syncevolution' [DEBUG 00:00:30] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:00:30] not using KWallet [DEBUG 00:00:30] sync password for memotoo_1@client-test-memotoo-1: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:00:30] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_1@client-test-memotoo-1' with user identity '' [DEBUG 00:00:30] sync is starting, catch signals [DEBUG 00:00:30] SuspendFlags: (re)activating, currently inactive [DEBUG 00:00:30] SuspendFlags: activating signal handler(s) with fds 38->37 [DEBUG 00:00:30] SuspendFlags: catch signal 15 [DEBUG 00:00:30] ready to sync [DEBUG 00:00:30] CreateContext SyncEvolution//eds_contact => 0 [DEBUG 00:00:30] Module_Version = 01090100 [DEBUG 00:00:30] Module_Capabilities: [DEBUG 00:00:30] PLATFORM:Linux [DEBUG 00:00:30] DLL:true [DEBUG 00:00:30] MINVERSION:V1.0.6.0 [DEBUG 00:00:30] MANUFACTURER:SyncEvolution [DEBUG 00:00:30] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:00:30] plugin_datastore_str:no [DEBUG 00:00:30] plugin_datastore_key:yes [DEBUG 00:00:30] ITEM_AS_KEY:yes [DEBUG 00:00:30] plugin_datablob:no [DEBUG 00:00:30] eds_contact: Module_PluginParams [DEBUG 00:00:30] eds_contact: Engine=01090100 [DEBUG 00:00:30] eds_contact: [DEBUG 00:00:30] Module_Capabilities: [DEBUG 00:00:30] PLATFORM:Linux [DEBUG 00:00:30] DLL:true [DEBUG 00:00:30] MINVERSION:V1.0.6.0 [DEBUG 00:00:30] MANUFACTURER:SyncEvolution [DEBUG 00:00:30] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:00:30] plugin_datastore_str:no [DEBUG 00:00:30] plugin_datastore_key:yes [DEBUG 00:00:30] ITEM_AS_KEY:yes [DEBUG 00:00:30] plugin_datablob:no [DEBUG 00:00:30] copying syncURL, username, password to Synthesis engine [DEBUG 00:00:30] using plain username/password for syncevolution [DEBUG 00:00:30] eds_contact: total number of items received 0 [INFO 00:00:32] eds_contact: starting normal sync, two-way (peer is server) [DEBUG 00:00:32] reading: set read-ahead based on sync mode two-way [DEBUG 00:00:32] eds_contact: reading: set order 'changed', 0 luids [DEBUG 00:00:32] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0 [DEBUG 00:00:32] eds_contact: FilterSupport staticfilter: [DEBUG 00:00:32] eds_contact: dynamicfilter: [DEBUG 00:00:32] eds_contact: invisiblefilter: [DEBUG 00:00:32] eds_contact: using full item scan to detect changes [DEBUG 00:00:32] eds_contact: StartDataRead last='1' resume='1' res=0 [DEBUG 00:00:32] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0 [DEBUG 00:00:32] eds_contact: EndDataRead res=0 [DEBUG 00:00:32] eds_contact: StartDataWrite [DEBUG 00:00:32] eds_contact: total number of items received 0 [INFO 00:00:32] eds_contact: sent 1/1 [DEBUG 00:00:33] eds_contact: total number of items received 0 [INFO 00:00:33] eds_contact: started [DEBUG 00:00:33] eds_contact: total number of items received 0 [DEBUG 00:00:34] eds_contact: EndDataWrite COMMIT '1' res=0 [DEBUG 00:00:34] eds_contact: DeleteContext [INFO 00:00:34] eds_contact: normal sync done successfully [DEBUG 00:00:34] closing session [DEBUG 00:00:34] session closed [DEBUG 00:00:34] SuspendFlags: deactivating fds 38->37 [DEBUG 00:00:34] SuspendFlags: close m_receiverFD 37 [DEBUG 00:00:34] SuspendFlags: close m_senderFD 38 [DEBUG 00:00:34] SuspendFlags: done with deactivation [DEBUG 00:00:34] Module_DeleteContext eds_contact [INFO 00:00:34] sync report: [INFO 00:00:34] +---------------|-----------------------|-----------------------|-CON-+ [INFO 00:00:34] | | LOCAL | REMOTE | FLI | [INFO 00:00:34] | Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS | [INFO 00:00:34] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:00:34] | eds_contact | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | [INFO 00:00:34] | two-way, 0 KB sent by client, 0 KB received | [INFO 00:00:34] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:00:34] | start Fri Jan 5 19:43:09 2018, duration 0:06min | [INFO 00:00:34] | synchronization completed successfully | [INFO 00:00:34] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:00:34] ----------|--------CLIENT---------|--------SERVER---------| [INFO 00:00:34] | NEW | MOD | DEL | NEW | MOD | DEL | [INFO 00:00:34] ----------|-----------------------------------------------| [INFO 00:00:34] Expected | 0 | 0 | 0 | 0 | 0 | -1 | [INFO 00:00:34] Expected sync mode: two-way [INFO 00:00:34] Expected cycles: 1 [INFO 00:00:34] [DEBUG 00:00:34] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:00:34] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:00:34] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:00:34] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:00:34] Checking sync source eds_contact... [DEBUG 00:00:34] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:00:34] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:00:34] 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:34] 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:34] 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:34] 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:34] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:00:34] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:00:34] 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:34] 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:34] 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:34] 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:34] 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:34] 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:34] 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:34] 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:34] 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:34] 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:34] Done with checking sync report. [DEBUG 00:00:34] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options) [DEBUG 00:00:34] ClientTest.cpp:6465: starting postSync(res, logname) [DEBUG 00:00:44] ClientTest.cpp:6465: ending postSync(res, logname) [DEBUG 00:00:44] ClientTest.cpp:3109: ending doSync(logPrefix, options) [DEBUG 00:00:44] ClientTest.cpp:3132: ending deleteAll() [DEBUG 00:00:44] ClientTest.cpp:3105: starting allSourcesDeleteAll() [DEBUG 00:00:44] ClientTest.cpp:6491: starting source_pair.second->deleteAll(source_pair.second->createSourceA) [DEBUG 00:00:44] ClientTest.cpp:802: starting CPPUNIT_ASSERT(createSource.createSource) [DEBUG 00:00:44] ClientTest.cpp:802: ending CPPUNIT_ASSERT(createSource.createSource) [DEBUG 00:00:44] ClientTest.cpp:807: starting source.reset(createSource()) [DEBUG 00:00:44] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _2_A [DEBUG 00:00:44] overriding testing source eds_contact properties with the ones from config memotoo_2 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-2/peers/memotoo_2 [DEBUG 00:00:44] sync = two-way (set) [DEBUG 00:00:44] uri = con (set) [DEBUG 00:00:44] backend = Evolution Address Book (set) [DEBUG 00:00:44] syncFormat = text/vcard (set) [DEBUG 00:00:44] forceSyncFormat = 0 (default) [DEBUG 00:00:44] database = Test_eds_contact_2 (set) [DEBUG 00:00:44] databaseFormat = (default) [DEBUG 00:00:44] databaseUser = (default) [DEBUG 00:00:44] databasePassword = (default) [DEBUG 00:00:44] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:44] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:44] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:44] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:44] ClientTest.cpp:431: starting get()->open() [DEBUG 00:00:44] ClientTest.cpp:431: ending get()->open() [DEBUG 00:00:44] eds_contact: slow sync or testing, do full item scan to detect changes [DEBUG 00:00:44] ClientTest.cpp:807: ending source.reset(createSource()) [DEBUG 00:00:44] ClientTest.cpp:807: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:44] ClientTest.cpp:807: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:44] ClientTest.cpp:810: starting source->removeAllItems() [DEBUG 00:00:44] ClientTest.cpp:810: ending source->removeAllItems() [DEBUG 00:00:44] ClientTest.cpp:810: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:44] ClientTest.cpp:810: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:44] ClientTest.cpp:811: starting source.reset() [DEBUG 00:00:44] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:44] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:44] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:00:44] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:00:44] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:45] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:45] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:00:45] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:00:45] ClientTest.cpp:463: starting get()->close() [DEBUG 00:00:45] ClientTest.cpp:463: ending get()->close() [DEBUG 00:00:45] ClientTest.cpp:811: ending source.reset() [DEBUG 00:00:45] ClientTest.cpp:814: starting source.reset(createSource()) [DEBUG 00:00:45] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _2_A [DEBUG 00:00:45] overriding testing source eds_contact properties with the ones from config memotoo_2 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-2/peers/memotoo_2 [DEBUG 00:00:45] sync = two-way (set) [DEBUG 00:00:45] uri = con (set) [DEBUG 00:00:45] backend = Evolution Address Book (set) [DEBUG 00:00:45] syncFormat = text/vcard (set) [DEBUG 00:00:45] forceSyncFormat = 0 (default) [DEBUG 00:00:45] database = Test_eds_contact_2 (set) [DEBUG 00:00:45] databaseFormat = (default) [DEBUG 00:00:45] databaseUser = (default) [DEBUG 00:00:45] databasePassword = (default) [DEBUG 00:00:45] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:45] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:45] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:45] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:00:45] ClientTest.cpp:431: starting get()->open() [DEBUG 00:00:45] ClientTest.cpp:431: ending get()->open() [DEBUG 00:00:45] eds_contact: using full item scan to detect changes [DEBUG 00:00:45] ClientTest.cpp:814: ending source.reset(createSource()) [DEBUG 00:00:45] ClientTest.cpp:814: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:45] ClientTest.cpp:814: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:45] ClientTest.cpp:818: starting CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0))) [DEBUG 00:00:45] ClientTest.cpp:818: ending CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0))) [DEBUG 00:00:45] ClientTest.cpp:818: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:45] ClientTest.cpp:818: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:00:45] ClientTest.cpp:819: starting CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:00:45] ClientTest.cpp:819: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:00:45] ClientTest.cpp:820: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:00:45] ClientTest.cpp:820: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:00:45] ClientTest.cpp:821: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:00:45] ClientTest.cpp:821: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:00:45] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:00:45] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:00:45] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:00:45] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:00:45] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:00:45] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:45] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:00:45] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:00:45] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:00:45] ClientTest.cpp:463: starting get()->close() [DEBUG 00:00:45] ClientTest.cpp:463: ending get()->close() [DEBUG 00:00:45] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:00:45] ClientTest.cpp:6491: ending source_pair.second->deleteAll(source_pair.second->createSourceA) [DEBUG 00:00:45] ClientTest.cpp:3105: ending allSourcesDeleteAll() [DEBUG 00:00:45] ClientTest.cpp:3106: starting doSync(logPrefix, options) [DEBUG 00:00:45] 3. starting Client_Sync_eds_contact_testMerge.deleteall.init.client.B with sync mode slow [DEBUG 00:00:45] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options) [DEBUG 00:00:45] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory [DEBUG 00:00:45] log path -> Client_Sync_eds_contact_testMerge.deleteall.init.client.B, No such file or directory [DEBUG 00:00:45] log path -> Client_Sync_eds_contact_testMerge.deleteall.init.client.B, No such file or directory [DEBUG 00:00:45] checking log dir Client_Sync_eds_contact_testMerge.deleteall.init.client.B [DEBUG 00:00:45] logfile: Client_Sync_eds_contact_testMerge.deleteall.init.client.B/syncevolution-log.html [DEVELOPER 00:00:47] SyncML server account: syncevolution [DEVELOPER 00:00:47] client: SyncEvolution 1.5.3 for workstation [DEVELOPER 00:00:47] device ID: sc-pim-B [DEVELOPER 00:00:47] [DEVELOPER 00:00:47] [INFO 00:00:47] addressbook: inactive [INFO 00:00:47] calendar: inactive [INFO 00:00:47] calendar+todo: inactive [INFO 00:00:47] eas_contact: inactive [INFO 00:00:47] eas_event: inactive [INFO 00:00:47] eas_memo: inactive [INFO 00:00:47] eas_task: inactive [INFO 00:00:47] eds_event: inactive [INFO 00:00:47] eds_memo: inactive [INFO 00:00:47] eds_task: inactive [INFO 00:00:47] file_calendar+todo: inactive [INFO 00:00:47] file_contact: inactive [INFO 00:00:47] file_event: inactive [INFO 00:00:47] file_task: inactive [INFO 00:00:47] kde_contact: inactive [INFO 00:00:47] kde_event: inactive [INFO 00:00:47] kde_memo: inactive [INFO 00:00:47] kde_task: inactive [INFO 00:00:47] memo: inactive [INFO 00:00:47] todo: inactive [DEBUG 00:00:47] checking password property 'password' in config 'memotoo_2@client-test-memotoo-2' with user identity 'syncevolution' [DEBUG 00:00:47] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:00:47] not using KWallet [DEBUG 00:00:47] sync password for memotoo_2@client-test-memotoo-2: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:00:47] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_2@client-test-memotoo-2' with user identity '' [DEBUG 00:00:48] sync is starting, catch signals [DEBUG 00:00:48] SuspendFlags: (re)activating, currently inactive [DEBUG 00:00:48] SuspendFlags: activating signal handler(s) with fds 38->37 [DEBUG 00:00:48] SuspendFlags: catch signal 15 [DEBUG 00:00:48] ready to sync [DEBUG 00:00:48] CreateContext SyncEvolution//eds_contact => 0 [DEBUG 00:00:48] Module_Version = 01090100 [DEBUG 00:00:48] Module_Capabilities: [DEBUG 00:00:48] PLATFORM:Linux [DEBUG 00:00:48] DLL:true [DEBUG 00:00:48] MINVERSION:V1.0.6.0 [DEBUG 00:00:48] MANUFACTURER:SyncEvolution [DEBUG 00:00:48] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:00:48] plugin_datastore_str:no [DEBUG 00:00:48] plugin_datastore_key:yes [DEBUG 00:00:48] ITEM_AS_KEY:yes [DEBUG 00:00:48] plugin_datablob:no [DEBUG 00:00:48] eds_contact: Module_PluginParams [DEBUG 00:00:48] eds_contact: Engine=01090100 [DEBUG 00:00:48] eds_contact: [DEBUG 00:00:48] Module_Capabilities: [DEBUG 00:00:48] PLATFORM:Linux [DEBUG 00:00:48] DLL:true [DEBUG 00:00:48] MINVERSION:V1.0.6.0 [DEBUG 00:00:48] MANUFACTURER:SyncEvolution [DEBUG 00:00:48] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:00:48] plugin_datastore_str:no [DEBUG 00:00:48] plugin_datastore_key:yes [DEBUG 00:00:48] ITEM_AS_KEY:yes [DEBUG 00:00:48] plugin_datablob:no [DEBUG 00:00:48] copying syncURL, username, password to Synthesis engine [DEBUG 00:00:48] using plain username/password for syncevolution [DEBUG 00:00:48] eds_contact: total number of items received 0 [INFO 00:00:50] eds_contact: starting first time sync, two-way (peer is server) [DEBUG 00:00:50] reading: set read-ahead based on sync mode slow [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 [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:51] eds_contact: DeleteContext [INFO 00:00:51] eds_contact: first time sync done successfully [DEBUG 00:00:51] closing session [DEBUG 00:00:51] session closed [DEBUG 00:00:51] SuspendFlags: deactivating fds 38->37 [DEBUG 00:00:51] SuspendFlags: close m_receiverFD 37 [DEBUG 00:00:51] SuspendFlags: close m_senderFD 38 [DEBUG 00:00:51] SuspendFlags: done with deactivation [DEBUG 00:00:51] Module_DeleteContext eds_contact [INFO 00:00:51] sync report: [INFO 00:00:51] +---------------|-----------------------|-----------------------|-CON-+ [INFO 00:00:51] | | LOCAL | REMOTE | FLI | [INFO 00:00:51] | Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS | [INFO 00:00:51] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:00:51] | eds_contact | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | [INFO 00:00:51] | slow, 0 KB sent by client, 0 KB received | [INFO 00:00:51] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:00:51] | start Fri Jan 5 19:43:26 2018, duration 0:06min | [INFO 00:00:51] | synchronization completed successfully | [INFO 00:00:51] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:00:51] ----------|--------CLIENT---------|--------SERVER---------| [INFO 00:00:51] | NEW | MOD | DEL | NEW | MOD | DEL | [INFO 00:00:51] ----------|-----------------------------------------------| [INFO 00:00:51] Expected | -1 | -1 | -1 | -1 | -1 | -1 | [INFO 00:00:51] Expected sync mode: disabled [INFO 00:00:51] Expected cycles: 1 [INFO 00:00:51] [DEBUG 00:00:51] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:00:51] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:00:51] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:00:51] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:00:51] Checking sync source eds_contact... [DEBUG 00:00:51] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:00:51] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:00:51] 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:51] 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:51] 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:51] 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:51] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:00:51] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:00:51] Done with checking sync report. [DEBUG 00:00:51] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options) [DEBUG 00:00:51] ClientTest.cpp:6465: starting postSync(res, logname) [DEBUG 00:01:01] ClientTest.cpp:6465: ending postSync(res, logname) [DEBUG 00:01:01] ClientTest.cpp:3106: ending doSync(logPrefix, options) [DEBUG 00:01:01] ClientTest.cpp:3108: starting allSourcesDeleteAll() [DEBUG 00:01:01] ClientTest.cpp:6491: starting source_pair.second->deleteAll(source_pair.second->createSourceA) [DEBUG 00:01:01] ClientTest.cpp:802: starting CPPUNIT_ASSERT(createSource.createSource) [DEBUG 00:01:01] ClientTest.cpp:802: ending CPPUNIT_ASSERT(createSource.createSource) [DEBUG 00:01:01] ClientTest.cpp:807: starting source.reset(createSource()) [DEBUG 00:01:01] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _2_A [DEBUG 00:01:01] overriding testing source eds_contact properties with the ones from config memotoo_2 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-2/peers/memotoo_2 [DEBUG 00:01:01] sync = two-way (set) [DEBUG 00:01:01] uri = con (set) [DEBUG 00:01:01] backend = Evolution Address Book (set) [DEBUG 00:01:01] syncFormat = text/vcard (set) [DEBUG 00:01:01] forceSyncFormat = 0 (default) [DEBUG 00:01:01] database = Test_eds_contact_2 (set) [DEBUG 00:01:01] databaseFormat = (default) [DEBUG 00:01:01] databaseUser = (default) [DEBUG 00:01:01] databasePassword = (default) [DEBUG 00:01:01] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:01] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:01] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:01] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:01] ClientTest.cpp:431: starting get()->open() [DEBUG 00:01:02] ClientTest.cpp:431: ending get()->open() [DEBUG 00:01:02] eds_contact: using full item scan to detect changes [DEBUG 00:01:02] ClientTest.cpp:807: ending source.reset(createSource()) [DEBUG 00:01:02] ClientTest.cpp:807: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:02] ClientTest.cpp:807: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:02] ClientTest.cpp:810: starting source->removeAllItems() [DEBUG 00:01:02] ClientTest.cpp:810: ending source->removeAllItems() [DEBUG 00:01:02] ClientTest.cpp:810: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:02] ClientTest.cpp:810: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:02] ClientTest.cpp:811: starting source.reset() [DEBUG 00:01:02] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:02] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:02] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:01:02] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:01:02] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:02] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:02] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:01:02] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:01:02] ClientTest.cpp:463: starting get()->close() [DEBUG 00:01:02] ClientTest.cpp:463: ending get()->close() [DEBUG 00:01:02] ClientTest.cpp:811: ending source.reset() [DEBUG 00:01:02] ClientTest.cpp:814: starting source.reset(createSource()) [DEBUG 00:01:02] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _2_A [DEBUG 00:01:02] overriding testing source eds_contact properties with the ones from config memotoo_2 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-2/peers/memotoo_2 [DEBUG 00:01:02] sync = two-way (set) [DEBUG 00:01:02] uri = con (set) [DEBUG 00:01:02] backend = Evolution Address Book (set) [DEBUG 00:01:02] syncFormat = text/vcard (set) [DEBUG 00:01:02] forceSyncFormat = 0 (default) [DEBUG 00:01:02] database = Test_eds_contact_2 (set) [DEBUG 00:01:02] databaseFormat = (default) [DEBUG 00:01:02] databaseUser = (default) [DEBUG 00:01:02] databasePassword = (default) [DEBUG 00:01:02] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:02] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:02] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:02] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:02] ClientTest.cpp:431: starting get()->open() [DEBUG 00:01:02] ClientTest.cpp:431: ending get()->open() [DEBUG 00:01:02] eds_contact: using full item scan to detect changes [DEBUG 00:01:02] ClientTest.cpp:814: ending source.reset(createSource()) [DEBUG 00:01:02] ClientTest.cpp:814: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:02] ClientTest.cpp:814: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:02] ClientTest.cpp:818: starting CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0))) [DEBUG 00:01:02] ClientTest.cpp:818: ending CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0))) [DEBUG 00:01:02] ClientTest.cpp:818: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:02] ClientTest.cpp:818: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:02] ClientTest.cpp:819: starting CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:01:02] ClientTest.cpp:819: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:01:02] ClientTest.cpp:820: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:01:02] ClientTest.cpp:820: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:01:02] ClientTest.cpp:821: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:01:02] ClientTest.cpp:821: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:01:02] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:01:02] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:02] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:02] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:01:02] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:01:02] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:02] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:02] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:01:02] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:01:02] ClientTest.cpp:463: starting get()->close() [DEBUG 00:01:02] ClientTest.cpp:463: ending get()->close() [DEBUG 00:01:02] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:01:02] ClientTest.cpp:6491: ending source_pair.second->deleteAll(source_pair.second->createSourceA) [DEBUG 00:01:02] ClientTest.cpp:3108: ending allSourcesDeleteAll() [DEBUG 00:01:02] ClientTest.cpp:3109: starting doSync(logPrefix, options) [DEBUG 00:01:02] 4. starting Client_Sync_eds_contact_testMerge.deleteall.twoway.client.B with sync mode two-way [DEBUG 00:01:02] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options) [DEBUG 00:01:02] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory [DEBUG 00:01:02] log path -> Client_Sync_eds_contact_testMerge.deleteall.twoway.client.B, No such file or directory [DEBUG 00:01:02] log path -> Client_Sync_eds_contact_testMerge.deleteall.twoway.client.B, No such file or directory [DEBUG 00:01:02] checking log dir Client_Sync_eds_contact_testMerge.deleteall.twoway.client.B [DEBUG 00:01:02] logfile: Client_Sync_eds_contact_testMerge.deleteall.twoway.client.B/syncevolution-log.html [DEVELOPER 00:01:04] SyncML server account: syncevolution [DEVELOPER 00:01:04] client: SyncEvolution 1.5.3 for workstation [DEVELOPER 00:01:04] device ID: sc-pim-B [DEVELOPER 00:01:04] [DEVELOPER 00:01:04] [INFO 00:01:04] addressbook: inactive [INFO 00:01:04] calendar: inactive [INFO 00:01:04] calendar+todo: inactive [INFO 00:01:04] eas_contact: inactive [INFO 00:01:04] eas_event: inactive [INFO 00:01:04] eas_memo: inactive [INFO 00:01:04] eas_task: inactive [INFO 00:01:04] eds_event: inactive [INFO 00:01:04] eds_memo: inactive [INFO 00:01:04] eds_task: inactive [INFO 00:01:04] file_calendar+todo: inactive [INFO 00:01:04] file_contact: inactive [INFO 00:01:04] file_event: inactive [INFO 00:01:04] file_task: inactive [INFO 00:01:04] kde_contact: inactive [INFO 00:01:04] kde_event: inactive [INFO 00:01:04] kde_memo: inactive [INFO 00:01:04] kde_task: inactive [INFO 00:01:04] memo: inactive [INFO 00:01:04] todo: inactive [DEBUG 00:01:04] checking password property 'password' in config 'memotoo_2@client-test-memotoo-2' with user identity 'syncevolution' [DEBUG 00:01:04] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:01:04] not using KWallet [DEBUG 00:01:04] sync password for memotoo_2@client-test-memotoo-2: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:01:04] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_2@client-test-memotoo-2' with user identity '' [DEBUG 00:01:04] sync is starting, catch signals [DEBUG 00:01:04] SuspendFlags: (re)activating, currently inactive [DEBUG 00:01:04] SuspendFlags: activating signal handler(s) with fds 38->37 [DEBUG 00:01:04] SuspendFlags: catch signal 15 [DEBUG 00:01:04] ready to sync [DEBUG 00:01:04] CreateContext SyncEvolution//eds_contact => 0 [DEBUG 00:01:04] Module_Version = 01090100 [DEBUG 00:01:04] Module_Capabilities: [DEBUG 00:01:04] PLATFORM:Linux [DEBUG 00:01:04] DLL:true [DEBUG 00:01:04] MINVERSION:V1.0.6.0 [DEBUG 00:01:04] MANUFACTURER:SyncEvolution [DEBUG 00:01:04] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:01:04] plugin_datastore_str:no [DEBUG 00:01:04] plugin_datastore_key:yes [DEBUG 00:01:04] ITEM_AS_KEY:yes [DEBUG 00:01:04] plugin_datablob:no [DEBUG 00:01:04] eds_contact: Module_PluginParams [DEBUG 00:01:04] eds_contact: Engine=01090100 [DEBUG 00:01:04] eds_contact: [DEBUG 00:01:04] Module_Capabilities: [DEBUG 00:01:04] PLATFORM:Linux [DEBUG 00:01:04] DLL:true [DEBUG 00:01:04] MINVERSION:V1.0.6.0 [DEBUG 00:01:04] MANUFACTURER:SyncEvolution [DEBUG 00:01:04] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:01:04] plugin_datastore_str:no [DEBUG 00:01:04] plugin_datastore_key:yes [DEBUG 00:01:04] ITEM_AS_KEY:yes [DEBUG 00:01:04] plugin_datablob:no [DEBUG 00:01:05] copying syncURL, username, password to Synthesis engine [DEBUG 00:01:05] using plain username/password for syncevolution [DEBUG 00:01:05] eds_contact: total number of items received 0 [INFO 00:01:07] eds_contact: starting normal sync, two-way (peer is server) [DEBUG 00:01:07] reading: set read-ahead based on sync mode two-way [DEBUG 00:01:07] eds_contact: reading: set order 'changed', 0 luids [DEBUG 00:01:07] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0 [DEBUG 00:01:07] eds_contact: FilterSupport staticfilter: [DEBUG 00:01:07] eds_contact: dynamicfilter: [DEBUG 00:01:07] eds_contact: invisiblefilter: [DEBUG 00:01:07] eds_contact: using full item scan to detect changes [DEBUG 00:01:07] eds_contact: StartDataRead last='1' resume='1' res=0 [DEBUG 00:01:07] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0 [DEBUG 00:01:07] eds_contact: EndDataRead res=0 [DEBUG 00:01:07] eds_contact: StartDataWrite [DEBUG 00:01:07] eds_contact: total number of items received 0 [DEBUG 00:01:07] eds_contact: total number of items received 0 [INFO 00:01:08] eds_contact: started [DEBUG 00:01:08] eds_contact: total number of items received 0 [DEBUG 00:01:08] eds_contact: EndDataWrite COMMIT '1' res=0 [DEBUG 00:01:08] eds_contact: DeleteContext [INFO 00:01:08] eds_contact: normal sync done successfully [DEBUG 00:01:08] closing session [DEBUG 00:01:08] session closed [DEBUG 00:01:08] SuspendFlags: deactivating fds 38->37 [DEBUG 00:01:08] SuspendFlags: close m_receiverFD 37 [DEBUG 00:01:08] SuspendFlags: close m_senderFD 38 [DEBUG 00:01:08] SuspendFlags: done with deactivation [DEBUG 00:01:08] Module_DeleteContext eds_contact [INFO 00:01:08] sync report: [INFO 00:01:08] +---------------|-----------------------|-----------------------|-CON-+ [INFO 00:01:08] | | LOCAL | REMOTE | FLI | [INFO 00:01:08] | Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS | [INFO 00:01:08] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:01:08] | eds_contact | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | [INFO 00:01:08] | two-way, 0 KB sent by client, 0 KB received | [INFO 00:01:08] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:01:08] | start Fri Jan 5 19:43:43 2018, duration 0:06min | [INFO 00:01:08] | synchronization completed successfully | [INFO 00:01:08] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:01:08] ----------|--------CLIENT---------|--------SERVER---------| [INFO 00:01:08] | NEW | MOD | DEL | NEW | MOD | DEL | [INFO 00:01:08] ----------|-----------------------------------------------| [INFO 00:01:08] Expected | 0 | 0 | 0 | 0 | 0 | -1 | [INFO 00:01:08] Expected sync mode: two-way [INFO 00:01:08] Expected cycles: 1 [INFO 00:01:08] [DEBUG 00:01:08] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:01:08] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:01:08] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:01:08] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:01:08] Checking sync source eds_contact... [DEBUG 00:01:08] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:01:08] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:01:08] 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:08] 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:08] 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:08] 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:08] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:01:08] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:01:08] 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:08] 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:08] 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:08] 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:08] 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:08] 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:08] 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:08] 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:08] 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:08] 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:08] Done with checking sync report. [DEBUG 00:01:08] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options) [DEBUG 00:01:08] ClientTest.cpp:6465: starting postSync(res, logname) [DEBUG 00:01:18] ClientTest.cpp:6465: ending postSync(res, logname) [DEBUG 00:01:18] ClientTest.cpp:3109: ending doSync(logPrefix, options) [DEBUG 00:01:18] ClientTest.cpp:3138: starting allSourcesInsert() [DEBUG 00:01:18] ClientTest.cpp:6476: starting source_pair.second->doInsert(withUID) [DEBUG 00:01:18] ClientTest.cpp:1178: starting CPPUNIT_ASSERT(!config.m_insertItem.empty()) [DEBUG 00:01:18] ClientTest.cpp:1178: ending CPPUNIT_ASSERT(!config.m_insertItem.empty()) [DEBUG 00:01:18] ClientTest.cpp:1179: starting CPPUNIT_ASSERT(!config.m_createSourceA.empty()) [DEBUG 00:01:18] ClientTest.cpp:1179: ending CPPUNIT_ASSERT(!config.m_createSourceA.empty()) [DEBUG 00:01:18] ClientTest.cpp:1185: starting insert(createSourceA, item) [DEBUG 00:01:18] ClientTest.cpp:669: starting source.reset(createSource()) [DEBUG 00:01:18] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A [DEBUG 00:01:18] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1 [DEBUG 00:01:18] sync = two-way (set) [DEBUG 00:01:18] uri = con (set) [DEBUG 00:01:18] backend = Evolution Address Book (set) [DEBUG 00:01:18] syncFormat = text/vcard (set) [DEBUG 00:01:18] forceSyncFormat = 0 (default) [DEBUG 00:01:18] database = Test_eds_contact_1 (set) [DEBUG 00:01:18] databaseFormat = (default) [DEBUG 00:01:18] databaseUser = (default) [DEBUG 00:01:18] databasePassword = (default) [DEBUG 00:01:18] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:18] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:18] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:18] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:18] ClientTest.cpp:431: starting get()->open() [DEBUG 00:01:18] ClientTest.cpp:431: ending get()->open() [DEBUG 00:01:18] eds_contact: using full item scan to detect changes [DEBUG 00:01:18] ClientTest.cpp:669: ending source.reset(createSource()) [DEBUG 00:01:18] ClientTest.cpp:669: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:18] ClientTest.cpp:669: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:18] ClientTest.cpp:673: starting numItems = countItems(source.get()) [DEBUG 00:01:18] ClientTest.cpp:673: ending numItems = countItems(source.get()) [DEBUG 00:01:18] ClientTest.cpp:679: starting res = source->insertItemRaw("", mangled) [DEBUG 00:01:18] eds_contact: add operation #0: queueing for batched add [DEBUG 00:01:18] eds_contact: batch add of 1 contacts starting [DEBUG 00:01:18] eds_contact: waiting for 1 pending operations to complete [DEBUG 00:01:18] eds_contact: batch add of 1 contacts completed [DEBUG 00:01:18] eds_contact: add operation #0: completed: <<successfully>> [DEBUG 00:01:18] eds_contact: pending operations completed [DEBUG 00:01:18] eds_contact: add operation #0: checking operation: inserted [DEBUG 00:01:18] ClientTest.cpp:679: ending res = source->insertItemRaw("", mangled) [DEBUG 00:01:18] ClientTest.cpp:679: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:18] ClientTest.cpp:679: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:18] ClientTest.cpp:680: starting CPPUNIT_ASSERT(!res.m_luid.empty()) [DEBUG 00:01:18] ClientTest.cpp:680: ending CPPUNIT_ASSERT(!res.m_luid.empty()) [DEBUG 00:01:18] ClientTest.cpp:693: starting source.reset() [DEBUG 00:01:18] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:18] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:18] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:01:18] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:01:18] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:19] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:19] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:01:19] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:01:19] ClientTest.cpp:463: starting get()->close() [DEBUG 00:01:19] ClientTest.cpp:463: ending get()->close() [DEBUG 00:01:19] ClientTest.cpp:693: ending source.reset() [DEBUG 00:01:19] ClientTest.cpp:699: starting source.reset(createSource()) [DEBUG 00:01:19] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A [DEBUG 00:01:19] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1 [DEBUG 00:01:19] sync = two-way (set) [DEBUG 00:01:19] uri = con (set) [DEBUG 00:01:19] backend = Evolution Address Book (set) [DEBUG 00:01:19] syncFormat = text/vcard (set) [DEBUG 00:01:19] forceSyncFormat = 0 (default) [DEBUG 00:01:19] database = Test_eds_contact_1 (set) [DEBUG 00:01:19] databaseFormat = (default) [DEBUG 00:01:19] databaseUser = (default) [DEBUG 00:01:19] databasePassword = (default) [DEBUG 00:01:19] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:19] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:19] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:19] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:19] ClientTest.cpp:431: starting get()->open() [DEBUG 00:01:20] ClientTest.cpp:431: ending get()->open() [DEBUG 00:01:20] eds_contact: using full item scan to detect changes [DEBUG 00:01:20] ClientTest.cpp:699: ending source.reset(createSource()) [DEBUG 00:01:20] ClientTest.cpp:699: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:20] ClientTest.cpp:699: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:20] 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:01:20] 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:01:20] ClientTest.cpp:702: starting CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:01:20] ClientTest.cpp:702: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:01:20] ClientTest.cpp:703: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:01:20] ClientTest.cpp:703: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:01:20] ClientTest.cpp:704: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:01:20] ClientTest.cpp:704: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:01:20] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:01:20] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:20] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:20] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:01:20] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:01:20] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:20] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:20] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:01:20] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:01:20] ClientTest.cpp:463: starting get()->close() [DEBUG 00:01:20] ClientTest.cpp:463: ending get()->close() [DEBUG 00:01:20] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:01:20] ClientTest.cpp:1185: ending insert(createSourceA, item) [DEBUG 00:01:20] ClientTest.cpp:6476: ending source_pair.second->doInsert(withUID) [DEBUG 00:01:20] ClientTest.cpp:3138: ending allSourcesInsert() [DEBUG 00:01:20] ClientTest.cpp:3139: starting doSync(logPrefix, options) [DEBUG 00:01:20] 5. starting Client_Sync_eds_contact_testMerge.copy.send.client.A with sync mode two-way [DEBUG 00:01:20] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options) [DEBUG 00:01:20] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory [DEBUG 00:01:20] log path -> Client_Sync_eds_contact_testMerge.copy.send.client.A, No such file or directory [DEBUG 00:01:20] log path -> Client_Sync_eds_contact_testMerge.copy.send.client.A, No such file or directory [DEBUG 00:01:20] checking log dir Client_Sync_eds_contact_testMerge.copy.send.client.A [DEBUG 00:01:20] logfile: Client_Sync_eds_contact_testMerge.copy.send.client.A/syncevolution-log.html [DEVELOPER 00:01:22] SyncML server account: syncevolution [DEVELOPER 00:01:22] client: SyncEvolution 1.5.3 for workstation [DEVELOPER 00:01:22] device ID: sc-api-A [DEVELOPER 00:01:22] [DEVELOPER 00:01:22] [INFO 00:01:22] addressbook: inactive [INFO 00:01:22] calendar: inactive [INFO 00:01:22] calendar+todo: inactive [INFO 00:01:22] eas_contact: inactive [INFO 00:01:22] eas_event: inactive [INFO 00:01:22] eas_memo: inactive [INFO 00:01:22] eas_task: inactive [INFO 00:01:22] eds_event: inactive [INFO 00:01:22] eds_memo: inactive [INFO 00:01:22] eds_task: inactive [INFO 00:01:22] file_calendar+todo: inactive [INFO 00:01:22] file_contact: inactive [INFO 00:01:22] file_event: inactive [INFO 00:01:22] file_task: inactive [INFO 00:01:22] kde_contact: inactive [INFO 00:01:22] kde_event: inactive [INFO 00:01:22] kde_memo: inactive [INFO 00:01:22] kde_task: inactive [INFO 00:01:22] memo: inactive [INFO 00:01:22] todo: inactive [DEBUG 00:01:22] checking password property 'password' in config 'memotoo_1@client-test-memotoo-1' with user identity 'syncevolution' [DEBUG 00:01:22] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:01:22] not using KWallet [DEBUG 00:01:22] sync password for memotoo_1@client-test-memotoo-1: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:01:22] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_1@client-test-memotoo-1' with user identity '' [DEBUG 00:01:22] sync is starting, catch signals [DEBUG 00:01:22] SuspendFlags: (re)activating, currently inactive [DEBUG 00:01:22] SuspendFlags: activating signal handler(s) with fds 38->37 [DEBUG 00:01:22] SuspendFlags: catch signal 15 [DEBUG 00:01:22] ready to sync [DEBUG 00:01:22] CreateContext SyncEvolution//eds_contact => 0 [DEBUG 00:01:22] Module_Version = 01090100 [DEBUG 00:01:22] Module_Capabilities: [DEBUG 00:01:22] PLATFORM:Linux [DEBUG 00:01:22] DLL:true [DEBUG 00:01:22] MINVERSION:V1.0.6.0 [DEBUG 00:01:22] MANUFACTURER:SyncEvolution [DEBUG 00:01:22] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:01:22] plugin_datastore_str:no [DEBUG 00:01:22] plugin_datastore_key:yes [DEBUG 00:01:22] ITEM_AS_KEY:yes [DEBUG 00:01:22] plugin_datablob:no [DEBUG 00:01:22] eds_contact: Module_PluginParams [DEBUG 00:01:22] eds_contact: Engine=01090100 [DEBUG 00:01:22] eds_contact: [DEBUG 00:01:22] Module_Capabilities: [DEBUG 00:01:22] PLATFORM:Linux [DEBUG 00:01:22] DLL:true [DEBUG 00:01:22] MINVERSION:V1.0.6.0 [DEBUG 00:01:22] MANUFACTURER:SyncEvolution [DEBUG 00:01:22] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:01:22] plugin_datastore_str:no [DEBUG 00:01:22] plugin_datastore_key:yes [DEBUG 00:01:22] ITEM_AS_KEY:yes [DEBUG 00:01:22] plugin_datablob:no [DEBUG 00:01:22] copying syncURL, username, password to Synthesis engine [DEBUG 00:01:22] using plain username/password for syncevolution [DEBUG 00:01:23] eds_contact: total number of items received 0 [INFO 00:01:25] eds_contact: starting normal sync, two-way (peer is server) [DEBUG 00:01:25] reading: set read-ahead based on sync mode two-way [DEBUG 00:01:25] eds_contact: reading: set order 'changed', 0 luids [DEBUG 00:01:25] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0 [DEBUG 00:01:25] eds_contact: FilterSupport staticfilter: [DEBUG 00:01:25] eds_contact: dynamicfilter: [DEBUG 00:01:25] eds_contact: invisiblefilter: [DEBUG 00:01:25] eds_contact: using full item scan to detect changes [DEBUG 00:01:25] eds_contact: StartDataRead last='1' resume='1' res=0 [DEBUG 00:01:25] eds_contact: ReadNextItemAsKey aStatus=1 aID=(pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09,(null)) res=0 [DEBUG 00:01:25] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0 [DEBUG 00:01:25] eds_contact: EndDataRead res=0 [DEBUG 00:01:25] eds_contact: reading: getting contact pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:01:25] eds_contact: reading: must read contact pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:01:25] eds_contact: reading: started contact read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) [DEBUG 00:01:25] eds_contact: reading: active cache pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) [DEBUG 00:01:25] eds_contact: reading: in running cache [DEBUG 00:01:25] eds_contact: reading: contact read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) finished: <<successful>> [DEBUG 00:01:25] eds_contact: reading: contact read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) got pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:01:25] eds_contact: reading: in cache, available [DEBUG 00:01:25] eds_contact: reading: continue after contact pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:01:25] eds_contact: reading: read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09: <<okay>> [DEBUG 00:01:25] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1 [DEBUG 00:01:25] eds_contact: ReadItemAsKey aID=(pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09,) res=0 [DEBUG 00:01:25] eds_contact: StartDataWrite [DEBUG 00:01:25] eds_contact: total number of items received 0 [INFO 00:01:25] eds_contact: sent 1/1 [DEBUG 00:01:25] eds_contact: total number of items received 0 [INFO 00:01:26] eds_contact: started [DEBUG 00:01:26] eds_contact: total number of items received 0 [DEBUG 00:01:26] eds_contact: EndDataWrite COMMIT '1' res=0 [DEBUG 00:01:26] eds_contact: DeleteContext [INFO 00:01:26] eds_contact: normal sync done successfully [DEBUG 00:01:26] closing session [DEBUG 00:01:26] session closed [DEBUG 00:01:26] SuspendFlags: deactivating fds 38->37 [DEBUG 00:01:26] SuspendFlags: close m_receiverFD 37 [DEBUG 00:01:26] SuspendFlags: close m_senderFD 38 [DEBUG 00:01:26] SuspendFlags: done with deactivation [DEBUG 00:01:26] Module_DeleteContext eds_contact [INFO 00:01:26] sync report: [INFO 00:01:26] +---------------|-----------------------|-----------------------|-CON-+ [INFO 00:01:26] | | LOCAL | REMOTE | FLI | [INFO 00:01:26] | Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS | [INFO 00:01:26] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:01:26] | eds_contact | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | [INFO 00:01:26] | two-way, 0 KB sent by client, 0 KB received | [INFO 00:01:26] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:01:26] | start Fri Jan 5 19:44:01 2018, duration 0:06min | [INFO 00:01:26] | synchronization completed successfully | [INFO 00:01:26] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:01:26] ----------|--------CLIENT---------|--------SERVER---------| [INFO 00:01:26] | NEW | MOD | DEL | NEW | MOD | DEL | [INFO 00:01:26] ----------|-----------------------------------------------| [INFO 00:01:26] Expected | 0 | -1 | 0 | 1 | 0 | 0 | [INFO 00:01:26] Expected sync mode: two-way [INFO 00:01:26] Expected cycles: 1 [INFO 00:01:26] [DEBUG 00:01:26] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:01:26] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:01:26] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:01:26] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:01:26] Checking sync source eds_contact... [DEBUG 00:01:26] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:01:26] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:01: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:01: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:01: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:01: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:01:26] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:01:26] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:01: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:01: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:01: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:01: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:01: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:01: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:01: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:01: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:01: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:01: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:01:26] Done with checking sync report. [DEBUG 00:01:26] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options) [DEBUG 00:01:26] ClientTest.cpp:6465: starting postSync(res, logname) [DEBUG 00:01:36] ClientTest.cpp:6465: ending postSync(res, logname) [DEBUG 00:01:36] ClientTest.cpp:3139: ending doSync(logPrefix, options) [DEBUG 00:01:36] ClientTest.cpp:3145: starting doSync(logPrefix, options) [DEBUG 00:01:36] 6. starting Client_Sync_eds_contact_testMerge.recv.client.B with sync mode two-way [DEBUG 00:01:36] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options) [DEBUG 00:01:36] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory [DEBUG 00:01:36] log path -> Client_Sync_eds_contact_testMerge.recv.client.B, No such file or directory [DEBUG 00:01:36] log path -> Client_Sync_eds_contact_testMerge.recv.client.B, No such file or directory [DEBUG 00:01:36] checking log dir Client_Sync_eds_contact_testMerge.recv.client.B [DEBUG 00:01:36] logfile: Client_Sync_eds_contact_testMerge.recv.client.B/syncevolution-log.html [DEVELOPER 00:01:38] SyncML server account: syncevolution [DEVELOPER 00:01:38] client: SyncEvolution 1.5.3 for workstation [DEVELOPER 00:01:38] device ID: sc-pim-B [DEVELOPER 00:01:38] [DEVELOPER 00:01:38] [INFO 00:01:38] addressbook: inactive [INFO 00:01:38] calendar: inactive [INFO 00:01:38] calendar+todo: inactive [INFO 00:01:38] eas_contact: inactive [INFO 00:01:38] eas_event: inactive [INFO 00:01:38] eas_memo: inactive [INFO 00:01:38] eas_task: inactive [INFO 00:01:38] eds_event: inactive [INFO 00:01:38] eds_memo: inactive [INFO 00:01:38] eds_task: inactive [INFO 00:01:38] file_calendar+todo: inactive [INFO 00:01:38] file_contact: inactive [INFO 00:01:38] file_event: inactive [INFO 00:01:38] file_task: inactive [INFO 00:01:38] kde_contact: inactive [INFO 00:01:38] kde_event: inactive [INFO 00:01:38] kde_memo: inactive [INFO 00:01:38] kde_task: inactive [INFO 00:01:38] memo: inactive [INFO 00:01:38] todo: inactive [DEBUG 00:01:38] checking password property 'password' in config 'memotoo_2@client-test-memotoo-2' with user identity 'syncevolution' [DEBUG 00:01:38] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:01:38] not using KWallet [DEBUG 00:01:38] sync password for memotoo_2@client-test-memotoo-2: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:01:38] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_2@client-test-memotoo-2' with user identity '' [DEBUG 00:01:38] sync is starting, catch signals [DEBUG 00:01:38] SuspendFlags: (re)activating, currently inactive [DEBUG 00:01:38] SuspendFlags: activating signal handler(s) with fds 38->37 [DEBUG 00:01:38] SuspendFlags: catch signal 15 [DEBUG 00:01:38] ready to sync [DEBUG 00:01:39] CreateContext SyncEvolution//eds_contact => 0 [DEBUG 00:01:39] Module_Version = 01090100 [DEBUG 00:01:39] Module_Capabilities: [DEBUG 00:01:39] PLATFORM:Linux [DEBUG 00:01:39] DLL:true [DEBUG 00:01:39] MINVERSION:V1.0.6.0 [DEBUG 00:01:39] MANUFACTURER:SyncEvolution [DEBUG 00:01:39] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:01:39] plugin_datastore_str:no [DEBUG 00:01:39] plugin_datastore_key:yes [DEBUG 00:01:39] ITEM_AS_KEY:yes [DEBUG 00:01:39] plugin_datablob:no [DEBUG 00:01:39] eds_contact: Module_PluginParams [DEBUG 00:01:39] eds_contact: Engine=01090100 [DEBUG 00:01:39] eds_contact: [DEBUG 00:01:39] Module_Capabilities: [DEBUG 00:01:39] PLATFORM:Linux [DEBUG 00:01:39] DLL:true [DEBUG 00:01:39] MINVERSION:V1.0.6.0 [DEBUG 00:01:39] MANUFACTURER:SyncEvolution [DEBUG 00:01:39] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:01:39] plugin_datastore_str:no [DEBUG 00:01:39] plugin_datastore_key:yes [DEBUG 00:01:39] ITEM_AS_KEY:yes [DEBUG 00:01:39] plugin_datablob:no [DEBUG 00:01:39] copying syncURL, username, password to Synthesis engine [DEBUG 00:01:39] using plain username/password for syncevolution [DEBUG 00:01:39] eds_contact: total number of items received 0 [INFO 00:01:41] eds_contact: starting normal sync, two-way (peer is server) [DEBUG 00:01:41] reading: set read-ahead based on sync mode two-way [DEBUG 00:01:41] eds_contact: reading: set order 'changed', 0 luids [DEBUG 00:01:41] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0 [DEBUG 00:01:41] eds_contact: FilterSupport staticfilter: [DEBUG 00:01:41] eds_contact: dynamicfilter: [DEBUG 00:01:41] eds_contact: invisiblefilter: [DEBUG 00:01:41] eds_contact: using full item scan to detect changes [DEBUG 00:01:41] eds_contact: StartDataRead last='1' resume='1' res=0 [DEBUG 00:01:41] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0 [DEBUG 00:01:41] eds_contact: EndDataRead res=0 [DEBUG 00:01:41] eds_contact: StartDataWrite [DEBUG 00:01:41] eds_contact: total number of items received 0 [DEBUG 00:01:41] eds_contact: total number of items received 0 [INFO 00:01:42] eds_contact: started [INFO 00:01:42] eds_contact: adding "John Doe" [DEBUG 00:01:42] eds_contact: add operation #0: queueing for batched add [DEBUG 00:01:42] eds_contact: InsertItemAsKey res=1 [DEBUG 00:01:42] eds_contact: batch add of 1 contacts starting [DEBUG 00:01:42] eds_contact: waiting for 1 pending operations to complete [DEBUG 00:01:42] eds_contact: batch add of 1 contacts completed [DEBUG 00:01:42] eds_contact: add operation #0: completed: <<successfully>> [DEBUG 00:01:42] eds_contact: pending operations completed [DEBUG 00:01:42] eds_contact: add operation #0: checking operation: inserted [DEBUG 00:01:42] eds_contact: InsertItemAsKey res=0 [DEBUG 00:01:43] eds_contact: EndDataWrite COMMIT '1' res=0 [DEBUG 00:01:43] eds_contact: total number of items received 0 [INFO 00:01:43] eds_contact: received 2/1 [DEBUG 00:01:44] eds_contact: DeleteContext [INFO 00:01:44] eds_contact: normal sync done successfully [DEBUG 00:01:44] closing session [DEBUG 00:01:44] session closed [DEBUG 00:01:44] SuspendFlags: deactivating fds 38->37 [DEBUG 00:01:44] SuspendFlags: close m_receiverFD 37 [DEBUG 00:01:44] SuspendFlags: close m_senderFD 38 [DEBUG 00:01:44] SuspendFlags: done with deactivation [DEBUG 00:01:44] Module_DeleteContext eds_contact [INFO 00:01:44] sync report: [INFO 00:01:44] +---------------|-----------------------|-----------------------|-CON-+ [INFO 00:01:44] | | LOCAL | REMOTE | FLI | [INFO 00:01:44] | Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS | [INFO 00:01:44] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:01:44] | eds_contact | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | [INFO 00:01:44] | two-way, 0 KB sent by client, 0 KB received | [INFO 00:01:44] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:01:44] | start Fri Jan 5 19:44:17 2018, duration 0:08min | [INFO 00:01:44] | synchronization completed successfully | [INFO 00:01:44] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:01:44] ----------|--------CLIENT---------|--------SERVER---------| [INFO 00:01:44] | NEW | MOD | DEL | NEW | MOD | DEL | [INFO 00:01:44] ----------|-----------------------------------------------| [INFO 00:01:44] Expected | 1 | 0 | 0 | 0 | 0 | 0 | [INFO 00:01:44] Expected sync mode: two-way [INFO 00:01:44] Expected cycles: 1 [INFO 00:01:44] [DEBUG 00:01:44] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:01:44] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:01:44] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:01:44] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:01:44] Checking sync source eds_contact... [DEBUG 00:01:44] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:01:44] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:01:44] 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:44] 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:44] 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:44] 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:44] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:01:44] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:01:44] 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:44] 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:44] 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:44] 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:44] 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:44] 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:44] 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:44] 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:44] 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:44] 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:44] 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:44] 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:44] Done with checking sync report. [DEBUG 00:01:44] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options) [DEBUG 00:01:44] ClientTest.cpp:6465: starting postSync(res, logname) [DEBUG 00:01:54] ClientTest.cpp:6465: ending postSync(res, logname) [DEBUG 00:01:54] ClientTest.cpp:3145: ending doSync(logPrefix, options) [DEBUG 00:01:54] ClientTest.cpp:3150: starting compareDatabases() [DEBUG 00:01:54] ClientTest.cpp:3065: starting CPPUNIT_ASSERT(accessClientB) [DEBUG 00:01:54] ClientTest.cpp:3065: ending CPPUNIT_ASSERT(accessClientB) [DEBUG 00:01:54] ClientTest.cpp:3070: starting copy.reset(it2->second->createSourceB()) [DEBUG 00:01:54] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _2_B [DEBUG 00:01:54] overriding testing source eds_contact properties with the ones from config memotoo_2 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-2/peers/memotoo_2 [DEBUG 00:01:54] sync = two-way (set) [DEBUG 00:01:54] uri = con (set) [DEBUG 00:01:54] backend = Evolution Address Book (set) [DEBUG 00:01:54] syncFormat = text/vcard (set) [DEBUG 00:01:54] forceSyncFormat = 0 (default) [DEBUG 00:01:54] database = Test_eds_contact_2 (set) [DEBUG 00:01:54] databaseFormat = (default) [DEBUG 00:01:54] databaseUser = (default) [DEBUG 00:01:54] databasePassword = (default) [DEBUG 00:01:54] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:54] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:54] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:54] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:54] ClientTest.cpp:431: starting get()->open() [DEBUG 00:01:54] ClientTest.cpp:431: ending get()->open() [DEBUG 00:01:54] eds_contact: slow sync or testing, do full item scan to detect changes [DEBUG 00:01:54] ClientTest.cpp:3070: ending copy.reset(it2->second->createSourceB()) [DEBUG 00:01:54] ClientTest.cpp:3070: starting CPPUNIT_ASSERT((copy.get())) [DEBUG 00:01:54] ClientTest.cpp:3070: ending CPPUNIT_ASSERT((copy.get())) [DEBUG 00:01:54] ClientTest.cpp:846: starting CPPUNIT_ASSERT(config.m_dump) [DEBUG 00:01:54] ClientTest.cpp:846: ending CPPUNIT_ASSERT(config.m_dump) [DEBUG 00:01:54] ClientTest.cpp:856: starting source.reset(createSourceA()) [DEBUG 00:01:54] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A [DEBUG 00:01:54] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1 [DEBUG 00:01:54] sync = two-way (set) [DEBUG 00:01:54] uri = con (set) [DEBUG 00:01:54] backend = Evolution Address Book (set) [DEBUG 00:01:54] syncFormat = text/vcard (set) [DEBUG 00:01:54] forceSyncFormat = 0 (default) [DEBUG 00:01:54] database = Test_eds_contact_1 (set) [DEBUG 00:01:54] databaseFormat = (default) [DEBUG 00:01:54] databaseUser = (default) [DEBUG 00:01:54] databasePassword = (default) [DEBUG 00:01:54] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:54] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:54] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:54] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:54] ClientTest.cpp:431: starting get()->open() [DEBUG 00:01:54] ClientTest.cpp:431: ending get()->open() [DEBUG 00:01:54] eds_contact: using full item scan to detect changes [DEBUG 00:01:54] ClientTest.cpp:856: ending source.reset(createSourceA()) [DEBUG 00:01:54] ClientTest.cpp:856: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:54] ClientTest.cpp:856: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:54] ClientTest.cpp:857: starting CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, *source.get(), sourceFile))) [DEBUG 00:01:54] ClientTest.cpp:6698: starting CPPUNIT_ASSERT(source.getOperations().m_backupData) [DEBUG 00:01:54] ClientTest.cpp:6698: ending CPPUNIT_ASSERT(source.getOperations().m_backupData) [DEBUG 00:01:54] eds_contact: reading: set order 'selected', 1 luids [DEBUG 00:01:54] eds_contact: reading: getting contact pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:01:54] eds_contact: reading: must read contact pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:01:54] eds_contact: reading: started contact read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) [DEBUG 00:01:54] eds_contact: reading: active cache pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) [DEBUG 00:01:54] eds_contact: reading: in running cache [DEBUG 00:01:54] eds_contact: reading: contact read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) finished: <<successful>> [DEBUG 00:01:54] eds_contact: reading: contact read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) got pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:01:54] eds_contact: reading: in cache, available [DEBUG 00:01:54] eds_contact: reading: continue after contact pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:01:54] eds_contact: reading: read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09: <<okay>> [DEBUG 00:01:54] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1 [DEBUG 00:01:54] eds_contact: reading: set order 'none', 0 luids [DEBUG 00:01:54] ClientTest.cpp:857: ending CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, *source.get(), sourceFile))) [DEBUG 00:01:54] ClientTest.cpp:857: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:54] ClientTest.cpp:857: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:54] ClientTest.cpp:858: starting source.reset() [DEBUG 00:01:54] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:54] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:54] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:01:54] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:01:54] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:54] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:54] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:01:54] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:01:54] ClientTest.cpp:463: starting get()->close() [DEBUG 00:01:54] ClientTest.cpp:463: ending get()->close() [DEBUG 00:01:54] ClientTest.cpp:858: ending source.reset() [DEBUG 00:01:54] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:01:54] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:01:54] ClientTest.cpp:863: starting CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, copy, copyFile))) [DEBUG 00:01:54] ClientTest.cpp:6698: starting CPPUNIT_ASSERT(source.getOperations().m_backupData) [DEBUG 00:01:54] ClientTest.cpp:6698: ending CPPUNIT_ASSERT(source.getOperations().m_backupData) [DEBUG 00:01:54] eds_contact: reading: set order 'selected', 1 luids [DEBUG 00:01:54] eds_contact: reading: getting contact pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a [DEBUG 00:01:54] eds_contact: reading: must read contact pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a [DEBUG 00:01:54] eds_contact: reading: started contact read pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a-pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a (1) [DEBUG 00:01:54] eds_contact: reading: active cache pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a-pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a (1) [DEBUG 00:01:54] eds_contact: reading: in running cache [DEBUG 00:01:54] eds_contact: reading: contact read pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a-pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a (1) finished: <<successful>> [DEBUG 00:01:54] eds_contact: reading: contact read pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a-pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a (1) got pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a [DEBUG 00:01:54] eds_contact: reading: in cache, available [DEBUG 00:01:54] eds_contact: reading: continue after contact pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a [DEBUG 00:01:54] eds_contact: reading: read pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a: <<okay>> [DEBUG 00:01:54] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1 [DEBUG 00:01:54] eds_contact: reading: set order 'none', 0 luids [DEBUG 00:01:54] ClientTest.cpp:863: ending CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, copy, copyFile))) [DEBUG 00:01:54] ClientTest.cpp:871: starting equal = config.m_compare(client, refFile.c_str(), actualFile.c_str()) [DEBUG 00:01:54] ClientTest.cpp:871: ending equal = config.m_compare(client, refFile.c_str(), actualFile.c_str()) [DEBUG 00:01:54] ClientTest.cpp:872: starting CPPUNIT_ASSERT(!raiseAssert || equal) [DEBUG 00:01:54] ClientTest.cpp:872: ending CPPUNIT_ASSERT(!raiseAssert || equal) [DEBUG 00:01:54] ClientTest.cpp:3084: starting copy.reset() [DEBUG 00:01:54] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:54] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:54] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:01:54] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:01:54] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:54] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:54] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:01:54] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:01:54] ClientTest.cpp:463: starting get()->close() [DEBUG 00:01:54] ClientTest.cpp:463: ending get()->close() [DEBUG 00:01:54] ClientTest.cpp:3084: ending copy.reset() [DEBUG 00:01:54] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:01:54] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:01:54] ClientTest.cpp:3086: starting CPPUNIT_ASSERT(it1 == sources.end()) [DEBUG 00:01:54] ClientTest.cpp:3086: ending CPPUNIT_ASSERT(it1 == sources.end()) [DEBUG 00:01:54] ClientTest.cpp:3087: starting CPPUNIT_ASSERT(it2 == accessClientB->sources.end()) [DEBUG 00:01:54] ClientTest.cpp:3087: ending CPPUNIT_ASSERT(it2 == accessClientB->sources.end()) [DEBUG 00:01:54] ClientTest.cpp:3089: starting CPPUNIT_ASSERT(!raiseAssert || equal) [DEBUG 00:01:54] ClientTest.cpp:3089: ending CPPUNIT_ASSERT(!raiseAssert || equal) [DEBUG 00:01:54] ClientTest.cpp:3150: ending compareDatabases() [DEBUG 00:01:54] ClientTest.cpp:3909: ending doCopy() [DEBUG 00:01:54] ClientTest.cpp:3913: starting it->second->update(it->second->createSourceA, it->second->config.m_mergeItem1) [DEBUG 00:01:54] ClientTest.cpp:748: starting CPPUNIT_ASSERT(createSource.createSource) [DEBUG 00:01:54] ClientTest.cpp:748: ending CPPUNIT_ASSERT(createSource.createSource) [DEBUG 00:01:54] ClientTest.cpp:754: starting source.reset(createSource()) [DEBUG 00:01:54] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A [DEBUG 00:01:55] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1 [DEBUG 00:01:55] sync = two-way (set) [DEBUG 00:01:55] uri = con (set) [DEBUG 00:01:55] backend = Evolution Address Book (set) [DEBUG 00:01:55] syncFormat = text/vcard (set) [DEBUG 00:01:55] forceSyncFormat = 0 (default) [DEBUG 00:01:55] database = Test_eds_contact_1 (set) [DEBUG 00:01:55] databaseFormat = (default) [DEBUG 00:01:55] databaseUser = (default) [DEBUG 00:01:55] databasePassword = (default) [DEBUG 00:01:55] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:55] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:55] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:55] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:55] ClientTest.cpp:431: starting get()->open() [DEBUG 00:01:55] ClientTest.cpp:431: ending get()->open() [DEBUG 00:01:55] eds_contact: using full item scan to detect changes [DEBUG 00:01:55] ClientTest.cpp:754: ending source.reset(createSource()) [DEBUG 00:01:55] ClientTest.cpp:754: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:55] ClientTest.cpp:754: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:55] ClientTest.cpp:758: starting it = source->getAllItems().begin() [DEBUG 00:01:55] ClientTest.cpp:758: ending it = source->getAllItems().begin() [DEBUG 00:01:55] ClientTest.cpp:758: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:55] ClientTest.cpp:758: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:55] ClientTest.cpp:759: starting CPPUNIT_ASSERT(it != source->getAllItems().end()) [DEBUG 00:01:55] ClientTest.cpp:759: ending CPPUNIT_ASSERT(it != source->getAllItems().end()) [DEBUG 00:01:55] ClientTest.cpp:763: starting res = source->insertItemRaw(luid, mangled) [DEBUG 00:01:55] eds_contact: insert pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 operation #0: queueing for batched update [DEBUG 00:01:55] eds_contact: batch update of 1 contacts starting [DEBUG 00:01:55] eds_contact: waiting for 1 pending operations to complete [DEBUG 00:01:55] eds_contact: batch update of 1 contacts completed [DEBUG 00:01:55] eds_contact: insert pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 operation #0: completed: <<successfully>> [DEBUG 00:01:55] eds_contact: pending operations completed [DEBUG 00:01:55] eds_contact: insert pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 operation #0: checking operation: inserted [DEBUG 00:01:55] ClientTest.cpp:763: ending res = source->insertItemRaw(luid, mangled) [DEBUG 00:01:55] ClientTest.cpp:763: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:55] ClientTest.cpp:763: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:55] ClientTest.cpp:764: starting source.reset() [DEBUG 00:01:55] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:55] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:55] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:01:55] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:01:55] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:56] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:56] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:01:56] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:01:56] ClientTest.cpp:463: starting get()->close() [DEBUG 00:01:56] ClientTest.cpp:463: ending get()->close() [DEBUG 00:01:56] ClientTest.cpp:764: ending source.reset() [DEBUG 00:01:56] ClientTest.cpp:765: starting CPPUNIT_ASSERT_EQUAL((luid),(res.m_luid)) [DEBUG 00:01:56] ClientTest.cpp:765: ending CPPUNIT_ASSERT_EQUAL((luid),(res.m_luid)) [DEBUG 00:01:56] ClientTest.cpp:766: starting CPPUNIT_ASSERT_EQUAL((ITEM_OKAY),(res.m_state)) [DEBUG 00:01:56] ClientTest.cpp:766: ending CPPUNIT_ASSERT_EQUAL((ITEM_OKAY),(res.m_state)) [DEBUG 00:01:56] ClientTest.cpp:773: starting source.reset(createSource()) [DEBUG 00:01:56] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A [DEBUG 00:01:56] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1 [DEBUG 00:01:56] sync = two-way (set) [DEBUG 00:01:56] uri = con (set) [DEBUG 00:01:56] backend = Evolution Address Book (set) [DEBUG 00:01:56] syncFormat = text/vcard (set) [DEBUG 00:01:56] forceSyncFormat = 0 (default) [DEBUG 00:01:56] database = Test_eds_contact_1 (set) [DEBUG 00:01:56] databaseFormat = (default) [DEBUG 00:01:56] databaseUser = (default) [DEBUG 00:01:56] databasePassword = (default) [DEBUG 00:01:56] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:56] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:56] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:56] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:56] ClientTest.cpp:431: starting get()->open() [DEBUG 00:01:56] ClientTest.cpp:431: ending get()->open() [DEBUG 00:01:56] eds_contact: using full item scan to detect changes [DEBUG 00:01:56] ClientTest.cpp:773: ending source.reset(createSource()) [DEBUG 00:01:56] ClientTest.cpp:773: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:56] ClientTest.cpp:773: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:56] ClientTest.cpp:774: starting CPPUNIT_ASSERT_EQUAL((1),(countItems(source.get()))) [DEBUG 00:01:56] ClientTest.cpp:774: ending CPPUNIT_ASSERT_EQUAL((1),(countItems(source.get()))) [DEBUG 00:01:56] ClientTest.cpp:775: starting CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:01:56] ClientTest.cpp:775: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:01:56] ClientTest.cpp:776: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:01:56] ClientTest.cpp:776: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:01:56] ClientTest.cpp:777: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:01:56] ClientTest.cpp:777: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:01:56] ClientTest.cpp:779: starting it = source->getAllItems().begin() [DEBUG 00:01:56] ClientTest.cpp:779: ending it = source->getAllItems().begin() [DEBUG 00:01:56] ClientTest.cpp:779: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:56] ClientTest.cpp:779: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:56] ClientTest.cpp:780: starting CPPUNIT_ASSERT(it != source->getAllItems().end()) [DEBUG 00:01:56] ClientTest.cpp:780: ending CPPUNIT_ASSERT(it != source->getAllItems().end()) [DEBUG 00:01:56] ClientTest.cpp:781: starting CPPUNIT_ASSERT_EQUAL((luid),(*it)) [DEBUG 00:01:56] ClientTest.cpp:781: ending CPPUNIT_ASSERT_EQUAL((luid),(*it)) [DEBUG 00:01:56] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:01:56] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:56] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:56] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:01:56] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:01:56] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:56] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:56] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:01:56] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:01:56] ClientTest.cpp:463: starting get()->close() [DEBUG 00:01:56] ClientTest.cpp:463: ending get()->close() [DEBUG 00:01:56] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:01:56] ClientTest.cpp:3913: ending it->second->update(it->second->createSourceA, it->second->config.m_mergeItem1) [DEBUG 00:01:56] ClientTest.cpp:3918: starting it->second->update(it->second->createSourceA, it->second->config.m_mergeItem2) [DEBUG 00:01:56] ClientTest.cpp:748: starting CPPUNIT_ASSERT(createSource.createSource) [DEBUG 00:01:56] ClientTest.cpp:748: ending CPPUNIT_ASSERT(createSource.createSource) [DEBUG 00:01:56] ClientTest.cpp:754: starting source.reset(createSource()) [DEBUG 00:01:56] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _2_A [DEBUG 00:01:56] overriding testing source eds_contact properties with the ones from config memotoo_2 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-2/peers/memotoo_2 [DEBUG 00:01:56] sync = two-way (set) [DEBUG 00:01:56] uri = con (set) [DEBUG 00:01:56] backend = Evolution Address Book (set) [DEBUG 00:01:56] syncFormat = text/vcard (set) [DEBUG 00:01:56] forceSyncFormat = 0 (default) [DEBUG 00:01:56] database = Test_eds_contact_2 (set) [DEBUG 00:01:56] databaseFormat = (default) [DEBUG 00:01:56] databaseUser = (default) [DEBUG 00:01:56] databasePassword = (default) [DEBUG 00:01:56] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:56] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:56] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:56] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:56] ClientTest.cpp:431: starting get()->open() [DEBUG 00:01:56] ClientTest.cpp:431: ending get()->open() [DEBUG 00:01:56] eds_contact: using full item scan to detect changes [DEBUG 00:01:56] ClientTest.cpp:754: ending source.reset(createSource()) [DEBUG 00:01:56] ClientTest.cpp:754: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:56] ClientTest.cpp:754: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:56] ClientTest.cpp:758: starting it = source->getAllItems().begin() [DEBUG 00:01:56] ClientTest.cpp:758: ending it = source->getAllItems().begin() [DEBUG 00:01:56] ClientTest.cpp:758: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:56] ClientTest.cpp:758: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:56] ClientTest.cpp:759: starting CPPUNIT_ASSERT(it != source->getAllItems().end()) [DEBUG 00:01:56] ClientTest.cpp:759: ending CPPUNIT_ASSERT(it != source->getAllItems().end()) [DEBUG 00:01:56] ClientTest.cpp:763: starting res = source->insertItemRaw(luid, mangled) [DEBUG 00:01:56] eds_contact: insert pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a operation #0: queueing for batched update [DEBUG 00:01:56] eds_contact: batch update of 1 contacts starting [DEBUG 00:01:56] eds_contact: waiting for 1 pending operations to complete [DEBUG 00:01:56] eds_contact: batch update of 1 contacts completed [DEBUG 00:01:56] eds_contact: insert pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a operation #0: completed: <<successfully>> [DEBUG 00:01:56] eds_contact: pending operations completed [DEBUG 00:01:56] eds_contact: insert pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a operation #0: checking operation: inserted [DEBUG 00:01:56] ClientTest.cpp:763: ending res = source->insertItemRaw(luid, mangled) [DEBUG 00:01:56] ClientTest.cpp:763: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:56] ClientTest.cpp:763: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:56] ClientTest.cpp:764: starting source.reset() [DEBUG 00:01:56] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:56] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:56] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:01:56] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:01:56] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:57] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:57] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:01:57] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:01:57] ClientTest.cpp:463: starting get()->close() [DEBUG 00:01:57] ClientTest.cpp:463: ending get()->close() [DEBUG 00:01:57] ClientTest.cpp:764: ending source.reset() [DEBUG 00:01:57] ClientTest.cpp:765: starting CPPUNIT_ASSERT_EQUAL((luid),(res.m_luid)) [DEBUG 00:01:57] ClientTest.cpp:765: ending CPPUNIT_ASSERT_EQUAL((luid),(res.m_luid)) [DEBUG 00:01:57] ClientTest.cpp:766: starting CPPUNIT_ASSERT_EQUAL((ITEM_OKAY),(res.m_state)) [DEBUG 00:01:57] ClientTest.cpp:766: ending CPPUNIT_ASSERT_EQUAL((ITEM_OKAY),(res.m_state)) [DEBUG 00:01:57] ClientTest.cpp:773: starting source.reset(createSource()) [DEBUG 00:01:57] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _2_A [DEBUG 00:01:57] overriding testing source eds_contact properties with the ones from config memotoo_2 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-2/peers/memotoo_2 [DEBUG 00:01:57] sync = two-way (set) [DEBUG 00:01:57] uri = con (set) [DEBUG 00:01:57] backend = Evolution Address Book (set) [DEBUG 00:01:57] syncFormat = text/vcard (set) [DEBUG 00:01:57] forceSyncFormat = 0 (default) [DEBUG 00:01:57] database = Test_eds_contact_2 (set) [DEBUG 00:01:57] databaseFormat = (default) [DEBUG 00:01:57] databaseUser = (default) [DEBUG 00:01:57] databasePassword = (default) [DEBUG 00:01:57] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:57] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:57] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:57] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:01:57] ClientTest.cpp:431: starting get()->open() [DEBUG 00:01:58] ClientTest.cpp:431: ending get()->open() [DEBUG 00:01:58] eds_contact: using full item scan to detect changes [DEBUG 00:01:58] ClientTest.cpp:773: ending source.reset(createSource()) [DEBUG 00:01:58] ClientTest.cpp:773: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:58] ClientTest.cpp:773: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:58] ClientTest.cpp:774: starting CPPUNIT_ASSERT_EQUAL((1),(countItems(source.get()))) [DEBUG 00:01:58] ClientTest.cpp:774: ending CPPUNIT_ASSERT_EQUAL((1),(countItems(source.get()))) [DEBUG 00:01:58] ClientTest.cpp:775: starting CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:01:58] ClientTest.cpp:775: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get()))) [DEBUG 00:01:58] ClientTest.cpp:776: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:01:58] ClientTest.cpp:776: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get()))) [DEBUG 00:01:58] ClientTest.cpp:777: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:01:58] ClientTest.cpp:777: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get()))) [DEBUG 00:01:58] ClientTest.cpp:779: starting it = source->getAllItems().begin() [DEBUG 00:01:58] ClientTest.cpp:779: ending it = source->getAllItems().begin() [DEBUG 00:01:58] ClientTest.cpp:779: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:58] ClientTest.cpp:779: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:01:58] ClientTest.cpp:780: starting CPPUNIT_ASSERT(it != source->getAllItems().end()) [DEBUG 00:01:58] ClientTest.cpp:780: ending CPPUNIT_ASSERT(it != source->getAllItems().end()) [DEBUG 00:01:58] ClientTest.cpp:781: starting CPPUNIT_ASSERT_EQUAL((luid),(*it)) [DEBUG 00:01:58] ClientTest.cpp:781: ending CPPUNIT_ASSERT_EQUAL((luid),(*it)) [DEBUG 00:01:58] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:01:58] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:01:58] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:01:58] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:01:58] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:01:58] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:58] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:01:58] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:01:58] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:01:58] ClientTest.cpp:463: starting get()->close() [DEBUG 00:01:58] ClientTest.cpp:463: ending get()->close() [DEBUG 00:01:58] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:01:58] ClientTest.cpp:3918: ending it->second->update(it->second->createSourceA, it->second->config.m_mergeItem2) [DEBUG 00:01:58] ClientTest.cpp:3922: starting doSync(logPrefix, options) [DEBUG 00:01:58] 7. starting Client_Sync_eds_contact_testMerge.update.client.A with sync mode two-way [DEBUG 00:01:58] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options) [DEBUG 00:01:58] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory [DEBUG 00:01:58] log path -> Client_Sync_eds_contact_testMerge.update.client.A, No such file or directory [DEBUG 00:01:58] log path -> Client_Sync_eds_contact_testMerge.update.client.A, No such file or directory [DEBUG 00:01:58] checking log dir Client_Sync_eds_contact_testMerge.update.client.A [DEBUG 00:01:58] logfile: Client_Sync_eds_contact_testMerge.update.client.A/syncevolution-log.html [DEVELOPER 00:02:00] SyncML server account: syncevolution [DEVELOPER 00:02:00] client: SyncEvolution 1.5.3 for workstation [DEVELOPER 00:02:00] device ID: sc-api-A [DEVELOPER 00:02:00] [DEVELOPER 00:02:00] [INFO 00:02:00] addressbook: inactive [INFO 00:02:00] calendar: inactive [INFO 00:02:00] calendar+todo: inactive [INFO 00:02:00] eas_contact: inactive [INFO 00:02:00] eas_event: inactive [INFO 00:02:00] eas_memo: inactive [INFO 00:02:00] eas_task: inactive [INFO 00:02:00] eds_event: inactive [INFO 00:02:00] eds_memo: inactive [INFO 00:02:00] eds_task: inactive [INFO 00:02:00] file_calendar+todo: inactive [INFO 00:02:00] file_contact: inactive [INFO 00:02:00] file_event: inactive [INFO 00:02:00] file_task: inactive [INFO 00:02:00] kde_contact: inactive [INFO 00:02:00] kde_event: inactive [INFO 00:02:00] kde_memo: inactive [INFO 00:02:00] kde_task: inactive [INFO 00:02:00] memo: inactive [INFO 00:02:00] todo: inactive [DEBUG 00:02:00] checking password property 'password' in config 'memotoo_1@client-test-memotoo-1' with user identity 'syncevolution' [DEBUG 00:02:00] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:02:00] not using KWallet [DEBUG 00:02:00] sync password for memotoo_1@client-test-memotoo-1: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:02:00] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_1@client-test-memotoo-1' with user identity '' [DEBUG 00:02:00] sync is starting, catch signals [DEBUG 00:02:00] SuspendFlags: (re)activating, currently inactive [DEBUG 00:02:00] SuspendFlags: activating signal handler(s) with fds 38->37 [DEBUG 00:02:00] SuspendFlags: catch signal 15 [DEBUG 00:02:00] ready to sync [DEBUG 00:02:00] CreateContext SyncEvolution//eds_contact => 0 [DEBUG 00:02:00] Module_Version = 01090100 [DEBUG 00:02:00] Module_Capabilities: [DEBUG 00:02:00] PLATFORM:Linux [DEBUG 00:02:00] DLL:true [DEBUG 00:02:00] MINVERSION:V1.0.6.0 [DEBUG 00:02:00] MANUFACTURER:SyncEvolution [DEBUG 00:02:00] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:02:00] plugin_datastore_str:no [DEBUG 00:02:00] plugin_datastore_key:yes [DEBUG 00:02:00] ITEM_AS_KEY:yes [DEBUG 00:02:00] plugin_datablob:no [DEBUG 00:02:00] eds_contact: Module_PluginParams [DEBUG 00:02:00] eds_contact: Engine=01090100 [DEBUG 00:02:00] eds_contact: [DEBUG 00:02:00] Module_Capabilities: [DEBUG 00:02:00] PLATFORM:Linux [DEBUG 00:02:00] DLL:true [DEBUG 00:02:00] MINVERSION:V1.0.6.0 [DEBUG 00:02:00] MANUFACTURER:SyncEvolution [DEBUG 00:02:00] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:02:00] plugin_datastore_str:no [DEBUG 00:02:00] plugin_datastore_key:yes [DEBUG 00:02:00] ITEM_AS_KEY:yes [DEBUG 00:02:00] plugin_datablob:no [DEBUG 00:02:00] copying syncURL, username, password to Synthesis engine [DEBUG 00:02:00] using plain username/password for syncevolution [DEBUG 00:02:00] eds_contact: total number of items received 0 [INFO 00:02:02] eds_contact: starting normal sync, two-way (peer is server) [DEBUG 00:02:02] reading: set read-ahead based on sync mode two-way [DEBUG 00:02:02] eds_contact: reading: set order 'changed', 0 luids [DEBUG 00:02:02] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0 [DEBUG 00:02:02] eds_contact: FilterSupport staticfilter: [DEBUG 00:02:02] eds_contact: dynamicfilter: [DEBUG 00:02:02] eds_contact: invisiblefilter: [DEBUG 00:02:02] eds_contact: using full item scan to detect changes [DEBUG 00:02:03] eds_contact: StartDataRead last='1' resume='1' res=0 [DEBUG 00:02:03] eds_contact: ReadNextItemAsKey aStatus=1 aID=(pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09,(null)) res=0 [DEBUG 00:02:03] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0 [DEBUG 00:02:03] eds_contact: EndDataRead res=0 [DEBUG 00:02:03] eds_contact: reading: getting contact pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:02:03] eds_contact: reading: must read contact pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:02:03] eds_contact: reading: started contact read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) [DEBUG 00:02:03] eds_contact: reading: active cache pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) [DEBUG 00:02:03] eds_contact: reading: in running cache [DEBUG 00:02:03] eds_contact: reading: contact read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) finished: <<successful>> [DEBUG 00:02:03] eds_contact: reading: contact read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) got pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:02:03] eds_contact: reading: in cache, available [DEBUG 00:02:03] eds_contact: reading: continue after contact pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:02:03] eds_contact: reading: read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09: <<okay>> [DEBUG 00:02:03] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1 [DEBUG 00:02:03] eds_contact: ReadItemAsKey aID=(pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09,) res=0 [DEBUG 00:02:03] eds_contact: StartDataWrite [DEBUG 00:02:03] eds_contact: total number of items received 0 [INFO 00:02:03] eds_contact: sent 1/1 [DEBUG 00:02:03] eds_contact: total number of items received 0 [INFO 00:02:03] eds_contact: started [DEBUG 00:02:04] eds_contact: total number of items received 0 [DEBUG 00:02:04] eds_contact: EndDataWrite COMMIT '1' res=0 [DEBUG 00:02:04] eds_contact: DeleteContext [INFO 00:02:04] eds_contact: normal sync done successfully [DEBUG 00:02:04] closing session [DEBUG 00:02:04] session closed [DEBUG 00:02:04] SuspendFlags: deactivating fds 38->37 [DEBUG 00:02:04] SuspendFlags: close m_receiverFD 37 [DEBUG 00:02:04] SuspendFlags: close m_senderFD 38 [DEBUG 00:02:04] SuspendFlags: done with deactivation [DEBUG 00:02:04] Module_DeleteContext eds_contact [INFO 00:02:04] sync report: [INFO 00:02:04] +---------------|-----------------------|-----------------------|-CON-+ [INFO 00:02:04] | | LOCAL | REMOTE | FLI | [INFO 00:02:04] | Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS | [INFO 00:02:04] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:02:04] | eds_contact | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | [INFO 00:02:04] | two-way, 0 KB sent by client, 0 KB received | [INFO 00:02:04] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:02:04] | start Fri Jan 5 19:44:39 2018, duration 0:06min | [INFO 00:02:04] | synchronization completed successfully | [INFO 00:02:04] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:02:04] ----------|--------CLIENT---------|--------SERVER---------| [INFO 00:02:04] | NEW | MOD | DEL | NEW | MOD | DEL | [INFO 00:02:04] ----------|-----------------------------------------------| [INFO 00:02:04] Expected | 0 | 0 | 0 | 0 | 1 | 0 | [INFO 00:02:04] Expected sync mode: two-way [INFO 00:02:04] Expected cycles: 1 [INFO 00:02:04] [DEBUG 00:02:04] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:02:04] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:02:04] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:02:04] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:02:04] Checking sync source eds_contact... [DEBUG 00:02:04] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:02:04] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:02:04] 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:04] 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:04] 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:04] 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:04] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:02:04] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:02:04] 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:04] 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:04] 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:04] 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:04] 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:04] 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:04] 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:04] 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:04] 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:04] 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:04] 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:04] 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:04] Done with checking sync report. [DEBUG 00:02:04] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options) [DEBUG 00:02:04] ClientTest.cpp:6465: starting postSync(res, logname) [DEBUG 00:02:14] ClientTest.cpp:6465: ending postSync(res, logname) [DEBUG 00:02:14] ClientTest.cpp:3922: ending doSync(logPrefix, options) [DEBUG 00:02:14] ClientTest.cpp:3931: starting doSync(logPrefix, options) [DEBUG 00:02:14] 8. starting Client_Sync_eds_contact_testMerge.conflict.client.B with sync mode two-way [DEBUG 00:02:14] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options) [DEBUG 00:02:14] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory [DEBUG 00:02:14] log path -> Client_Sync_eds_contact_testMerge.conflict.client.B, No such file or directory [DEBUG 00:02:14] log path -> Client_Sync_eds_contact_testMerge.conflict.client.B, No such file or directory [DEBUG 00:02:14] checking log dir Client_Sync_eds_contact_testMerge.conflict.client.B [DEBUG 00:02:14] logfile: Client_Sync_eds_contact_testMerge.conflict.client.B/syncevolution-log.html [DEVELOPER 00:02:16] SyncML server account: syncevolution [DEVELOPER 00:02:16] client: SyncEvolution 1.5.3 for workstation [DEVELOPER 00:02:16] device ID: sc-pim-B [DEVELOPER 00:02:16] [DEVELOPER 00:02:16] [INFO 00:02:16] addressbook: inactive [INFO 00:02:16] calendar: inactive [INFO 00:02:16] calendar+todo: inactive [INFO 00:02:16] eas_contact: inactive [INFO 00:02:16] eas_event: inactive [INFO 00:02:16] eas_memo: inactive [INFO 00:02:16] eas_task: inactive [INFO 00:02:16] eds_event: inactive [INFO 00:02:16] eds_memo: inactive [INFO 00:02:16] eds_task: inactive [INFO 00:02:16] file_calendar+todo: inactive [INFO 00:02:16] file_contact: inactive [INFO 00:02:16] file_event: inactive [INFO 00:02:16] file_task: inactive [INFO 00:02:16] kde_contact: inactive [INFO 00:02:16] kde_event: inactive [INFO 00:02:16] kde_memo: inactive [INFO 00:02:16] kde_task: inactive [INFO 00:02:16] memo: inactive [INFO 00:02:16] todo: inactive [DEBUG 00:02:16] checking password property 'password' in config 'memotoo_2@client-test-memotoo-2' with user identity 'syncevolution' [DEBUG 00:02:16] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:02:16] not using KWallet [DEBUG 00:02:16] sync password for memotoo_2@client-test-memotoo-2: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:02:16] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_2@client-test-memotoo-2' with user identity '' [DEBUG 00:02:16] sync is starting, catch signals [DEBUG 00:02:16] SuspendFlags: (re)activating, currently inactive [DEBUG 00:02:16] SuspendFlags: activating signal handler(s) with fds 38->37 [DEBUG 00:02:16] SuspendFlags: catch signal 15 [DEBUG 00:02:16] ready to sync [DEBUG 00:02:17] CreateContext SyncEvolution//eds_contact => 0 [DEBUG 00:02:17] Module_Version = 01090100 [DEBUG 00:02:17] Module_Capabilities: [DEBUG 00:02:17] PLATFORM:Linux [DEBUG 00:02:17] DLL:true [DEBUG 00:02:17] MINVERSION:V1.0.6.0 [DEBUG 00:02:17] MANUFACTURER:SyncEvolution [DEBUG 00:02:17] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:02:17] plugin_datastore_str:no [DEBUG 00:02:17] plugin_datastore_key:yes [DEBUG 00:02:17] ITEM_AS_KEY:yes [DEBUG 00:02:17] plugin_datablob:no [DEBUG 00:02:17] eds_contact: Module_PluginParams [DEBUG 00:02:17] eds_contact: Engine=01090100 [DEBUG 00:02:17] eds_contact: [DEBUG 00:02:17] Module_Capabilities: [DEBUG 00:02:17] PLATFORM:Linux [DEBUG 00:02:17] DLL:true [DEBUG 00:02:17] MINVERSION:V1.0.6.0 [DEBUG 00:02:17] MANUFACTURER:SyncEvolution [DEBUG 00:02:17] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:02:17] plugin_datastore_str:no [DEBUG 00:02:17] plugin_datastore_key:yes [DEBUG 00:02:17] ITEM_AS_KEY:yes [DEBUG 00:02:17] plugin_datablob:no [DEBUG 00:02:17] copying syncURL, username, password to Synthesis engine [DEBUG 00:02:17] using plain username/password for syncevolution [DEBUG 00:02:17] eds_contact: total number of items received 0 [INFO 00:02:19] eds_contact: starting normal sync, two-way (peer is server) [DEBUG 00:02:19] reading: set read-ahead based on sync mode two-way [DEBUG 00:02:19] eds_contact: reading: set order 'changed', 0 luids [DEBUG 00:02:19] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0 [DEBUG 00:02:19] eds_contact: FilterSupport staticfilter: [DEBUG 00:02:19] eds_contact: dynamicfilter: [DEBUG 00:02:19] eds_contact: invisiblefilter: [DEBUG 00:02:19] eds_contact: using full item scan to detect changes [DEBUG 00:02:19] eds_contact: StartDataRead last='1' resume='1' res=0 [DEBUG 00:02:19] eds_contact: ReadNextItemAsKey aStatus=1 aID=(pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a,(null)) res=0 [DEBUG 00:02:19] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0 [DEBUG 00:02:19] eds_contact: EndDataRead res=0 [DEBUG 00:02:19] eds_contact: reading: getting contact pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a [DEBUG 00:02:19] eds_contact: reading: must read contact pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a [DEBUG 00:02:19] eds_contact: reading: started contact read pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a-pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a (1) [DEBUG 00:02:19] eds_contact: reading: active cache pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a-pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a (1) [DEBUG 00:02:19] eds_contact: reading: in running cache [DEBUG 00:02:19] eds_contact: reading: contact read pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a-pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a (1) finished: <<successful>> [DEBUG 00:02:19] eds_contact: reading: contact read pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a-pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a (1) got pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a [DEBUG 00:02:19] eds_contact: reading: in cache, available [DEBUG 00:02:19] eds_contact: reading: continue after contact pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a [DEBUG 00:02:19] eds_contact: reading: read pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a: <<okay>> [DEBUG 00:02:19] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1 [DEBUG 00:02:19] eds_contact: ReadItemAsKey aID=(pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a,) res=0 [DEBUG 00:02:19] eds_contact: StartDataWrite [DEBUG 00:02:19] eds_contact: total number of items received 0 [INFO 00:02:19] eds_contact: sent 1/1 [DEBUG 00:02:19] eds_contact: total number of items received 0 [INFO 00:02:20] eds_contact: started [DEBUG 00:02:20] eds_contact: total number of items received 0 [DEBUG 00:02:20] eds_contact: EndDataWrite COMMIT '1' res=0 [DEBUG 00:02:20] eds_contact: DeleteContext [INFO 00:02:20] eds_contact: normal sync done successfully [DEBUG 00:02:20] closing session [DEBUG 00:02:20] session closed [DEBUG 00:02:20] SuspendFlags: deactivating fds 38->37 [DEBUG 00:02:20] SuspendFlags: close m_receiverFD 37 [DEBUG 00:02:20] SuspendFlags: close m_senderFD 38 [DEBUG 00:02:20] SuspendFlags: done with deactivation [DEBUG 00:02:20] Module_DeleteContext eds_contact [INFO 00:02:20] sync report: [INFO 00:02:20] +---------------|-----------------------|-----------------------|-CON-+ [INFO 00:02:20] | | LOCAL | REMOTE | FLI | [INFO 00:02:20] | Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS | [INFO 00:02:20] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:02:20] | eds_contact | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | [INFO 00:02:20] | two-way, 0 KB sent by client, 0 KB received | [INFO 00:02:20] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:02:20] | start Fri Jan 5 19:44:55 2018, duration 0:06min | [INFO 00:02:20] | synchronization completed successfully | [INFO 00:02:20] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:02:20] ----------|--------CLIENT---------|--------SERVER---------| [INFO 00:02:20] | NEW | MOD | DEL | NEW | MOD | DEL | [INFO 00:02:20] ----------|-----------------------------------------------| [INFO 00:02:20] Expected | -1 | -1 | -1 | -1 | -1 | -1 | [INFO 00:02:20] Expected sync mode: two-way [INFO 00:02:20] Expected cycles: 1 [INFO 00:02:20] [DEBUG 00:02:20] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:02:20] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:02:20] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:02:20] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:02:20] Checking sync source eds_contact... [DEBUG 00:02:20] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:02:20] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:02:20] 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:20] 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:20] 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:20] 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:20] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:02:20] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:02:20] Done with checking sync report. [DEBUG 00:02:20] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options) [DEBUG 00:02:20] ClientTest.cpp:6465: starting postSync(res, logname) [DEBUG 00:02:30] ClientTest.cpp:6465: ending postSync(res, logname) [DEBUG 00:02:30] ClientTest.cpp:3931: ending doSync(logPrefix, options) [DEBUG 00:02:30] ClientTest.cpp:3939: starting copy.reset(it->second->createSourceA()) [DEBUG 00:02:30] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _2_A [DEBUG 00:02:30] overriding testing source eds_contact properties with the ones from config memotoo_2 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-2/peers/memotoo_2 [DEBUG 00:02:30] sync = two-way (set) [DEBUG 00:02:30] uri = con (set) [DEBUG 00:02:30] backend = Evolution Address Book (set) [DEBUG 00:02:30] syncFormat = text/vcard (set) [DEBUG 00:02:30] forceSyncFormat = 0 (default) [DEBUG 00:02:30] database = Test_eds_contact_2 (set) [DEBUG 00:02:30] databaseFormat = (default) [DEBUG 00:02:30] databaseUser = (default) [DEBUG 00:02:30] databasePassword = (default) [DEBUG 00:02:30] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:02:30] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:02:30] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:02:30] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:02:30] ClientTest.cpp:431: starting get()->open() [DEBUG 00:02:31] ClientTest.cpp:431: ending get()->open() [DEBUG 00:02:31] eds_contact: using full item scan to detect changes [DEBUG 00:02:31] ClientTest.cpp:3939: ending copy.reset(it->second->createSourceA()) [DEBUG 00:02:31] ClientTest.cpp:3939: starting CPPUNIT_ASSERT((copy.get())) [DEBUG 00:02:31] ClientTest.cpp:3939: ending CPPUNIT_ASSERT((copy.get())) [DEBUG 00:02:31] ClientTest.cpp:3941: starting numItems = countItems(copy.get()) [DEBUG 00:02:31] ClientTest.cpp:3941: ending numItems = countItems(copy.get()) [DEBUG 00:02:31] ClientTest.cpp:3941: starting CPPUNIT_ASSERT((copy.get())) [DEBUG 00:02:31] ClientTest.cpp:3941: ending CPPUNIT_ASSERT((copy.get())) [DEBUG 00:02:31] ClientTest.cpp:3942: starting CPPUNIT_ASSERT(numItems >= 1) [DEBUG 00:02:31] ClientTest.cpp:3942: ending CPPUNIT_ASSERT(numItems >= 1) [DEBUG 00:02:31] ClientTest.cpp:3943: starting CPPUNIT_ASSERT(numItems <= 2) [DEBUG 00:02:31] ClientTest.cpp:3943: ending CPPUNIT_ASSERT(numItems <= 2) [DEVELOPER 00:02:31] stderr: " [DEVELOPER 00:02:31] stderr: eds_contact [DEVELOPER 00:02:31] stderr: : [DEVELOPER 00:02:31] stderr: conflicting items were merged [DEVELOPER 00:02:31] stderr: " [DEBUG 00:02:31] ClientTest.cpp:3946: starting copy.reset() [DEBUG 00:02:31] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:02:31] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:02:31] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:02:31] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:02:31] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:02:31] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:02:31] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:02:31] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:02:31] ClientTest.cpp:463: starting get()->close() [DEBUG 00:02:31] ClientTest.cpp:463: ending get()->close() [DEBUG 00:02:31] ClientTest.cpp:3946: ending copy.reset() [DEBUG 00:02:31] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:02:31] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:02:31] ClientTest.cpp:3950: starting doSync(logPrefix, options) [DEBUG 00:02:31] 9. starting Client_Sync_eds_contact_testMerge.refresh.client.A with sync mode two-way [DEBUG 00:02:31] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options) [DEBUG 00:02:31] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory [DEBUG 00:02:31] log path -> Client_Sync_eds_contact_testMerge.refresh.client.A, No such file or directory [DEBUG 00:02:31] log path -> Client_Sync_eds_contact_testMerge.refresh.client.A, No such file or directory [DEBUG 00:02:31] checking log dir Client_Sync_eds_contact_testMerge.refresh.client.A [DEBUG 00:02:31] logfile: Client_Sync_eds_contact_testMerge.refresh.client.A/syncevolution-log.html [DEVELOPER 00:02:33] SyncML server account: syncevolution [DEVELOPER 00:02:33] client: SyncEvolution 1.5.3 for workstation [DEVELOPER 00:02:33] device ID: sc-api-A [DEVELOPER 00:02:33] [DEVELOPER 00:02:33] [INFO 00:02:33] addressbook: inactive [INFO 00:02:33] calendar: inactive [INFO 00:02:33] calendar+todo: inactive [INFO 00:02:33] eas_contact: inactive [INFO 00:02:33] eas_event: inactive [INFO 00:02:33] eas_memo: inactive [INFO 00:02:33] eas_task: inactive [INFO 00:02:33] eds_event: inactive [INFO 00:02:33] eds_memo: inactive [INFO 00:02:33] eds_task: inactive [INFO 00:02:33] file_calendar+todo: inactive [INFO 00:02:33] file_contact: inactive [INFO 00:02:33] file_event: inactive [INFO 00:02:33] file_task: inactive [INFO 00:02:33] kde_contact: inactive [INFO 00:02:33] kde_event: inactive [INFO 00:02:33] kde_memo: inactive [INFO 00:02:33] kde_task: inactive [INFO 00:02:33] memo: inactive [INFO 00:02:33] todo: inactive [DEBUG 00:02:33] checking password property 'password' in config 'memotoo_1@client-test-memotoo-1' with user identity 'syncevolution' [DEBUG 00:02:33] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:02:33] not using KWallet [DEBUG 00:02:33] sync password for memotoo_1@client-test-memotoo-1: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev [DEBUG 00:02:33] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_1@client-test-memotoo-1' with user identity '' [DEBUG 00:02:33] sync is starting, catch signals [DEBUG 00:02:33] SuspendFlags: (re)activating, currently inactive [DEBUG 00:02:33] SuspendFlags: activating signal handler(s) with fds 38->37 [DEBUG 00:02:33] SuspendFlags: catch signal 15 [DEBUG 00:02:33] ready to sync [DEBUG 00:02:33] CreateContext SyncEvolution//eds_contact => 0 [DEBUG 00:02:33] Module_Version = 01090100 [DEBUG 00:02:33] Module_Capabilities: [DEBUG 00:02:33] PLATFORM:Linux [DEBUG 00:02:33] DLL:true [DEBUG 00:02:33] MINVERSION:V1.0.6.0 [DEBUG 00:02:33] MANUFACTURER:SyncEvolution [DEBUG 00:02:33] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:02:33] plugin_datastore_str:no [DEBUG 00:02:33] plugin_datastore_key:yes [DEBUG 00:02:33] ITEM_AS_KEY:yes [DEBUG 00:02:33] plugin_datablob:no [DEBUG 00:02:33] eds_contact: Module_PluginParams [DEBUG 00:02:33] eds_contact: Engine=01090100 [DEBUG 00:02:33] eds_contact: [DEBUG 00:02:33] Module_Capabilities: [DEBUG 00:02:33] PLATFORM:Linux [DEBUG 00:02:33] DLL:true [DEBUG 00:02:33] MINVERSION:V1.0.6.0 [DEBUG 00:02:33] MANUFACTURER:SyncEvolution [DEBUG 00:02:33] DESCRIPTION:SyncEvolution Synthesis DB Plugin [DEBUG 00:02:33] plugin_datastore_str:no [DEBUG 00:02:33] plugin_datastore_key:yes [DEBUG 00:02:33] ITEM_AS_KEY:yes [DEBUG 00:02:33] plugin_datablob:no [DEBUG 00:02:33] copying syncURL, username, password to Synthesis engine [DEBUG 00:02:33] using plain username/password for syncevolution [DEBUG 00:02:34] eds_contact: total number of items received 0 [INFO 00:02:35] eds_contact: starting normal sync, two-way (peer is server) [DEBUG 00:02:35] reading: set read-ahead based on sync mode two-way [DEBUG 00:02:35] eds_contact: reading: set order 'changed', 0 luids [DEBUG 00:02:35] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0 [DEBUG 00:02:35] eds_contact: FilterSupport staticfilter: [DEBUG 00:02:35] eds_contact: dynamicfilter: [DEBUG 00:02:35] eds_contact: invisiblefilter: [DEBUG 00:02:35] eds_contact: using full item scan to detect changes [DEBUG 00:02:36] eds_contact: StartDataRead last='1' resume='1' res=0 [DEBUG 00:02:36] eds_contact: ReadNextItemAsKey aStatus=2 aID=(pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09,(null)) res=0 [DEBUG 00:02:36] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0 [DEBUG 00:02:36] eds_contact: EndDataRead res=0 [DEBUG 00:02:36] eds_contact: StartDataWrite [DEBUG 00:02:36] eds_contact: total number of items received 0 [DEBUG 00:02:36] eds_contact: total number of items received 0 [INFO 00:02:36] eds_contact: started [DEBUG 00:02:37] eds_contact: reading: getting contact pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:02:37] eds_contact: reading: must read contact pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:02:37] eds_contact: reading: disable read-ahead due to cache miss [DEBUG 00:02:37] eds_contact: reading: started contact read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) [DEBUG 00:02:37] eds_contact: reading: active cache pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) [DEBUG 00:02:37] eds_contact: reading: in running cache [DEBUG 00:02:37] eds_contact: reading: contact read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) finished: <<successful>> [DEBUG 00:02:37] eds_contact: reading: contact read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) got pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:02:37] eds_contact: reading: in cache, available [DEBUG 00:02:37] eds_contact: reading: continue after contact pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:02:37] eds_contact: reading: read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09: <<okay>> [DEBUG 00:02:37] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 1/1 (100%), stalls 1 [DEBUG 00:02:37] eds_contact: ReadItemAsKey aID=(pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09,) res=0 [INFO 00:02:37] eds_contact: updating "John Doe" [DEBUG 00:02:37] eds_contact: reading: remove contact pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 from cache because of remove or update [DEBUG 00:02:37] eds_contact: insert pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 operation #0: queueing for batched update [DEBUG 00:02:37] eds_contact: aID=(pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09,) res=1 [DEBUG 00:02:37] eds_contact: batch update of 1 contacts starting [DEBUG 00:02:37] eds_contact: waiting for 1 pending operations to complete [DEBUG 00:02:37] eds_contact: batch update of 1 contacts completed [DEBUG 00:02:37] eds_contact: insert pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 operation #0: completed: <<successfully>> [DEBUG 00:02:37] eds_contact: pending operations completed [DEBUG 00:02:37] eds_contact: insert pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 operation #0: checking operation: inserted [DEBUG 00:02:37] eds_contact: aID=(pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09,) res=0 [DEBUG 00:02:37] eds_contact: total number of items received 0 [INFO 00:02:37] eds_contact: received 2/1 [DEBUG 00:02:38] eds_contact: EndDataWrite COMMIT '1' res=0 [DEBUG 00:02:38] eds_contact: DeleteContext [INFO 00:02:38] eds_contact: normal sync done successfully [DEBUG 00:02:38] closing session [DEBUG 00:02:38] session closed [DEBUG 00:02:38] SuspendFlags: deactivating fds 38->37 [DEBUG 00:02:38] SuspendFlags: close m_receiverFD 37 [DEBUG 00:02:38] SuspendFlags: close m_senderFD 38 [DEBUG 00:02:38] SuspendFlags: done with deactivation [DEBUG 00:02:38] Module_DeleteContext eds_contact [INFO 00:02:38] sync report: [INFO 00:02:38] +---------------|-----------------------|-----------------------|-CON-+ [INFO 00:02:38] | | LOCAL | REMOTE | FLI | [INFO 00:02:38] | Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS | [INFO 00:02:38] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:02:38] | eds_contact | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | [INFO 00:02:38] | two-way, 0 KB sent by client, 0 KB received | [INFO 00:02:38] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:02:38] | start Fri Jan 5 19:45:12 2018, duration 0:07min | [INFO 00:02:38] | synchronization completed successfully | [INFO 00:02:38] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+ [INFO 00:02:38] ----------|--------CLIENT---------|--------SERVER---------| [INFO 00:02:38] | NEW | MOD | DEL | NEW | MOD | DEL | [INFO 00:02:38] ----------|-----------------------------------------------| [INFO 00:02:38] Expected | -1 | -1 | -1 | 0 | 0 | 0 | [INFO 00:02:38] Expected sync mode: two-way [INFO 00:02:38] Expected cycles: 1 [INFO 00:02:38] [DEBUG 00:02:38] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:02:38] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status))) [DEBUG 00:02:38] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:02:38] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status)) [DEBUG 00:02:38] Checking sync source eds_contact... [DEBUG 00:02:38] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:02:38] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus())) [DEBUG 00:02: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:02: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:02: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:02: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:02:38] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:02:38] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1)) [DEBUG 00:02: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:02: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:02: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:02: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:02: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:02: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:02:38] Done with checking sync report. [DEBUG 00:02:38] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options) [DEBUG 00:02:38] ClientTest.cpp:6465: starting postSync(res, logname) [DEBUG 00:02:48] ClientTest.cpp:6465: ending postSync(res, logname) [DEBUG 00:02:48] ClientTest.cpp:3950: ending doSync(logPrefix, options) [DEBUG 00:02:48] ClientTest.cpp:3956: starting compareDatabases() [DEBUG 00:02:48] ClientTest.cpp:3065: starting CPPUNIT_ASSERT(accessClientB) [DEBUG 00:02:48] ClientTest.cpp:3065: ending CPPUNIT_ASSERT(accessClientB) [DEBUG 00:02:48] ClientTest.cpp:3070: starting copy.reset(it2->second->createSourceB()) [DEBUG 00:02:48] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _2_B [DEBUG 00:02:48] overriding testing source eds_contact properties with the ones from config memotoo_2 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-2/peers/memotoo_2 [DEBUG 00:02:48] sync = two-way (set) [DEBUG 00:02:48] uri = con (set) [DEBUG 00:02:48] backend = Evolution Address Book (set) [DEBUG 00:02:48] syncFormat = text/vcard (set) [DEBUG 00:02:48] forceSyncFormat = 0 (default) [DEBUG 00:02:48] database = Test_eds_contact_2 (set) [DEBUG 00:02:48] databaseFormat = (default) [DEBUG 00:02:48] databaseUser = (default) [DEBUG 00:02:48] databasePassword = (default) [DEBUG 00:02:48] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:02:48] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:02:48] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:02:48] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:02:48] ClientTest.cpp:431: starting get()->open() [DEBUG 00:02:48] ClientTest.cpp:431: ending get()->open() [DEBUG 00:02:48] eds_contact: using full item scan to detect changes [DEBUG 00:02:48] ClientTest.cpp:3070: ending copy.reset(it2->second->createSourceB()) [DEBUG 00:02:48] ClientTest.cpp:3070: starting CPPUNIT_ASSERT((copy.get())) [DEBUG 00:02:48] ClientTest.cpp:3070: ending CPPUNIT_ASSERT((copy.get())) [DEBUG 00:02:48] ClientTest.cpp:846: starting CPPUNIT_ASSERT(config.m_dump) [DEBUG 00:02:48] ClientTest.cpp:846: ending CPPUNIT_ASSERT(config.m_dump) [DEBUG 00:02:48] ClientTest.cpp:856: starting source.reset(createSourceA()) [DEBUG 00:02:48] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A [DEBUG 00:02:48] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1 [DEBUG 00:02:48] sync = two-way (set) [DEBUG 00:02:48] uri = con (set) [DEBUG 00:02:48] backend = Evolution Address Book (set) [DEBUG 00:02:48] syncFormat = text/vcard (set) [DEBUG 00:02:48] forceSyncFormat = 0 (default) [DEBUG 00:02:48] database = Test_eds_contact_1 (set) [DEBUG 00:02:48] databaseFormat = (default) [DEBUG 00:02:48] databaseUser = (default) [DEBUG 00:02:48] databasePassword = (default) [DEBUG 00:02:48] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get()) [DEBUG 00:02:48] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get()) [DEBUG 00:02:48] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active) [DEBUG 00:02:48] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active) [DEBUG 00:02:48] ClientTest.cpp:431: starting get()->open() [DEBUG 00:02:48] ClientTest.cpp:431: ending get()->open() [DEBUG 00:02:48] eds_contact: using full item scan to detect changes [DEBUG 00:02:49] ClientTest.cpp:856: ending source.reset(createSourceA()) [DEBUG 00:02:49] ClientTest.cpp:856: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:02:49] ClientTest.cpp:856: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:02:49] ClientTest.cpp:857: starting CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, *source.get(), sourceFile))) [DEBUG 00:02:49] ClientTest.cpp:6698: starting CPPUNIT_ASSERT(source.getOperations().m_backupData) [DEBUG 00:02:49] ClientTest.cpp:6698: ending CPPUNIT_ASSERT(source.getOperations().m_backupData) [DEBUG 00:02:49] eds_contact: reading: set order 'selected', 1 luids [DEBUG 00:02:49] eds_contact: reading: getting contact pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:02:49] eds_contact: reading: must read contact pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:02:49] eds_contact: reading: started contact read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) [DEBUG 00:02:49] eds_contact: reading: active cache pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) [DEBUG 00:02:49] eds_contact: reading: in running cache [DEBUG 00:02:49] eds_contact: reading: contact read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) finished: <<successful>> [DEBUG 00:02:49] eds_contact: reading: contact read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09-pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 (1) got pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:02:49] eds_contact: reading: in cache, available [DEBUG 00:02:49] eds_contact: reading: continue after contact pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09 [DEBUG 00:02:49] eds_contact: reading: read pas-id-5b645e283eb77d0e1a2981afe11f41e8aed72d09: <<okay>> [DEBUG 00:02:49] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1 [DEBUG 00:02:49] eds_contact: reading: set order 'none', 0 luids [DEBUG 00:02:49] ClientTest.cpp:857: ending CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, *source.get(), sourceFile))) [DEBUG 00:02:49] ClientTest.cpp:857: starting CPPUNIT_ASSERT((source.get())) [DEBUG 00:02:49] ClientTest.cpp:857: ending CPPUNIT_ASSERT((source.get())) [DEBUG 00:02:49] ClientTest.cpp:858: starting source.reset() [DEBUG 00:02:49] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get()) [DEBUG 00:02:49] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get()) [DEBUG 00:02:49] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active) [DEBUG 00:02:49] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active) [DEBUG 00:02:49] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:02:49] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy) [DEBUG 00:02:49] ClientTest.cpp:461: starting anchor = get()->endSync(true) [DEBUG 00:02:49] ClientTest.cpp:461: ending anchor = get()->endSync(true) [DEBUG 00:02:49] ClientTest.cpp:463: starting get()->close() [DEBUG 00:02:49] ClientTest.cpp:463: ending get()->close() [DEBUG 00:02:49] ClientTest.cpp:858: ending source.reset() [DEBUG 00:02:49] ClientTest.cpp:391: starting reset(__null) [DEBUG 00:02:49] ClientTest.cpp:391: ending reset(__null) [DEBUG 00:02:49] ClientTest.cpp:863: starting CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, copy, copyFile))) [DEBUG 00:02:49] ClientTest.cpp:6698: starting CPPUNIT_ASSERT(source.getOperations().m_backupData) [DEBUG 00:02:49] ClientTest.cpp:6698: ending CPPUNIT_ASSERT(source.getOperations().m_backupData) [DEBUG 00:02:49] eds_contact: reading: set order 'selected', 1 luids [DEBUG 00:02:49] eds_contact: reading: getting contact pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a [DEBUG 00:02:49] eds_contact: reading: must read contact pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a [DEBUG 00:02:49] eds_contact: reading: started contact read pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a-pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a (1) [DEBUG 00:02:49] eds_contact: reading: active cache pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a-pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a (1) [DEBUG 00:02:49] eds_contact: reading: in running cache [DEBUG 00:02:49] eds_contact: reading: contact read pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a-pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a (1) finished: <<successful>> [DEBUG 00:02:49] eds_contact: reading: contact read pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a-pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a (1) got pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a [DEBUG 00:02:49] eds_contact: reading: in cache, available [DEBUG 00:02:49] eds_contact: reading: continue after contact pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a [DEBUG 00:02:49] eds_contact: reading: read pas-id-af6c744e366f5e3022d2b995711f2d1db09d038a: <<okay>> [DEBUG 00:02:49] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1 [DEBUG 00:02:49] eds_contact: reading: set order 'none', 0 luids [DEBUG 00:02:49] ClientTest.cpp:863: ending CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, copy, copyFile))) [DEBUG 00:02:49] ClientTest.cpp:871: starting equal = config.m_compare(client, refFile.c_str(), actualFile.c_str()) copy.deleteall.init copy.deleteall.twoway deleteall.init deleteall.twoway copy.send recv update conflict refresh Client_Sync_eds_contact_testMerge.A.test.dat | Client_Sync_eds_contact_testMerge.B.test.dat only in left file < > only in right file ------------------------------------------------------------------------------- BEGIN:VCARD BEGIN:VCARD N:Doe;John N:Doe;John BDAY:20060108 BDAY:20060108 TEL;TYPE=WORK;X-EVOLUTION-E164=123456 TEL;TYPE=WORK;X-EVOLUTION-E164=123456 :123456 :123456 TITLE:developer TITLE:developer VERSION:3.0 VERSION:3.0 X-AIM:AIM JOHN < X-EVOLUTION-FILE-AS:Doe\, John X-EVOLUTION-FILE-AS:Doe\, John END:VCARD END:VCARD ------------------------------------------------------------------------------- [DEBUG 00:02:49] ClientTest.cpp:871: ending equal = config.m_compare(client, refFile.c_str(), actualFile.c_str()) [DEBUG 00:02:49] ClientTest.cpp:872: starting CPPUNIT_ASSERT(!raiseAssert || equal) [DEBUG 00:02:49] *** ending Client::Sync::eds_contact::testMerge: *** failure ignored *** *** [ERROR 00:02:49] ClientTest.cpp:872:Assertion [ERROR 00:02:49] Test name: Client::Sync::eds_contact::testMerge [ERROR 00:02:49] assertion failed [ERROR 00:02:49] - Expression: !raiseAssert || equal [ERROR 00:02:49] - ClientTest.cpp:872 [ERROR 00:02:49] - ClientTest.cpp:3956 [ERROR 00:02:49] [ERROR 00:02:49] Failures !!! [ERROR 00:02:49] Run: 0 Failure total: 1 Failures: 1 Errors: 0 failed: env CLIENT_TEST_SERVER=memotoo 'CLIENT_TEST_STRIP_PARAMETERS=' 'CLIENT_TEST_STRIP_PROPERTIES='synccompare Client_Sync_eds_contact_testMerge.A.test.dat Client_Sync_eds_contact_testMerge.B.test.dat