apple, googlecalendar and yahoo include now also Client::Sync
tests. For "apple", this is the full set of tests. For the
others, only testItems is run.
Only the "evolution" test allowed selecting which client-test
tests to run. Now this code is in SyncEvolutionTest class itself.
The parameter to it with the default test list was turned into
a simple string, to match the value of the --enable parameter.
This is needed for local CalDAV/CardDAV tests to succeed.
With http_proxy set, all traffic would be attempted via
these proxies, which doesn't work.
All tests which need proxies have to be configured such
that proxyHost/useProxy is set correctly in the server configs.
runtests.py now has an entry for Apple Calendar Server,
with both CardDAV and CalDAV. The actual installation
can be local. To use this test, set up source-config@client-test-apple
with the correct syncURL and credentials.
Previously, the --prebuilt option could be specified multiple times.
This was never used and just made its implementation unecessarily complex. Now
this option overrides compilation and leaves the rest of the test
running unmodified.
Added separate Client::Source tests for Yahoo CalDAV/CardDAV
and Google CalDAV. Reporting the results needs to know that these
"servers" are local tests.
These tests can only be run if CLIENT_TEST_WEBDAV is set as
expected by WebDAVSourceRegister.cpp.
This was an attempt to avoid issues with the autotools scripts
and rebuilding their files. It did not solve the problem entirely
(--disable-maintainer-mode eventually did), but the change makes
sense nevertheless, for example of the directory inside a chroot
is different than the one in the host.
First, dump information about relevant valgrind parameters
if valgrindcheck.sh is part of the command line. Now
executing the logged command acts like the original invocation.
Second, include the current directory as a "cd" command, to
simplify re-execution of the command.
The code added all services to the list which it encountered, including
those which were disabled and thus got skipped during testing. This
artificially increased the size of the report; not even sure whether
this was intentional. Now only active services are added.
The usage model for the nightly repos is that the "nightly" user
updates them and other users modify them to try out changes before
committing them. This relies on group-writable repos.
Despite umask 0002 and drwxrwsr-x permissions of the work area
this didn't work, group only had read permission. This patch adds
an explicit chmod and sets "sharedRepository = group" to fix this
after a fresh clone.
The nightly test account only has anonymous read access to
gitorious.org via the git:// protocol. But for normal users
patching the files, access via ssh is needed to commit changes.
Work around this by temporarily patching the URL for origin.
"git remote set-url" would be more elegant than Perl, but
only recent git versions have that.
We check out the Synthesis source first, then the SyncEvolution source.
That let's us use SyncEvolution's autogen.sh/gen-autotools.sh scripts
for checking whether both sources are clean and properly tagged.
For Synthesis, we have to set the SYNTHESISSRC env variable.
Previously, the valgrind command was inserted in front of "env",
which always succeeded because child processes were not checked
(would include EDS). Now we run exactly the right process under
valgrind.
Instead of fetching a specific repo, use just "git fetch" to
pull updates into an existing repo. Specifying the repo
should have worked, but apparently is not done correctly (not
yet?) by the git in Debian Stable.
Using "git fetch" assumes that the URL of the repo does not
change between updates. That should be the case for us.
In a setup where it was run inside schroot we got error
messages from schroot because gconfd got stuck and prevented
a clean unmount of /tmp. Even "kill -9" wouldn't get rid of
such a hanging gconfd.
As a workaround, running the setup command twice seems to
succeed, including getting rid of the handing gconfd.
Previously do cleanup operation after implementing
a syncevolution setup. But if this setup raises
exceptions, we might get incorrect test results.
so clean all these files before doing any other
preparations
Checking out a branch which only exists remotely requires
a bit more work. Checking out tags might also have failed
due to an unnecessary "git pull". Now "git tag" and "git branch"
are used to check what the requested revision is and do the
necessary opertions.
The "prebuilt" test ran, but because it used the build directory
of the current platform it didn't find any backends, or the wrong
ones. Fixed by only using the backend setting from the previous
testing if the directory really exists and falling back to the
relative "backends" directory otherwise.
It might be possible to always use "backends". In order to not
change the running testing this wasn't done.
Mobical has a known server issue that it initiates a
slow sync when one client syncs with it in one-way-from-client
mode from the second time.
Because Mobical has no schedule on this, we skip this
test for Mobical interoperability test.
This change was originally committed a while back to the
runtest.py used in the nightly testing. Now we are merging
it back to the public runtest.py.
This patch adds the "Resend" test to various _SKIP and
_FAILURES lists and adds CLIENT_TEST_RESEND_TIMEOUT and
CLIENT_TEST_INTERRUPT_AT.
The long and unreadable environment strings for client-test
are now in the Python code as multiple independent strings
which get concatenated by Python:
function("foo"
"bar")
checkinstall *does* work on a Debian system, even under fakeroot.
The trick is to make /usr/src/rpm/RPMS writable for normal users.
The Makefile then copies the resulting .rpm back to the current
working directory.
The "lpia" (Low Power Intel Architecture) .debs are our normal
x86 binaries packaged with a different architecture name. The check
whether runtests.py was building for x86 broke when moving to an
64 bit bost. It must be run inside the build environment.
1) extract test results from many result files and combine them
into a xml format file to summary each unit test status
2) use 'compare.xsl' to compare two days' result and generate
comparison result
3) generate more visiable html output file by nightly result
and comparison result to make tracking regressions easily
First, the test really shouldn't fail. Need to investigate why it does on
one test platform. Second, it was applied to all test runs, overwriting
the desired value of CLIENT_TEST_FAILURE for that run.
These files used to contain the complete sync session
output. Now they contain just the user-visible output,
so don't compress anymore because that doesn't save much
space and makes the files harder to read.
In this mode, Client::Sync is replaced with
just Client::Sync::<first source>::testItems.
This assumes that all servers support WBXML
with our test data.