Commit 63b3ccda authored by Julien Muchembled's avatar Julien Muchembled

erp5.util.testnode: strip common '-repository' suffix in test result references

This is only cosmetics.
parent 9634a7d8
......@@ -272,7 +272,11 @@ develop = false
self.assertEquals(expected_profile, profile.read())
profile.close()
def test_05_getAndUpdateFullRevisionList(self):
def getAndUpdateFullRevisionList(self, test_node, node_test_suite)
if test_node.updateRevisionList(node_test_suite):
return node_test_suite.revision.split(',')
def test_05_updateRevisionList(self):
"""
Check if we clone correctly repositories and get right revisions
"""
......@@ -280,7 +284,7 @@ develop = false
test_node = self.getTestNode()
node_test_suite = test_node.getNodeTestSuite('foo')
self.updateNodeTestSuiteData(node_test_suite)
rev_list = test_node.getAndUpdateFullRevisionList(node_test_suite)
rev_list = self.getAndUpdateFullRevisionList(test_node, node_test_suite)
self.assertEquals(2, len(rev_list))
self.assertEquals(rev_list[0], 'rep0=2-%s' % commit_dict['rep0'][0][0])
self.assertEquals(rev_list[1], 'rep1=2-%s' % commit_dict['rep1'][0][0])
......@@ -289,7 +293,7 @@ develop = false
my_file.close()
call = self.getCaller(cwd=self.remote_repository1)
call("git commit -av -m new_commit".split())
rev_list = test_node.getAndUpdateFullRevisionList(node_test_suite)
rev_list = self.getAndUpdateFullRevisionList(test_node, node_test_suite)
self.assertTrue(rev_list[0].startswith('rep0=2-'))
self.assertTrue(rev_list[1].startswith('rep1=3-'))
self.assertEquals(2, len(node_test_suite.vcs_repository_list))
......@@ -305,7 +309,7 @@ develop = false
test_node = self.getTestNode()
node_test_suite = test_node.getNodeTestSuite('foo')
self.updateNodeTestSuiteData(node_test_suite, add_third_repository=True)
rev_list = test_node.getAndUpdateFullRevisionList(node_test_suite)
rev_list = self.getAndUpdateFullRevisionList(test_node, node_test_suite)
self.assertEquals(3, len(rev_list))
self.assertEquals(3, len(node_test_suite.vcs_repository_list))
rep2_clone_path = [x['repository_path'] for x in \
......@@ -319,7 +323,7 @@ develop = false
self.assertEquals(vcs_repository_info['branch'], 'foo')
# change it to master
vcs_repository_info['branch'] = 'master'
rev_list = test_node.getAndUpdateFullRevisionList(node_test_suite)
rev_list = self.getAndUpdateFullRevisionList(test_node, node_test_suite)
output = call("git branch".split()).strip()
print output
self.assertTrue("* master" in output.split('\n'))
......@@ -327,7 +331,7 @@ develop = false
remote_call = self.getCaller(cwd=self.remote_repository2)
output = remote_call('git checkout master -b bar'.split())
vcs_repository_info['branch'] = 'bar'
rev_list = test_node.getAndUpdateFullRevisionList(node_test_suite)
rev_list = self.getAndUpdateFullRevisionList(test_node, node_test_suite)
output = call("git branch".split()).strip()
self.assertTrue("* bar" in output.split('\n'))
......@@ -341,7 +345,7 @@ develop = false
test_node = self.getTestNode()
node_test_suite = test_node.getNodeTestSuite('foo')
self.updateNodeTestSuiteData(node_test_suite)
rev_list = test_node.getAndUpdateFullRevisionList(node_test_suite)
rev_list = self.getAndUpdateFullRevisionList(test_node, node_test_suite)
self.assertEquals(2, len(rev_list))
self.assertEquals(2, len(node_test_suite.vcs_repository_list))
# patch deleteRepository to make sure it will be called once for the wrong
......@@ -362,7 +366,7 @@ develop = false
call = self.getCaller(cwd=rep0_clone_path)
self.assertEquals(call("git config --get remote.origin.url".split()).strip(),
self.remote_repository0)
rev_list = test_node.getAndUpdateFullRevisionList(node_test_suite)
rev_list = self.getAndUpdateFullRevisionList(test_node, node_test_suite)
self.assertEquals(call("git config --get remote.origin.url".split()).strip(),
self.remote_repository2)
self.assertEquals([rep0_clone_path], deleted_repository_path_list)
......@@ -380,7 +384,7 @@ develop = false
test_node = self.getTestNode()
node_test_suite = test_node.getNodeTestSuite('foo')
self.updateNodeTestSuiteData(node_test_suite)
rev_list = test_node.getAndUpdateFullRevisionList(node_test_suite)
rev_list = self.getAndUpdateFullRevisionList(test_node, node_test_suite)
self.assertEquals(2, len(rev_list))
self.assertEquals(2, len(node_test_suite.vcs_repository_list))
rep0_clone_path = [x['repository_path'] for x in \
......@@ -390,7 +394,7 @@ develop = false
my_file.write("next_content")
my_file.close()
# make sure code still works
rev_list = test_node.getAndUpdateFullRevisionList(node_test_suite)
rev_list = self.getAndUpdateFullRevisionList(test_node, node_test_suite)
self.assertEqual(2, len(rev_list))
self.assertEqual(2, len(node_test_suite.vcs_repository_list))
# and check local change was resetted
......@@ -408,7 +412,7 @@ develop = false
test_node = self.getTestNode()
node_test_suite = test_node.getNodeTestSuite('foo')
self.updateNodeTestSuiteData(node_test_suite, add_broken_repository=True)
rev_list = test_node.getAndUpdateFullRevisionList(node_test_suite)
rev_list = self.getAndUpdateFullRevisionList(test_node, node_test_suite)
self.assertEqual(None, rev_list)
def test_06_checkRevision(self):
......@@ -419,7 +423,7 @@ develop = false
test_node = self.getTestNode()
node_test_suite = test_node.getNodeTestSuite('foo')
self.updateNodeTestSuiteData(node_test_suite)
rev_list = test_node.getAndUpdateFullRevisionList(node_test_suite)
rev_list = self.getAndUpdateFullRevisionList(test_node, node_test_suite)
def getRepInfo(count=0, hash=0):
assert count or hash
info_list = []
......
......@@ -107,3 +107,9 @@ class NodeTestSuite(SlapOSInstance):
def getSuiteLogPath(self):
return getattr(self,"suite_log_path", None)
@property
def revision(self):
return ','.join('%s=%s-%s' % (
repository[:-11] if repository.endswith('-repository') else repository,
count, revision)
for repository, (count, revision) in self.revision_list)
......@@ -112,6 +112,7 @@ class TestNode(object):
assert len(node_test_suite.vcs_repository_list), "we must have at least one repository"
profile_path_count = 0
profile_content_list = []
revision_dict = dict(node_test_suite.revision_list)
for vcs_repository in node_test_suite.vcs_repository_list:
url = vcs_repository['url']
buildout_section_id = vcs_repository.get('buildout_section_id', None)
......@@ -147,15 +148,6 @@ extends = %(software_config_path)s
repository_path = os.path.relpath(repository_path, from_path)
if test_type=="ScalabilityTest":
# updater = Updater(repository_path, git_binary=self.config['git_binary'],
# branch = vcs_repository.get('branch','master'), log=self.log, process_manager=self.process_manager)
# updater.checkout()
# revision = updater.getRevision()[1]
all_revision = node_test_suite.revision
# from 'sec1=xx-azer,sec2=yy-qwer,..' to [[sec1,azer],[sec2,qwer],..]
revision_list = [ [x.split('=')[0],x.split('=')[1].split('-')[1]] for x in all_revision.split(',') ]
# from [[sec1,azer],[sec2,qwer],..] to {sec1:azer,sec2:qwer,..}
revision_dict = {branch:revision for branch,revision in revision_list}
# <obfuscated_url> word is modified by in runner.prepareSlapOSForTestSuite()
profile_content_list.append("""
[%(buildout_section_id)s]
......@@ -165,7 +157,7 @@ ignore-ssl-certificate = true
develop = false
shared = true
""" % {'buildout_section_id': buildout_section_id,
'revision': revision_dict[buildout_section_id]})
'revision': revision_dict[buildout_section_id][1]})
else:
profile_content_list.append("""
[%(buildout_section_id)s]
......@@ -187,10 +179,10 @@ shared = true
custom_profile.close()
sys.path.append(repository_path)
def getAndUpdateFullRevisionList(self, node_test_suite):
full_revision_list = []
def updateRevisionList(self, node_test_suite):
config = self.config
log = self.log
revision_list = []
try:
for vcs_repository in node_test_suite.vcs_repository_list:
repository_path = vcs_repository['repository_path']
......@@ -202,13 +194,12 @@ shared = true
working_directory=node_test_suite.working_directory,
url=vcs_repository["url"])
updater.checkout()
revision = "-".join(updater.getRevision())
full_revision_list.append('%s=%s' % (repository_id, revision))
node_test_suite.revision = ','.join(full_revision_list)
revision_list.append((repository_id, updater.getRevision()))
except SubprocessError, e:
log("Error while getting repository, ignoring this test suite : %r" % (e,), exc_info=sys.exc_info())
full_revision_list = None
return full_revision_list
return False
node_test_suite.revision_list = revision_list
return True
def registerSuiteLog(self, test_result, node_test_suite):
"""
......@@ -385,8 +376,7 @@ from the distributor.")
run_software = True
# kill processes from previous loop if any
self.process_manager.killPreviousRun()
revision_list = self.getAndUpdateFullRevisionList(node_test_suite)
if revision_list is None:
if not self.updateRevisionList(node_test_suite):
continue
# Write our own software.cfg to use the local repository
self.constructProfile(node_test_suite, my_test_type,
......
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