Skip to content

Long Running Client Test

dragotin edited this page Jul 12, 2013 · 3 revisions

it would be very beneficial to have a test setup that runs the client in a normal environment for a longer time, ie. a couple of days on all supported operating systems. It should work on a random, not too small set of data which is to be synced initially.

Setup of the Test Data Set

There is a script couple in miralls test directory that can be used to create a nice set of test data. Every other, reproduceable test data set also is ok, as long as it has a reasonable size.

Start Syncing with Logging

Start the sync client and configure it the test data folder and a reasonable test server. Start the client with logging in directory mode. That way, it produces a separate log file for every sync run as described in the client documentation.

A good log setting would be

bin/owncloud --logdir /tmp/owncloud_logs --logexpire 48

to keep the last two days logs. Note that this can still be a lot, make sure to have some spare space. Probably the sync interval should be less than every thirty seconds.

The sync should run for a couple of days or until any kind of problem happens.

Monitor File Trees

It would be beneficial to monitor the file trees on local and remote repository and compare it to the file tree from start. That can be done with the find command on each tree and diff. Obviously there could be more advanced scripts to do that frequently and automatically stop the client once it's failing.

Changes

The best would be to do changes to the test file tree and consider them in the monitoring.

Errors

If errors happen, the logfiles should be saved and a bug report with good description and link to the logfiles should be created.

Todo

  • Script support to monitor the file trees, manually or by cron.
  • Other tests, such as syncing one server to multiple clients.
  • Time measurements.