Commit ac4390fb authored by Benjamin Blanc's avatar Benjamin Blanc

erp5_test_result: scalability (1)

parent 847cb0ab
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_view</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>generatedConfigurationView</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Generated Configuration</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/ScalabilityTestSuite_viewGeneratedConfiguration</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_action</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_action</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>vcs_repository</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>Add Documents, Images, and Files</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>VCS-Repository</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_view</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/ScalabilityTestSuite_view</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
##############################################################################
#
# Copyright (c) 2002-2013 Nexedi SA and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company return "OK"
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
##############################################################################
import jinja2
import json
def getGeneratedConfigurationList(self, *args, **kw):
document_list = []
template = jinja2.Template(self.getClusterConfiguration())
max = len(self.getGraphCoordinate())
#max = self.getNumberConfiguration()
compListView = [ "COMP-%i" %(x) for x in range(0,max+1) ]
for count in xrange(1, max+1):
templateVars = { "count" : count, "comp" : compListView }
outputText = template.render( templateVars )
description = json.dumps(json.loads(outputText), sort_keys=True, indent=4, separators=(',', ': '))
# Create a temp object
document_list.append(self.newContent(
temp_object=1,
title="%i" % count,
description="%s" %(description)))
return document_list
def generateConfigurationList(self, test_suite_title):
"""
generateConfigurationList : generate a dict wich contains a list
of cluster configurations for testnodes, using a test_suite and
available testnodes.
If it is not possible to generate a configuration, the 'launchable'
entry is False, otherwise it is True.
"""
def _unvalidateConfig(my_dict):
my_dict['launchable'] = False
if 'launcher_nodes_computer_guid' in my_dict:
my_dict['launcher_nodes_computer_guid'] = {}
if 'involved_nodes_computer_guid' in my_dict:
my_dict['involved_nodes_computer_guid'] = {}
if 'configuration_list' in my_dict:
my_dict['configuration_list'] = []
def _isInMyDictOrListRec(my_container, my_value):
def _isInMyDictOrList(current_container):
if current_container == my_value :
return True
elif type(current_container) == type({}):
for k,v in current_container.items():
if _isInMyDictOrList(current_container[k]) :
return True
elif type(current_container) == type([]):
for sub_container in current_container:
if _isInMyDictOrList(sub_container) :
return True
# Not found at this level and below
return False
return _isInMyDictOrList(my_container)
portal = self.getPortalObject()
test_suite_module = portal.test_suite_module
test_node_module = portal.test_node_module
portal_task_distribution = portal.portal_task_distribution
# Get test_suite informations from his title given in parameter
test_suite = test_suite_module.searchFolder(title=test_suite_title)[0]
lll = portal_task_distribution.searchFolder(title=test_suite.getSpecialiseTitle())
distributor_uid = lll[0].getUid()
cluster_configuration = test_suite.getClusterConfiguration()
cluster_constraint = test_suite.getClusterConstraint()
#number_configuration = test_suite.getNumberConfiguration()
number_configuration = len(test_suite.getGraphCoordinate())
randomized_path = test_suite.getRandomizedPath()
# Get testnodes available for this distributor
unvalid_node = "_my_unvalidated_dummy_node"
# Validated nodes wich are available to run test
available_nodes = test_node_module.searchFolder(
portal_type="Test Node", validation_state="validated",
specialise_uid=distributor_uid)
# Remaining node are nodes that can be insert in the template (so, excluded launcher nodes)
remaining_nodes = list(available_nodes)
launcher_nodes = []
launcher_nodes.append( remaining_nodes.pop() )
# Make list with only the computer_guid property of each node (to be used directly by template)
remaining_nodes_computer_guid = [unvalid_node] + [ node.getComputerGuid() for node in remaining_nodes ] + [unvalid_node]
launcher_nodes_computer_guid = [ node.getComputerGuid() for node in launcher_nodes ]
configuration_list_json = []
return_dict = {}
return_dict['error_message'] = 'No error.'
return_dict['randomized_path'] = randomized_path
# Will be modified after
return_dict['launchable'] = False
# source of possible error :
# bad json configuration
try:
template = jinja2.Template(cluster_configuration)
for count in xrange(1, number_configuration+1):
template_vars = { "count" : count, "comp" : remaining_nodes_computer_guid }
configuration_list_json.append( json.loads( template.render( template_vars ) ) )
return_dict['launchable'] = True
return_dict['configuration_list'] = configuration_list_json
return_dict['launcher_nodes_computer_guid'] = launcher_nodes_computer_guid
except:
return_dict['error_message'] = 'Bad json cluster_configuration ?'
_unvalidateConfig(return_dict)
# If the number of available nodes is lower than
# the number of nodes required by the template
if _isInMyDictOrListRec(return_dict, unvalid_node):
_unvalidateConfig(return_dict)
return_dict['error_message'] = 'The number of testnodes available for running\
the current test (%s) is insufficient.' %(test_suite_title)
# Get the list of all nodes wich will are involved in the test
involved_nodes_computer_guid = []
for node in available_nodes:
computer_guid = node.getComputerGuid()
if _isInMyDictOrListRec(return_dict, computer_guid):
involved_nodes_computer_guid.append(computer_guid)
return_dict['involved_nodes_computer_guid'] = involved_nodes_computer_guid
return return_dict
\ No newline at end of file
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
<portal_type id="Benchmark Result"> <portal_type id="Benchmark Result">
<item>Benchmark Result Line</item> <item>Benchmark Result Line</item>
</portal_type> </portal_type>
<portal_type id="Scalability Test Suite">
<item>Test Suite Repository</item>
</portal_type>
<portal_type id="Task Distribution Tool"> <portal_type id="Task Distribution Tool">
<item>Cloud Performance Unit Test Distributor</item> <item>Cloud Performance Unit Test Distributor</item>
<item>ERP5 Project Unit Test Distributor</item> <item>ERP5 Project Unit Test Distributor</item>
...@@ -21,6 +24,7 @@ ...@@ -21,6 +24,7 @@
<item>Test Suite Repository</item> <item>Test Suite Repository</item>
</portal_type> </portal_type>
<portal_type id="Test Suite Module"> <portal_type id="Test Suite Module">
<item>Scalability Test Suite</item>
<item>Test Suite</item> <item>Test Suite</item>
</portal_type> </portal_type>
</allowed_content_type_list> </allowed_content_type_list>
\ No newline at end of file
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
<portal_type id="Benchmark Result"> <portal_type id="Benchmark Result">
<item>source_project</item> <item>source_project</item>
</portal_type> </portal_type>
<portal_type id="Scalability Test Suite">
<item>specialise</item>
</portal_type>
<portal_type id="Test Node"> <portal_type id="Test Node">
<item>aggregate</item> <item>aggregate</item>
<item>specialise</item> <item>specialise</item>
......
...@@ -7,6 +7,11 @@ ...@@ -7,6 +7,11 @@
<portal_type id="Benchmark Result Line"> <portal_type id="Benchmark Result Line">
<item>Task</item> <item>Task</item>
</portal_type> </portal_type>
<portal_type id="Scalability Test Suite">
<item>Arrow</item>
<item>ScalabilityTestSuite</item>
<item>TestSuite</item>
</portal_type>
<portal_type id="Test Node"> <portal_type id="Test Node">
<item>DublinCore</item> <item>DublinCore</item>
</portal_type> </portal_type>
......
<type_roles>
<role id='Assignor; Assignee; Associate; Auditor; Author; Owner'>
<property id='title'>Default</property>
<property id='description'>Configured by Ben.</property>
<multi_property id='category'>group/my_group</multi_property>
</role>
</type_roles>
\ No newline at end of file
<type_roles>
<role id='Assignor; Assignee; Associate; Auditor; Author'>
<property id='title'>Default</property>
<property id='description'>Configured by Ben</property>
<multi_property id='category'>group/my_group</multi_property>
</role>
</type_roles>
\ No newline at end of file
<type_roles>
<role id='Assignor; Assignee; Associate; Auditor; Author'>
<property id='title'>Default</property>
<property id='description'>Configured by Ben</property>
<multi_property id='category'>group/my_group</multi_property>
</role>
</type_roles>
\ No newline at end of file
<type_roles>
<role id='Assignor; Assignee; Associate; Auditor; Author'>
<property id='title'>Default</property>
<property id='description'>Configured by Ben.</property>
<multi_property id='category'>group/my_group</multi_property>
</role>
</type_roles>
\ No newline at end of file
<type_roles>
<role id='Assignor; Assignee; Associate; Auditor; Author'>
<property id='title'>Default</property>
<property id='description'>Configured by Ben.</property>
<multi_property id='category'>group/my_group</multi_property>
</role>
</type_roles>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Base Type" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>acquire_local_roles</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>content_icon</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<tuple>
<string>embedded_document</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Scalability Test Suite</string> </value>
</item>
<item>
<key> <string>init_script</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>permission</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Base Type</string> </value>
</item>
<item>
<key> <string>type_class</string> </key>
<value> <string>TextDocument</string> </value>
</item>
<item>
<key> <string>type_interface</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>type_mixin</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -7,6 +7,10 @@ ...@@ -7,6 +7,10 @@
<type>Benchmark Result Line</type> <type>Benchmark Result Line</type>
<workflow>edit_workflow, test_result_workflow</workflow> <workflow>edit_workflow, test_result_workflow</workflow>
</chain> </chain>
<chain>
<type>Scalability Test Suite</type>
<workflow>edit_workflow, test_suite_workflow</workflow>
</chain>
<chain> <chain>
<type>Test Node</type> <type>Test Node</type>
<workflow>edit_workflow, test_node_workflow</workflow> <workflow>edit_workflow, test_node_workflow</workflow>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Property Sheet" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_count</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_mt_index</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>_tree</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ScalabilityTestSuite</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Property Sheet</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Length" module="BTrees.Length"/>
</pickle>
<pickle> <int>0</int> </pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="OOBTree" module="BTrees.OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="OOBTree" module="BTrees.OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>The configuration of the cluster.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>cluster_configuration_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>The hardaware constrains used for the selection of cluster-nodes.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>cluster_constraint_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/object</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>The list of abscissa coordinate of each test. The size of the list determinates the number of configuration to test.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>graph_coordinate_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>A random string wich defines a relative path to acces to the software.cfg file.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>randomized_path_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5Form" module="Products.ERP5Form.Form"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Base_edit</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>my_title</string>
<string>my_description</string>
<string>my_slapos_account_key</string>
<string>my_slapos_account_certificate</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list>
<string>my_id</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5ScalabilityDistribution_view</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>TestCloud_view</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_view</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Test Node Cloud</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_function</string> </key>
<value> <string>generateConfigurationList</string> </value>
</item>
<item>
<key> <string>_module</string> </key>
<value> <string>ScalabilityTestSuiteUtils</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ScalabilityTestSuiteUtils_generateConfigurationList</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ScalabilityTestSuiteUtils_generateConfigurationList</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_function</string> </key>
<value> <string>getGeneratedConfigurationList</string> </value>
</item>
<item>
<key> <string>_module</string> </key>
<value> <string>ScalabilityTestSuiteUtils</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ScalabilityTestSuite_getGeneratedConfigurationList</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5Form" module="Products.ERP5Form.Form"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Base_edit</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>hidden</string>
<string>bottom</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list>
<string>listbox</string>
</list>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list>
<string>my_cluster_constraint</string>
</list>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>my_title</string>
<string>my_test_suite</string>
<string>my_additional_bt5_repository_id</string>
<string>my_source_project_title</string>
<string>my_specialise_title</string>
<string>my_cluster_configuration</string>
<string>my_graph_coordinate</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list>
<string>my_reference</string>
<string>my_int_index</string>
<string>last_check</string>
<string>test_node_list</string>
<string>my_validation_state_title</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ScalabilityTestSuite_view</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>TestSuite_view</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_view</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Scalability Test Suite</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>columns</string>
<string>portal_types</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>columns</string> </key>
<value>
<list>
<tuple>
<string>git_url</string>
<string>URL</string>
</tuple>
<tuple>
<string>profile_path</string>
<string>Profile Path</string>
</tuple>
<tuple>
<string>buildout_section_id</string>
<string>Buildout</string>
</tuple>
<tuple>
<string>branch</string>
<string>Branch</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_view_mode_contact_listbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewBaseFieldLibrary</string> </value>
</item>
<item>
<key> <string>portal_types</string> </key>
<value>
<list>
<tuple>
<string>Test Suite Repository</string>
<string>Test Suite Repository</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Repository</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>portal_type</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_source_project_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_relation_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value>
<list>
<tuple>
<string>Project</string>
<string>Project</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Project Title</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>portal_type</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_specialise_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_relation_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value>
<list>
<tuple>
<string>ERP5 Scalability Distributor</string>
<string>ERP5 Scalability Distributor</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Distributor</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -88,6 +88,14 @@ ...@@ -88,6 +88,14 @@
<string>ERP5 Project Unit Test Distributor</string> <string>ERP5 Project Unit Test Distributor</string>
<string>ERP5 Project Unit Test Distributor</string> <string>ERP5 Project Unit Test Distributor</string>
</tuple> </tuple>
<tuple>
<string>ERP5 Scalability Distributor</string>
<string></string>
</tuple>
<tuple>
<string>ERP5 Scalability Distributor</string>
<string></string>
</tuple>
</list> </list>
</value> </value>
</item> </item>
......
...@@ -220,7 +220,9 @@ ...@@ -220,7 +220,9 @@
<item> <item>
<key> <string>default</string> </key> <key> <string>default</string> </key>
<value> <value>
<list/> <list>
<string>Bonjour</string>
</list>
</value> </value>
</item> </item>
<item> <item>
......
...@@ -52,6 +52,9 @@ ...@@ -52,6 +52,9 @@
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
import string\n
from random import choice\n
\n
test_suite = state_change[\'object\']\n test_suite = state_change[\'object\']\n
portal = test_suite.getPortalObject()\n portal = test_suite.getPortalObject()\n
\n \n
...@@ -66,6 +69,17 @@ def int2letter(i):\n ...@@ -66,6 +69,17 @@ def int2letter(i):\n
\n \n
new_id = portal.portal_ids.generateNewId(id_generator="uid", id_group="test_suite_reference")\n new_id = portal.portal_ids.generateNewId(id_generator="uid", id_group="test_suite_reference")\n
test_suite.setReference(int2letter(new_id))\n test_suite.setReference(int2letter(new_id))\n
\n
def generateRandomString(size):\n
tab = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" \n
my_string = \'\'\n
for i in range(size):\n
my_string = my_string + choice(tab)\n
return my_string\n
\n
if test_suite.getPortalType() == "Scalability Test Suite":\n
random_path = test_suite.getReference() + "_" + generateRandomString(64)\n
test_suite.setRandomizedPath(random_path)\n
]]></string> </value> ]]></string> </value>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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