conduit r1361 - in trunk: . conduit/modules test/python-tests
- From: jstowers svn gnome org
- To: svn-commits-list gnome org
- Subject: conduit r1361 - in trunk: . conduit/modules test/python-tests
- Date: Sun, 9 Mar 2008 11:00:19 +0000 (GMT)
Author: jstowers
Date: Sun Mar 9 11:00:19 2008
New Revision: 1361
URL: http://svn.gnome.org/viewvc/conduit?rev=1361&view=rev
Log:
2008-03-09 John Stowers <john stowers gmail com>
* conduit/modules/TestModule.py:
* test/python-tests/TestCoreConduit.py:
* test/python-tests/TestCoreSyncTestDataProviders.py: Make the fail refresh
sink twoway, and test some more error paths.
Modified:
trunk/ChangeLog
trunk/conduit/modules/TestModule.py
trunk/test/python-tests/TestCoreConduit.py
trunk/test/python-tests/TestCoreSyncTestDataProviders.py
Modified: trunk/conduit/modules/TestModule.py
==============================================================================
--- trunk/conduit/modules/TestModule.py (original)
+++ trunk/conduit/modules/TestModule.py Sun Mar 9 11:00:19 2008
@@ -32,7 +32,7 @@
"TestConflict" : { "type": "dataprovider" },
"TestConversionArgs" : { "type": "dataprovider" },
"TestTwoWay" : { "type": "dataprovider" },
- "TestSinkFailRefresh" : { "type": "dataprovider" },
+ "TestFailRefresh" : { "type": "dataprovider" },
"TestSinkNeedConfigure" : { "type": "dataprovider" },
"TestFactory" : { "type": "dataprovider-factory" },
# "TestFactoryRemoval" : { "type": "dataprovider-factory" },
@@ -98,6 +98,7 @@
DataProvider.DataProviderBase.__init__(self)
#Through an error on the nth time through
self.errorAfter = 999
+ self.errorFatal = False
self.newHash = False
self.newMtime = False
self.slow = False
@@ -122,6 +123,8 @@
def setError(param):
self.errorAfter = int(param)
+ def setErrorFatal(param):
+ self.errorFatal = bool(param)
def setSlow(param):
self.slow = bool(param)
def setNewHash(param):
@@ -140,6 +143,12 @@
"InitialValue" : self.errorAfter
},
{
+ "Name" : "Error is Fatal?",
+ "Widget" : gtk.CheckButton,
+ "Callback" : setErrorFatal,
+ "InitialValue" : self.errorFatal
+ },
+ {
"Name" : "Take a Long Time?",
"Widget" : gtk.CheckButton,
"Callback" : setSlow,
@@ -185,6 +194,7 @@
def get_configuration(self):
return {
"errorAfter" : self.errorAfter,
+ "errorFatal" : self.errorFatal,
"slow" : self.slow,
"newHash" : self.newHash,
"newMtime" : self.newMtime,
@@ -273,7 +283,10 @@
index = int(LUID)
if index >= self.errorAfter:
- raise Exceptions.SyncronizeError("Error After:%s Count:%s" % (self.errorAfter, index))
+ if self.errorFatal:
+ raise Exceptions.SyncronizeFatalError("Error After:%s Count:%s" % (self.errorAfter, index))
+ else:
+ raise Exceptions.SyncronizeError("Error After:%s Count:%s" % (self.errorAfter, index))
mtime = DEFAULT_MTIME
if self.newMtime:
@@ -312,7 +325,10 @@
if self.slow:
time.sleep(1)
if self.count >= self.errorAfter:
- raise Exceptions.SyncronizeError("Error After:%s Count:%s" % (self.errorAfter, self.count))
+ if self.errorFatal:
+ raise Exceptions.SyncronizeFatalError("Error After:%s Count:%s" % (self.errorAfter, self.count))
+ else:
+ raise Exceptions.SyncronizeError("Error After:%s Count:%s" % (self.errorAfter, self.count))
self.count += 1
newData = TestDataType(data.get_UID())
return newData.get_rid()
@@ -617,22 +633,21 @@
def is_configured(self, isSource, isTwoWay):
return self.isConfigured
-class TestSinkFailRefresh(_TestBase, DataProvider.DataSink):
+class TestFailRefresh(TestTwoWay):
_name_ = "Test Fail Refresh"
_description_ = "Fails Refresh"
_category_ = conduit.dataproviders.CATEGORY_TEST
- _module_type_ = "sink"
+ _module_type_ = "twoway"
_in_type_ = "test_type"
_out_type_ = "test_type"
_icon_ = "dialog-error"
def __init__(self, *args):
- _TestBase.__init__(self)
- DataProvider.DataSink.__init__(self)
+ TestTwoWay.__init__(self)
def refresh(self):
- DataProvider.DataSink.refresh(self)
+ TestTwoWay.refresh(self)
raise Exceptions.RefreshError
class TestConflict(_TestBase, DataProvider.DataSink):
Modified: trunk/test/python-tests/TestCoreConduit.py
==============================================================================
--- trunk/test/python-tests/TestCoreConduit.py (original)
+++ trunk/test/python-tests/TestCoreConduit.py Sun Mar 9 11:00:19 2008
@@ -11,7 +11,7 @@
#add some dataproviders in different places
dps = test.get_dataprovider("TestSource")
dpk1 = test.get_dataprovider("TestSink")
-dpk2 = test.get_dataprovider("TestSinkFailRefresh")
+dpk2 = test.get_dataprovider("TestFailRefresh")
dptw1 = test.get_dataprovider("TestTwoWay")
dptw2 = test.get_dataprovider("TestTwoWay")
dptw3 = test.get_dataprovider("TestTwoWay")
Modified: trunk/test/python-tests/TestCoreSyncTestDataProviders.py
==============================================================================
--- trunk/test/python-tests/TestCoreSyncTestDataProviders.py (original)
+++ trunk/test/python-tests/TestCoreSyncTestDataProviders.py Sun Mar 9 11:00:19 2008
@@ -24,13 +24,37 @@
ok("Non fatal error trapped", error == True)
###
-#One way, should abort (fail refresh)
+#One way, should abort, but still put data in second sink
###
-ok("---- ONE WAY: SHOULD ABORT (Fail Refresh)", True)
+ok("---- ONE WAY: SHOULD ABORT", True)
test = SimpleSyncTest()
test.prepare(
test.get_dataprovider("TestSource"),
- test.get_dataprovider("TestSinkFailRefresh")
+ test.get_dataprovider("TestSink")
+ )
+test.add_extra_sink(
+ test.get_dataprovider("TestSink")
+ )
+test.set_two_way_policy({"conflict":"skip","deleted":"skip"})
+config = {}
+config["numData"] = 5
+config["errorAfter"] = 2
+config["errorFatal"] = True
+test.configure(source=config, sink=config)
+
+test.set_two_way_sync(False)
+test.sync(debug=False)
+aborted = test.sync_aborted()
+ok("Sync completed", aborted == False)
+
+###
+#One way, should abort (sink fail refresh)
+###
+ok("---- ONE WAY: SHOULD ABORT (Sink Fail Refresh)", True)
+test = SimpleSyncTest()
+test.prepare(
+ test.get_dataprovider("TestSource"),
+ test.get_dataprovider("TestFailRefresh")
)
test.set_two_way_policy({"conflict":"skip","deleted":"skip"})
@@ -40,6 +64,22 @@
ok("Sync aborted due to no refreshing sinks", aborted == True)
###
+#One way, should abort (source fail refresh)
+###
+ok("---- ONE WAY: SHOULD ABORT (Source Fail Refresh)", True)
+test = SimpleSyncTest()
+test.prepare(
+ test.get_dataprovider("TestFailRefresh"),
+ test.get_dataprovider("TestSink")
+ )
+test.set_two_way_policy({"conflict":"skip","deleted":"skip"})
+
+test.set_two_way_sync(False)
+test.sync(debug=False)
+aborted = test.sync_aborted()
+ok("Sync aborted due to source fail refresh", aborted == True)
+
+###
#One way, should abort (not configured)
###
ok("---- ONE WAY: SHOULD ABORT (Not Configured)", True)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]