summaryrefslogtreecommitdiff
path: root/tests/functional-tests/common/utils/system.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional-tests/common/utils/system.py')
-rw-r--r--tests/functional-tests/common/utils/system.py215
1 files changed, 113 insertions, 102 deletions
diff --git a/tests/functional-tests/common/utils/system.py b/tests/functional-tests/common/utils/system.py
index e305aa57f..539d5de19 100644
--- a/tests/functional-tests/common/utils/system.py
+++ b/tests/functional-tests/common/utils/system.py
@@ -18,26 +18,27 @@ import helpers
# Add this after fixing the backup/restore and ontology changes tests
#"G_DEBUG" : "fatal_criticals",
-TEST_ENV_DIRS = { "XDG_DATA_HOME" : os.path.join (cfg.TEST_TMP_DIR, "data"),
- "XDG_CACHE_HOME": os.path.join (cfg.TEST_TMP_DIR, "cache")}
+TEST_ENV_DIRS = {"XDG_DATA_HOME": os.path.join(cfg.TEST_TMP_DIR, "data"),
+ "XDG_CACHE_HOME": os.path.join(cfg.TEST_TMP_DIR, "cache")}
-TEST_ENV_VARS = { "TRACKER_DISABLE_MEEGOTOUCH_LOCALE": "",
- "LC_COLLATE": "en_GB.utf8",
- "DCONF_PROFILE": os.path.join (cfg.DATADIR, "tracker-tests",
- "trackertest") }
+TEST_ENV_VARS = {"TRACKER_DISABLE_MEEGOTOUCH_LOCALE": "",
+ "LC_COLLATE": "en_GB.utf8",
+ "DCONF_PROFILE": os.path.join(cfg.DATADIR, "tracker-tests",
+ "trackertest")}
-EXTRA_DIRS = [os.path.join (cfg.TEST_TMP_DIR, "data", "tracker"),
- os.path.join (cfg.TEST_TMP_DIR, "cache", "tracker")]
+EXTRA_DIRS = [os.path.join(cfg.TEST_TMP_DIR, "data", "tracker"),
+ os.path.join(cfg.TEST_TMP_DIR, "cache", "tracker")]
REASONABLE_TIMEOUT = 30
+
class UnableToBootException (Exception):
pass
class TrackerSystemAbstraction:
- def set_up_environment (self, settings, ontodir):
+ def set_up_environment(self, settings, ontodir):
"""
Sets up the XDG_*_HOME variables and make sure the directories exist
@@ -47,29 +48,30 @@ class TrackerSystemAbstraction:
GLib.Variant instance.
"""
- helpers.log ("[Conf] Setting test environment...")
+ helpers.log("[Conf] Setting test environment...")
- for var, directory in TEST_ENV_DIRS.iteritems ():
- helpers.log ("export %s=%s" %(var, directory))
- self.__recreate_directory (directory)
- os.environ [var] = directory
+ for var, directory in TEST_ENV_DIRS.iteritems():
+ helpers.log("export %s=%s" % (var, directory))
+ self.__recreate_directory(directory)
+ os.environ[var] = directory
for directory in EXTRA_DIRS:
- self.__recreate_directory (directory)
+ self.__recreate_directory(directory)
if ontodir:
- helpers.log ("export %s=%s" % ("TRACKER_DB_ONTOLOGIES_DIR", ontodir))
- os.environ ["TRACKER_DB_ONTOLOGIES_DIR"] = ontodir
+ helpers.log("export %s=%s" %
+ ("TRACKER_DB_ONTOLOGIES_DIR", ontodir))
+ os.environ["TRACKER_DB_ONTOLOGIES_DIR"] = ontodir
- for var, value in TEST_ENV_VARS.iteritems ():
- helpers.log ("export %s=%s" %(var, value))
- os.environ [var] = value
+ for var, value in TEST_ENV_VARS.iteritems():
+ helpers.log("export %s=%s" % (var, value))
+ os.environ[var] = value
# Previous loop should have set DCONF_PROFILE to the test location
if settings is not None:
self._apply_settings(settings)
- helpers.log ("[Conf] environment ready")
+ helpers.log("[Conf] environment ready")
def _apply_settings(self, settings):
for schema_name, contents in settings.iteritems():
@@ -78,139 +80,148 @@ class TrackerSystemAbstraction:
for key, value in contents.iteritems():
dconf.write(key, value)
- def tracker_store_testing_start (self, confdir=None, ontodir=None):
+ def tracker_store_testing_start(self, confdir=None, ontodir=None):
"""
Stops any previous instance of the store, calls set_up_environment,
and starts a new instances of the store
"""
- self.set_up_environment (confdir, ontodir)
+ self.set_up_environment(confdir, ontodir)
- self.store = helpers.StoreHelper ()
- self.store.start ()
+ self.store = helpers.StoreHelper()
+ self.store.start()
- def tracker_store_start (self):
- self.store.start ()
+ def tracker_store_start(self):
+ self.store.start()
- def tracker_store_stop_nicely (self):
- self.store.stop ()
+ def tracker_store_stop_nicely(self):
+ self.store.stop()
- def tracker_store_stop_brutally (self):
- self.store.kill ()
+ def tracker_store_stop_brutally(self):
+ self.store.kill()
- def tracker_store_restart_with_new_ontologies (self, ontodir):
- self.store.stop ()
+ def tracker_store_restart_with_new_ontologies(self, ontodir):
+ self.store.stop()
if ontodir:
- helpers.log ("[Conf] Setting %s - %s" % ("TRACKER_DB_ONTOLOGIES_DIR", ontodir))
- os.environ ["TRACKER_DB_ONTOLOGIES_DIR"] = ontodir
+ helpers.log("[Conf] Setting %s - %s" %
+ ("TRACKER_DB_ONTOLOGIES_DIR", ontodir))
+ os.environ["TRACKER_DB_ONTOLOGIES_DIR"] = ontodir
try:
- self.store.start ()
+ self.store.start()
except dbus.DBusException, e:
- raise UnableToBootException ("Unable to boot the store \n(" + str(e) + ")")
+ raise UnableToBootException(
+ "Unable to boot the store \n(" + str(e) + ")")
- def tracker_store_prepare_journal_replay (self):
- db_location = os.path.join (TEST_ENV_DIRS ['XDG_CACHE_HOME'], "tracker", "meta.db")
- os.unlink (db_location)
+ def tracker_store_prepare_journal_replay(self):
+ db_location = os.path.join(
+ TEST_ENV_DIRS['XDG_CACHE_HOME'], "tracker", "meta.db")
+ os.unlink(db_location)
- lockfile = os.path.join (TEST_ENV_DIRS ['XDG_DATA_HOME'], "tracker", "data", ".ismeta.running")
- f = open (lockfile, 'w')
- f.write (" ")
- f.close ()
+ lockfile = os.path.join(
+ TEST_ENV_DIRS['XDG_DATA_HOME'], "tracker", "data", ".ismeta.running")
+ f = open(lockfile, 'w')
+ f.write(" ")
+ f.close()
- def tracker_store_corrupt_dbs (self):
+ def tracker_store_corrupt_dbs(self):
for filename in ["meta.db", "meta.db-wal"]:
- db_path = os.path.join (TEST_ENV_DIRS ['XDG_CACHE_HOME'], "tracker", filename)
- f = open (db_path, "w")
- for i in range (0, 100):
- f.write ("Some stupid content... hohohoho, not a sqlite file anymore!\n")
- f.close ()
-
- def tracker_store_remove_journal (self):
- db_location = os.path.join (TEST_ENV_DIRS ['XDG_DATA_HOME'], "tracker", "data")
- shutil.rmtree (db_location)
- os.mkdir (db_location)
-
- def tracker_store_remove_dbs (self):
- db_location = os.path.join (TEST_ENV_DIRS ['XDG_CACHE_HOME'], "tracker")
- shutil.rmtree (db_location)
- os.mkdir (db_location)
-
- def tracker_store_testing_stop (self):
+ db_path = os.path.join(
+ TEST_ENV_DIRS['XDG_CACHE_HOME'], "tracker", filename)
+ f = open(db_path, "w")
+ for i in range(0, 100):
+ f.write(
+ "Some stupid content... hohohoho, not a sqlite file anymore!\n")
+ f.close()
+
+ def tracker_store_remove_journal(self):
+ db_location = os.path.join(
+ TEST_ENV_DIRS['XDG_DATA_HOME'], "tracker", "data")
+ shutil.rmtree(db_location)
+ os.mkdir(db_location)
+
+ def tracker_store_remove_dbs(self):
+ db_location = os.path.join(
+ TEST_ENV_DIRS['XDG_CACHE_HOME'], "tracker")
+ shutil.rmtree(db_location)
+ os.mkdir(db_location)
+
+ def tracker_store_testing_stop(self):
"""
Stops a running tracker-store
"""
assert self.store
- self.store.stop ()
-
+ self.store.stop()
- def tracker_miner_fs_testing_start (self, confdir=None):
+ def tracker_miner_fs_testing_start(self, confdir=None):
"""
Stops any previous instance of the store and miner, calls set_up_environment,
and starts a new instance of the store and miner-fs
"""
- self.set_up_environment (confdir, None)
+ self.set_up_environment(confdir, None)
# Start also the store. DBus autoactivation ignores the env variables.
- self.store = helpers.StoreHelper ()
- self.store.start ()
+ self.store = helpers.StoreHelper()
+ self.store.start()
- self.extractor = helpers.ExtractorHelper ()
- self.extractor.start ()
+ self.extractor = helpers.ExtractorHelper()
+ self.extractor.start()
- self.miner_fs = helpers.MinerFsHelper ()
- self.miner_fs.start ()
+ self.miner_fs = helpers.MinerFsHelper()
+ self.miner_fs.start()
- def tracker_miner_fs_testing_stop (self):
+ def tracker_miner_fs_testing_stop(self):
"""
Stops the extractor, miner-fs and store running
"""
- self.extractor.stop ()
- self.miner_fs.stop ()
- self.store.stop ()
+ self.extractor.stop()
+ self.miner_fs.stop()
+ self.store.stop()
- def tracker_writeback_testing_start (self, confdir=None):
+ def tracker_writeback_testing_start(self, confdir=None):
# Start the miner-fs (and store) and then the writeback process
- self.tracker_miner_fs_testing_start (confdir)
- self.writeback = helpers.WritebackHelper ()
- self.writeback.start ()
+ self.tracker_miner_fs_testing_start(confdir)
+ self.writeback = helpers.WritebackHelper()
+ self.writeback.start()
- def tracker_writeback_testing_stop (self):
+ def tracker_writeback_testing_stop(self):
# Tracker write must have been started before
- self.writeback.stop ()
- self.tracker_miner_fs_testing_stop ()
+ self.writeback.stop()
+ self.tracker_miner_fs_testing_stop()
- def tracker_all_testing_start (self, confdir=None):
+ def tracker_all_testing_start(self, confdir=None):
# This will start all miner-fs, store and writeback
- self.tracker_writeback_testing_start (confdir)
+ self.tracker_writeback_testing_start(confdir)
- def tracker_all_testing_stop (self):
+ def tracker_all_testing_stop(self):
# This will stop all miner-fs, store and writeback
- self.tracker_writeback_testing_stop ()
+ self.tracker_writeback_testing_stop()
- def __recreate_directory (self, directory):
- if (os.path.exists (directory)):
- shutil.rmtree (directory)
- os.makedirs (directory)
+ def __recreate_directory(self, directory):
+ if (os.path.exists(directory)):
+ shutil.rmtree(directory)
+ os.makedirs(directory)
if __name__ == "__main__":
- import gtk, glib, time
+ import gtk
+ import glib
+ import time
- def destroy_the_world (a):
- a.tracker_store_testing_stop ()
+ def destroy_the_world(a):
+ a.tracker_store_testing_stop()
print " stopped"
Gtk.main_quit()
print "-- Starting store --"
- a = TrackerSystemAbstraction ()
- a.tracker_store_testing_start ()
+ a = TrackerSystemAbstraction()
+ a.tracker_store_testing_start()
print " started, waiting 5 sec. to stop it"
- GLib.timeout_add_seconds (5, destroy_the_world, a)
- Gtk.main ()
+ GLib.timeout_add_seconds(5, destroy_the_world, a)
+ Gtk.main()
print "-- Starting miner-fs --"
- b = TrackerMinerFsLifeCycle ()
- b.start ()
+ b = TrackerMinerFsLifeCycle()
+ b.start()
print " started, waiting 3 secs. to stop it"
- time.sleep (3)
- b.stop ()
+ time.sleep(3)
+ b.stop()
print " stopped"