[Erp5-report] r36452 jm - /erp5/trunk/products/ERP5Type/tests/
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Jun 18 18:04:08 CEST 2010
Author: jm
Date: Fri Jun 18 18:04:06 2010
New Revision: 36452
URL: http://svn.erp5.org?rev=36452&view=rev
Log:
runUnitTest: add --dump_sql option and fix --live_instance
This splits --live_instance option so that it is possible to only disable
load/save SQL dumps: --live_instance automatically set --dump_sql=0
Also fix saving static files when --live_instance is used.
Modified:
erp5/trunk/products/ERP5Type/tests/custom_zodb.py
erp5/trunk/products/ERP5Type/tests/runUnitTest.py
Modified: erp5/trunk/products/ERP5Type/tests/custom_zodb.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/tests/custom_zodb.py?rev=36452&r1=36451&r2=36452&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/tests/custom_zodb.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/tests/custom_zodb.py [utf8] Fri Jun 18 18:04:06 2010
@@ -32,10 +32,9 @@ data_fs_path = os.environ.get('erp5_test
os.path.join(instance_home, 'Data.fs'))
load = int(os.environ.get('erp5_load_data_fs', 0))
save = int(os.environ.get('erp5_save_data_fs', 0))
-live_instance_path = os.environ.get('live_instance_path', None)
+save_mysql = int(os.environ.get('erp5_dump_sql') or not zeo_client) or None
-save_mysql = None
-if not zeo_client and live_instance_path is None:
+if save_mysql:
def save_mysql(verbosity=1):
# The output of mysqldump needs to merge many lines at a time
# for performance reasons (merging lines is at most 10 times
@@ -61,9 +60,10 @@ if load:
_print("Could not find MySQL dump, will recreate catalog ... ")
os.environ['erp5_tests_recreate_catalog'] = '1'
_print("Restoring static files ... ")
+ live_instance_path = os.environ.get('live_instance_path')
for dir in static_dir_list:
full_path = os.path.join(instance_home, dir)
- if live_instance_path is not None:
+ if live_instance_path:
backup_path = os.path.join(live_instance_path, dir)
else:
backup_path = full_path + '.bak'
Modified: erp5/trunk/products/ERP5Type/tests/runUnitTest.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/tests/runUnitTest.py?rev=36452&r1=36451&r2=36452&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/tests/runUnitTest.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/tests/runUnitTest.py [utf8] Fri Jun 18 18:04:06 2010
@@ -28,16 +28,15 @@ Options:
--data_fs_path to run tests on an existing
Data.fs
--data_fs_path=STRING Use the given path for the Data.fs
- --live_instance=[STRING]
- Use Data.fs, Document, PropertySheet, Constraint
- from a live instance. This is very usefull in order
+ --live_instance=[STRING] Use Data.fs, Document, PropertySheet, Constraint
+ from a live instance. This is very useful in order
to try quickly a test without having to rebuild
- testing data. This could be totally unsafe for you
+ testing data. This could be totally unsafe for your
instance, this depends if the test destroy existing
data or not.
STRING could be used to define the path of real
- instance
- It enable --save --load --data_fs_path
+ instance. It automatically enables:
+ --save --load --dump_sql=0 --data_fs_path=...
--bt5_path Search for Business Templates in the given list of
paths (or any HTTP url supported by template tool),
delimited with commas. In particular, BT can be
@@ -45,7 +44,7 @@ Options:
using a url like:
http://.../erp5/portal_templates/asRepository
Default is INSTANCE_HOME/bt5 and its subfolders.
- --recreate_catalog=0 or 1 recreate the content of the sql catalog. Default
+ --recreate_catalog={0|1} Recreate the content of the SQL catalog. Default
is to recreate, unless using --data_fs_path
--save Run unit tests in persistent mode (if unset,
existing Data.fs, dump.sql and *.bak static
@@ -53,6 +52,9 @@ Options:
if business templates are updated
or if --load is unset.
--load Reuse existing instance (created with --save).
+ --dump_sql=[0|1] Force enabling/disabling SQL dumps.
+ By default, databases are loaded/saved except
+ when running ZEO clients.
--erp5_sql_connection_string=STRING
ZSQL Connection string for erp5_sql_connection, by
default, it will use "test test"
@@ -561,13 +563,18 @@ def runUnitTestList(test_list, verbosity
# be done manually.
if verbosity:
_print('Dumping static files...\n')
+ live_instance_path = os.environ.get('live_instance_path')
for static_dir in static_dir_list:
try:
shutil.rmtree(static_dir + '.bak')
except OSError, e:
if e.errno != errno.ENOENT:
raise
- shutil.copytree(static_dir, static_dir + '.bak', symlinks=True)
+ if live_instance_path:
+ backup_path = os.path.join(live_instance_path, static_dir)
+ else:
+ backup_path = static_dir + '.bak'
+ shutil.copytree(static_dir, backup_path, symlinks=True)
elif zeo_client_pid_list is not None:
_print('WARNING: No static files saved. You will have to do it manually.')
@@ -593,6 +600,7 @@ def main():
"erp5_catalog_storage=",
"save",
"load",
+ "dump_sql=",
"email_from_address=",
"enable_full_indexing=",
"run_only=",
@@ -656,6 +664,8 @@ def main():
os.environ["erp5_save_data_fs"] = "1"
elif opt == "--load":
os.environ["erp5_load_data_fs"] = "1"
+ elif opt == "--dump_sql":
+ os.environ["erp5_dump_sql"] = arg
elif opt == "--erp5_catalog_storage":
os.environ["erp5_catalog_storage"] = arg
elif opt == "--run_only":
@@ -672,9 +682,11 @@ def main():
os.environ["conversion_server_port"] = arg
elif opt == "--live_instance":
live_instance_path = arg or real_instance_home
+ # following line is only for static files
os.environ["live_instance_path"] = live_instance_path
os.environ["erp5_load_data_fs"] = "1"
os.environ["erp5_save_data_fs"] = "1"
+ os.environ["erp5_dump_sql"] = "0"
os.environ["erp5_tests_data_fs_path"] = os.path.join(
live_instance_path, 'var', 'Data.fs')
elif opt == "--use_dummy_mail_host":
More information about the Erp5-report
mailing list