On Fr, 2011-07-15 at 11:21 +0100, Andy Gould wrote: > On 11/07/11 17:20, Patrick Ohly wrote: > > On Fr, 2011-07-08 at 18:09 +0200, Patrick Ohly wrote: > >> Is suspect that part of the problem is that Client::eas_event::Source > >> needs to "simulate" access by two different clients. Both use the > >> ActiveSync account defined by > >> ~/.config/syncevolution/client-test/peers/target-config/config.ini > >> so essentially this looks to the Exchange server like one client. > > I fixed this with the following commit: > > > > commit 6300b3ea9184e114b521ef2e5eafda476c836e5c > > Author: Patrick Ohly<[email protected]> > > Date: Mon Jul 11 14:40:06 2011 +0200 > > > > > Hi Patrick, > Having fixed the duplicating issue, I'm still seeing invalid sync > keys, but I think this is a problem in how the tests are trying to > work... from the point of view of the Exchange server, this is still > looking like one client, because it uses a device id, and the username ( > the activesync account id is only a local identifier)... I'm going to > try account level faked device ids for the purposes of testing, and see > if that works..
I thought I had addressed that with this commit: commit 6300b3ea9184e114b521ef2e5eafda476c836e5c Author: Patrick Ohly <[email protected]> Date: Mon Jul 11 14:40:06 2011 +0200 SyncEvolution: fixed change tracking in testing When testing with "Client::Source::*::testChanges", two different accounts must be used. Otherwise the two simulated SyncEvolution clients share the same sync keys and testing fails. The solution is to switch to a different account, derived by appending _B to the original account ID, for the second client. ... --- a/syncevolution/ActiveSyncSourceRegister.cpp +++ b/syncevolution/ActiveSyncSourceRegister.cpp @@ -133,6 +133,17 @@ static TestingSyncSource *createEASSource(const ClientTestConfig::createsource_t ClientTest &client, int source, bool isSourceA) { TestingSyncSource *res = create(client, source, isSourceA); + + // Mangle username: if the base username in the config is account + // "foo", then source B uses "foo_B", because otherwise it'll end + // up sharing change tracking with source A. + if (!isSourceA) { + ActiveSyncSource *eassource = static_cast<ActiveSyncSource *>(res); + std::string account = eassource->getSyncConfig().getSyncUsername(); + account += "_B"; + eassource->getSyncConfig().setSyncUsername(account, true); + } + Where are you seeing the tests using the same activesyncd account when they should be using different ones? -- Best Regards, Patrick Ohly The content of this message is my personal opinion only and although I am an employee of Intel, the statements I make here in no way represent Intel's position on the issue, nor am I authorized to speak on behalf of Intel on this matter. _______________________________________________ SyncEvolution mailing list [email protected] http://lists.syncevolution.org/listinfo/syncevolution
