Commit 7691ed2b authored by Julien Muchembled's avatar Julien Muchembled

runUnitTest: remove obsolete code for "static" files now that everything has moved to ZODB

parent f968bb32
...@@ -62,6 +62,8 @@ from Products.ERP5.Document.Organisation import Organisation ...@@ -62,6 +62,8 @@ from Products.ERP5.Document.Organisation import Organisation
from Products.ERP5Type.Accessor.Constant import PropertyGetter as ConstantGetter from Products.ERP5Type.Accessor.Constant import PropertyGetter as ConstantGetter
from ZODB.broken import Broken from ZODB.broken import Broken
instance_home = os.environ['INSTANCE_HOME']
class MockBrokenOrganisation(Organisation, Broken): class MockBrokenOrganisation(Organisation, Broken):
meta_type = 'ERP5 Mock Broken Organisation' meta_type = 'ERP5 Mock Broken Organisation'
portal_type = 'Mock Broken Organisation' portal_type = 'Mock Broken Organisation'
...@@ -113,8 +115,21 @@ class BusinessTemplateMixin(ERP5TypeTestCase, LogInterceptor): ...@@ -113,8 +115,21 @@ class BusinessTemplateMixin(ERP5TypeTestCase, LogInterceptor):
content_type_registry.removePredicate('any') content_type_registry.removePredicate('any')
self.commit() self.commit()
# Create old static dirs for migration tests
self.rmdir_list = []
for d in "Constraint", "Document", "Extensions", "PropertySheet":
d = os.path.join(instance_home, d)
try:
os.mkdir(d)
except OSError:
continue
self.rmdir_list.append(d)
def beforeTearDown(self): def beforeTearDown(self):
"""Remove objects created in tests.""" """Remove objects created in tests."""
for d in getattr(self, "rmdir_list", ()):
shutil.rmtree(d)
pw = self.getWorkflowTool() pw = self.getWorkflowTool()
cbt = pw._chains_by_type cbt = pw._chains_by_type
......
import errno
import os import os
import subprocess import subprocess
import shutil
import signal import signal
import socket
import sys import sys
import glob
import threading
import time import time
import ZODB
from asyncore import socket_map from asyncore import socket_map
from ZODB.DemoStorage import DemoStorage from ZODB.DemoStorage import DemoStorage
from ZODB.FileStorage import FileStorage from ZODB.FileStorage import FileStorage
from Products.ERP5Type.tests.utils import getMySQLArguments, instance_random from Products.ERP5Type.tests.utils import getMySQLArguments, instance_random
from Products.ERP5Type.tests.runUnitTest import static_dir_list, WIN
def _print(message): def _print(message):
sys.stderr.write(message + "\n") sys.stderr.write(message + "\n")
...@@ -55,14 +48,6 @@ if save_mysql: ...@@ -55,14 +48,6 @@ if save_mysql:
_print('Dumping MySQL database with %s ...' % command) _print('Dumping MySQL database with %s ...' % command)
subprocess.check_call(command, shell=True) subprocess.check_call(command, shell=True)
_print("Cleaning static files ... ")
for static_dir in static_dir_list:
static_dir = os.path.join(instance_home, static_dir)
if os.path.islink(static_dir):
os.remove(static_dir)
elif os.path.exists(static_dir):
shutil.rmtree(static_dir)
if load: if load:
if save_mysql: if save_mysql:
if os.path.exists(dump_sql_path): if os.path.exists(dump_sql_path):
...@@ -73,30 +58,11 @@ if load: ...@@ -73,30 +58,11 @@ if load:
_print("Could not find MySQL dump (%r), will recreate catalog ... " % dump_sql_path) _print("Could not find MySQL dump (%r), will recreate catalog ... " % dump_sql_path)
os.environ['erp5_tests_recreate_catalog'] = '1' os.environ['erp5_tests_recreate_catalog'] = '1'
_print("Restoring static files ... ") _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:
backup_path = os.path.join(live_instance_path, dir)
else:
backup_path = full_path + '.bak'
if os.path.exists(backup_path):
if not save or WIN:
shutil.copytree(backup_path, full_path, symlinks=True)
else:
if not live_instance_path:
backup_path = os.path.basename(backup_path)
os.symlink(backup_path, full_path)
elif save and not (neo_storage or zeo_client) and os.path.exists(data_fs_path): elif save and not (neo_storage or zeo_client) and os.path.exists(data_fs_path):
_print("About to remove existing Data.fs %s (press Ctrl+C to abort)" % data_fs_path) _print("About to remove existing Data.fs %s (press Ctrl+C to abort)" % data_fs_path)
time.sleep(5) time.sleep(5)
os.remove(data_fs_path) os.remove(data_fs_path)
for static_dir in static_dir_list:
static_dir = os.path.join(instance_home, static_dir)
if not os.path.exists(static_dir):
os.mkdir(static_dir)
zeo_server_pid = None zeo_server_pid = None
node_pid_list = [] node_pid_list = []
......
...@@ -156,8 +156,6 @@ When no unit test is specified, only activities are processed. ...@@ -156,8 +156,6 @@ When no unit test is specified, only activities are processed.
sys.modules['Products.ERP5Type.tests.runUnitTest'] = sys.modules[__name__] sys.modules['Products.ERP5Type.tests.runUnitTest'] = sys.modules[__name__]
static_dir_list = 'Constraint', 'Document', 'Extensions', 'PropertySheet'
def getUnitTestFile(): def getUnitTestFile():
"""returns the absolute path of this script. """returns the absolute path of this script.
This is used by template tool to run unit tests.""" This is used by template tool to run unit tests."""
...@@ -701,33 +699,8 @@ def runUnitTestList(test_list, verbosity=1, debug=0, run_only=None): ...@@ -701,33 +699,8 @@ def runUnitTestList(test_list, verbosity=1, debug=0, run_only=None):
coverage_process.save() coverage_process.save()
coverage_process.html_report() coverage_process.html_report()
if save: if save and save_mysql:
os.chdir(instance_home) save_mysql(verbosity)
if save_mysql:
save_mysql(verbosity)
if suite.__class__ not in (ProcessingNodeTestCase, ZEOServerTestCase):
# Static files are modified by the node installing business templates,
# i.e. by the node running the unit test. There is no point saving them
# on a ZEO server, or on nodes that only process activities: this has to
# 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:
if os.path.islink(static_dir):
continue
if live_instance_path:
backup_path = os.path.join(live_instance_path, static_dir)
else:
backup_path = static_dir + '.bak'
try:
shutil.rmtree(backup_path)
except OSError, e:
if e.errno != errno.ENOENT:
raise
os.rename(static_dir, backup_path)
elif node_pid_list is not None:
_print('WARNING: No static files saved. You will have to do it manually.')
return result return result
...@@ -873,14 +846,11 @@ def main(argument_list=None): ...@@ -873,14 +846,11 @@ def main(argument_list=None):
elif opt == "--persistent_memcached_server_port": elif opt == "--persistent_memcached_server_port":
os.environ["persistent_memcached_server_port"] = arg os.environ["persistent_memcached_server_port"] = arg
elif opt == "--live_instance": 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_load_data_fs"] = "1"
os.environ["erp5_save_data_fs"] = "1" os.environ["erp5_save_data_fs"] = "1"
os.environ["erp5_dump_sql"] = "0" os.environ["erp5_dump_sql"] = "0"
os.environ["erp5_tests_data_fs_path"] = os.path.join( os.environ["erp5_tests_data_fs_path"] = os.path.join(
live_instance_path, 'var', 'Data.fs') arg or real_instance_home, 'var', 'Data.fs')
elif opt == "--random_activity_priority": elif opt == "--random_activity_priority":
os.environ["random_activity_priority"] = arg or \ os.environ["random_activity_priority"] = arg or \
str(random.randrange(0, 1<<16)) str(random.randrange(0, 1<<16))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment