Commit 1e2bfaec authored by Jérome Perrin's avatar Jérome Perrin

test_result: introduce view for test result node, with links to log viewer & debug shell

parent e9af62f7
...@@ -30,7 +30,9 @@ ...@@ -30,7 +30,9 @@
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
<value> <string></string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>icon</string> </key> <key> <string>icon</string> </key>
...@@ -71,7 +73,7 @@ ...@@ -71,7 +73,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>text</string> </key>
<value> <string>string:${object_url}/TestResultLine_view</string> </value> <value> <string>string:${object_url}/TestResultNode_view</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<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>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>return "https://[%s]:8080" % context.getProperty(\'stdout\')[context.getProperty(\'stdout\').index(\'[\')+1:context.getProperty(\'stdout\').index(\']\')]\n
</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>TestResultNode_getDebugShellURL</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<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>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>return \'%s/logtail.html?noreverse\' % context.getProperty(\'stdout\')\n
</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>TestResultNode_getLogViewerURL</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5 Form" module="erp5.portal_type"/>
</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></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>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list>
<string>your_log_viewer_link</string>
<string>your_debug_shell_link</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>TestResultNode_view</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>TestResult_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 Result Node</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>
...@@ -88,7 +88,10 @@ ...@@ -88,7 +88,10 @@
<item> <item>
<key> <string>hidden</string> </key> <key> <string>hidden</string> </key>
<value> <value>
<list/> <list>
<string>listbox_debug_shell</string>
<string>listbox_log_viewer</string>
</list>
</value> </value>
</item> </item>
<item> <item>
......
...@@ -347,6 +347,14 @@ ...@@ -347,6 +347,14 @@
<string>translated_simulation_state_title</string> <string>translated_simulation_state_title</string>
<string>Status</string> <string>Status</string>
</tuple> </tuple>
<tuple>
<string>log_viewer</string>
<string>Log Viewer</string>
</tuple>
<tuple>
<string>debug_shell</string>
<string>Debug Shell</string>
</tuple>
</list> </list>
</value> </value>
</item> </item>
...@@ -448,6 +456,10 @@ ...@@ -448,6 +456,10 @@
<key> <string>page_navigation_mode</string> </key> <key> <string>page_navigation_mode</string> </key>
<value> <string>slider</string> </value> <value> <string>slider</string> </value>
</item> </item>
<item>
<key> <string>page_navigation_template</string> </key>
<value> <string>ListBox_viewSliderPageNavigationRenderer</string> </value>
</item>
<item> <item>
<key> <string>page_template</string> </key> <key> <string>page_template</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts32605933.61</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>hicolor_apps_32x32_logview.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">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
TkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>32</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1944</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>hicolor_apps_32x32_logview.png</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>32</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Image" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts32606330.66</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>utilities-terminal.png</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>image/png</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="base64">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
TkSuQmCC</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>32</int> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1488</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>utilities-terminal.png</string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>32</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
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