4 new revisions:

Revision: 5a20c7a656f2
Branch:   default
Author:   Ilmari Kontulainen <[email protected]>
Date:     Thu Jan  3 04:15:58 2013
Log:      format
http://code.google.com/p/robotframework/source/detail?r=5a20c7a656f2

Revision: 5477f11699dc
Branch:   default
Author:   Ilmari Kontulainen <[email protected]>
Date:     Thu Jan  3 04:42:54 2013
Log:      format
http://code.google.com/p/robotframework/source/detail?r=5477f11699dc

Revision: afd4576cf052
Branch:   default
Author:   Ilmari Kontulainen <[email protected]>
Date:     Thu Jan  3 04:46:23 2013
Log:      format
http://code.google.com/p/robotframework/source/detail?r=afd4576cf052

Revision: 20b42c46b119
Branch:   default
Author:   Ilmari Kontulainen <[email protected]>
Date:     Thu Jan  3 04:59:37 2013
Log: Include original error message to parent suite setup error message....
http://code.google.com/p/robotframework/source/detail?r=20b42c46b119

==============================================================================
Revision: 5a20c7a656f2
Branch:   default
Author:   Ilmari Kontulainen <[email protected]>
Date:     Thu Jan  3 04:15:58 2013
Log:      format
http://code.google.com/p/robotframework/source/detail?r=5a20c7a656f2

Added:
 /atest/testdata/core/failing_suite_setup.txt
Deleted:
 /atest/testdata/core/failing_suite_setup.html
Modified:
 /atest/robot/core/suite_setup_and_teardown.txt

=======================================
--- /dev/null
+++ /atest/testdata/core/failing_suite_setup.txt        Thu Jan  3 04:15:58 2013
@@ -0,0 +1,12 @@
+*** Setting ***
+Suite Setup       Fail    Expected failure
+Suite Teardown    Log    Suite teardown executed
+
+*** Test Case ***
+Test 1
+    [Documentation]    FAIL Setup of the parent suite failed.
+    Fail    This is not executed
+
+Test 2
+    [Documentation]    FAIL Setup of the parent suite failed.
+    Fail    This is not executed
=======================================
--- /atest/testdata/core/failing_suite_setup.html       Sat May 31 09:57:24 2008
+++ /dev/null
@@ -1,172 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta content=
-"HTML Tidy for Cygwin (vers 1st September 2004), see www.w3.org"
-name="generator">
-<style type="text/css">
-html { font-family: Arial,Helvetica,sans-serif;
-background-color: white;
-color: black;
-}
-p { max-width: 60em;
-}
-table { border-collapse: collapse;
-empty-cells: show;
-margin: 1em 0em;
-border: 0.1em solid black;
-}
-th, td {
-border-style: solid;
-border-width: 0.05em 0.1em;
-border-color: black;
-padding: 0.1em 0.2em;
-height: 1.5em;
-}
-th {
-background-color: rgb(192, 192, 192);
-color: black;
-border-width: 0.1em;
-font-weight: bold;
-text-align: center;
-text-transform: capitalize;
-letter-spacing: 0.1em;
-}
-/* Widths of named columns */
-col.name {
-width: 10em;
-}
-.action , .value, .arg {
-width: 15em;
-}
-/* Properties for the name column - td:first-child should work in CSS 2.1 avare browsers (tested in Firefox)
-- col.name is against specs but works in IE
-*/
-td:first-child, col.name {
-background-color: rgb(240, 240, 240);
-text-transform: capitalize;
-letter-spacing: 0.1em;
-}
-th { font-style: normal; } /* required for IE */
-/* Properties for the action column
-- td+td and td+td+td is for CSS 2.1 browsers (tested in Firefox)
-- col.action is for IE
-NOTE: Not used currently because in CSS 2.1 browsers td+td matches the
-first value column of Setting and Variable tables.
-td + td {
-background-color: rgb(240, 240, 240);
-}
-td + td + td {
-background: transparent;
-}
-col.action { /* can't be on the same line as td+td */
-background-color: rgb(240, 240, 240);
-}
-*/
-</style>
-<title>Example Test Data</title>
-<link type="text/css" href="resources/css/testdata.css" rel=
-"stylesheet">
-</head>
-<body>
-<h1>Test Data for Library parameter tests</h1>
-<table border="1">
-<colgroup span="99">
-<col class="name">
-<col class="value" span="4"></colgroup>
-<thead>
-<tr>
-<th>Setting</th>
-<th>Value</th>
-<th>Value</th>
-<th>value</th>
-<th>Value</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>Suite Setup</td>
-<td>Fail</td>
-<td>Expected failure</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td>Suite Teardown</td>
-<td>Log</td>
-<td>Suite teardown executed</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-</tbody>
-</table>
-<br>
-<table border="1">
-<colgroup span="99">
-<col class="name">
-<col class="action">
-<col class="arg" span="3"></colgroup>
-<thead>
-<tr>
-<th>Test Case</th>
-<th>Action</th>
-<th>Argument</th>
-<th>Argument</th>
-<th>Argument</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>Test 1</td>
-<td>[Document]</td>
-<td>FAIL</td>
-<td>Setup of the parent suite failed.</td>
-<td></td>
-</tr>
-<tr>
-<td align="undefined" valign="undefined"></td>
-<td>Fail</td>
-<td>This is not executed</td>
-<td align="undefined" valign="undefined"></td>
-<td align="undefined" valign="undefined"></td>
-</tr>
-<tr>
-<td></td>
-<td><br></td>
-<td></td>
-<td>&nbsp;<br></td>
-<td><br></td>
-</tr>
-<tr>
-<td>Test 2</td>
-<td>[Document]</td>
-<td>FAIL</td>
-<td>Setup of the parent suite failed.</td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td>Fail</td>
-<td>This is not executed</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-</tbody>
-</table>
-<br>
-</body>
-</html>
=======================================
--- /atest/robot/core/suite_setup_and_teardown.txt      Thu Jan  3 03:58:16 2013
+++ /atest/robot/core/suite_setup_and_teardown.txt      Thu Jan  3 04:15:58 2013
@@ -37,7 +37,7 @@

 Failing Suite Setup
[Documentation] Checks that tests in the suite are found from it and marked failed. Also checks that suite teardown is executed.
-    Run Tests    ${EMPTY}    core/failing_suite_setup.html
+    Run Tests    ${EMPTY}    core/failing_suite_setup.txt
Check Suite Status ${SUITE} FAIL Suite setup failed:\nExpected failure${2_fail_msg}
     ...    Test 1    Test 2
     Should Be Equal    ${SUITE.setup.status}    FAIL

==============================================================================
Revision: 5477f11699dc
Branch:   default
Author:   Ilmari Kontulainen <[email protected]>
Date:     Thu Jan  3 04:42:54 2013
Log:      format
http://code.google.com/p/robotframework/source/detail?r=5477f11699dc

Added:
 /atest/testdata/core/erroring_suite_setup.txt
Deleted:
 /atest/testdata/core/erroring_suite_setup.html

=======================================
--- /dev/null
+++ /atest/testdata/core/erroring_suite_setup.txt       Thu Jan  3 04:42:54 2013
@@ -0,0 +1,17 @@
+*** Setting ***
+Suite Setup       Non-Existing Keyword
+Suite Teardown    My TD
+
+*** Test Case ***
+Test 1
+    [Documentation]    FAIL Setup of the parent suite failed.
+    Fail    This is not executed
+
+Test 2
+    [Documentation]    FAIL Setup of the parent suite failed.
+    Fail    This is not executed
+
+*** Keyword ***
+My TD
+    Log    Hello from suite teardown!
+    No Operation
=======================================
--- /atest/testdata/core/erroring_suite_setup.html      Sat May 31 09:57:24 2008
+++ /dev/null
@@ -1,235 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-
-  <meta content="HTML Tidy, see www.w3.org" name="generator">
-
-  <style type="text/css">
-html { font-family: Arial,Helvetica,sans-serif;
-background-color: white;
-color: black;
-}
-p { max-width: 60em;
-}
-table { border-collapse: collapse;
-empty-cells: show;
-margin: 1em 0em;
-border: 0.1em solid black;
-}
-th, td {
-border-style: solid;
-border-width: 0.05em 0.1em;
-border-color: black;
-padding: 0.1em 0.2em;
-height: 1.5em;
-}
-th {
-background-color: rgb(192, 192, 192);
-color: black;
-border-width: 0.1em;
-font-weight: bold;
-text-align: center;
-text-transform: capitalize;
-letter-spacing: 0.1em;
-}
-/* Widths of named columns */
-col.name {
-width: 10em;
-}
-.action , .value, .arg {
-width: 15em;
-}
-/* Properties for the name column - td:first-child should work in CSS 2.1 avare browsers (tested in Firefox)
-- col.name is against specs but works in IE
-*/
-td:first-child, col.name {
-background-color: rgb(240, 240, 240);
-text-transform: capitalize;
-letter-spacing: 0.1em;
-}
-th { font-style: normal; } /* required for IE */
-/* Properties for the action column
-- td+td and td+td+td is for CSS 2.1 browsers (tested in Firefox)
-- col.action is for IE
-NOTE: Not used currently because in CSS 2.1 browsers td+td matches the
-first value column of Setting and Variable tables.
-td + td {
-background-color: rgb(240, 240, 240);
-}
-td + td + td {
-background: transparent;
-}
-col.action { /* can't be on the same line as td+td */
-background-color: rgb(240, 240, 240);
-}
-*/
-  </style>
-  <title>Test data for Erroring Suite Setup</title>
-
-  <link type="text/css" href="resources/css/testdata.css" rel="stylesheet">
-</head>
-
-<body>
-<h1>Test Data</h1>
-
-<table border="1">
- <colgroup span="99"><col class="name"><col class="value" span="4"></colgroup>
-  <thead> <tr>
- <th>Setting</th>
- <th>Value</th>
-
-    <th>Value</th>
- <th>value</th>
- <th>Value</th>
-
-  </tr>
- </thead> <tbody>
- <tr>
- <td>Suite
-Setup</td>
- <td>Non-Existing Keyword</td>
- <td></td>
-
-      <td></td>
- <td></td>
- </tr>
- <tr>
- <td>Suite
-Teardown</td>
- <td>My TD</td>
- <td></td>
- <td></td>
-
-      <td></td>
- </tr>
- <tr>
- <td></td>
- <td></td>
-
-      <td></td>
- <td></td>
- <td></td>
- </tr>
-
-  </tbody>
-</table>
-
-<table border="1">
- <colgroup span="99"><col class="name"><col class="action"><col class="arg" span="3"></colgroup> <thead>
-  <tr>
- <th>Test Case</th>
- <th>Action</th>
-
-    <th>Argument</th>
- <th>Argument</th>
- <th>Argument</th>
-
-  </tr>
- </thead> <tbody>
- <tr>
- <td>Test 1</td>
-
-      <td>[Document]</td>
- <td>FAIL</td>
- <td>Setup
-of the parent suite failed.</td>
- <td></td>
- </tr>
-
-    <tr>
- <td align="undefined" valign="undefined"></td>
-
-      <td>Fail</td>
- <td>This is not executed</td>
- <td align="undefined" valign="undefined"></td>
- <td align="undefined" valign="undefined"></td>
- </tr>
-
-    <tr>
- <td></td>
- <td><br>
- </td>
- <td></td>
-
-      <td>&nbsp;<br>
- </td>
- <td><br>
- </td>
-
-    </tr>
- <tr>
- <td>Test 2</td>
- <td>[Document]</td>
-
-      <td>FAIL</td>
- <td>Setup of the parent suite failed.</td>
-
-      <td></td>
- </tr>
- <tr>
- <td></td>
- <td>Fail</td>
-
-      <td>This is not executed</td>
- <td></td>
- <td></td>
-
-    </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td>
-
-      <td></td>
- <td></td>
- </tr>
-
-  </tbody>
-</table>
-
-<table border="1">
- <colgroup span="99"><col class="name"><col class="action"><col class="arg" span="3"></colgroup> <thead>
-  <tr>
- <th>Keyword</th>
- <th>Action</th>
-
-    <th>Argument</th>
- <th>Argument</th>
- <th>Argument</th>
-
-  </tr>
- </thead> <tbody>
- <tr>
- <td>My TD</td>
-
-      <td>Log</td>
- <td>Hello from suite teardown!</td>
- <td></td>
- <td></td>
- </tr>
-
-    <tr>
- <td align="undefined" valign="undefined"></td>
-
-      <td>No Operation</td>
- <td></td>
- <td align="undefined" valign="undefined"></td>
- <td align="undefined" valign="undefined"></td>
- </tr>
-
-    <tr>
- <td></td>
- <td></td>
- <td></td>
-
-      <td></td>
- <td></td>
-
-    </tr>
-
-  </tbody>
-</table>
-<br>
-
-</body>
-</html>

==============================================================================
Revision: afd4576cf052
Branch:   default
Author:   Ilmari Kontulainen <[email protected]>
Date:     Thu Jan  3 04:46:23 2013
Log:      format
http://code.google.com/p/robotframework/source/detail?r=afd4576cf052

Added:
 /atest/testdata/core/failing_suite_setup_and_teardown.txt
Deleted:
 /atest/testdata/core/failing_suite_setup_and_teardown.html

=======================================
--- /dev/null
+++ /atest/testdata/core/failing_suite_setup_and_teardown.txt Thu Jan 3 04:46:23 2013
@@ -0,0 +1,16 @@
+*** Setting ***
+Suite Setup       Fail    Setup failure
+Suite Teardown    Fail    Teardown failure
+
+*** Test Case ***
+Test 1
+    [Documentation]    FAIL Setup of the parent suite failed.
+    ...
+    ...    Also teardown of the parent suite failed.
+    Fail    This is not executed
+
+Test 2
+    [Documentation]    FAIL Setup of the parent suite failed.
+    ...
+    ...    Also teardown of the parent suite failed.
+    Fail    This is not executed
=======================================
--- /atest/testdata/core/failing_suite_setup_and_teardown.html Sat May 31 09:57:24 2008
+++ /dev/null
@@ -1,769 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  <meta content="HTML Tidy, see www.w3.org" name="generator">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  <style type="text/css">
-html { font-family: Arial,Helvetica,sans-serif;
-background-color: white;
-color: black;
-}
-p { max-width: 60em;
-}
-table { border-collapse: collapse;
-empty-cells: show;
-margin: 1em 0em;
-border: 0.1em solid black;
-}
-th, td {
-border-style: solid;
-border-width: 0.05em 0.1em;
-border-color: black;
-padding: 0.1em 0.2em;
-height: 1.5em;
-}
-th {
-background-color: rgb(192, 192, 192);
-color: black;
-border-width: 0.1em;
-font-weight: bold;
-text-align: center;
-text-transform: capitalize;
-letter-spacing: 0.1em;
-}
-/* Widths of named columns */
-col.name {
-width: 10em;
-}
-.action , .value, .arg {
-width: 15em;
-}
-/* Properties for the name column - td:first-child should work in CSS 2.1 avare browsers (tested in Firefox)
-- col.name is against specs but works in IE
-*/
-td:first-child, col.name {
-background-color: rgb(240, 240, 240);
-text-transform: capitalize;
-letter-spacing: 0.1em;
-}
-th { font-style: normal; } /* required for IE */
-/* Properties for the action column
-- td+td and td+td+td is for CSS 2.1 browsers (tested in Firefox)
-- col.action is for IE
-NOTE: Not used currently because in CSS 2.1 browsers td+td matches the
-first value column of Setting and Variable tables.
-td + td {
-background-color: rgb(240, 240, 240);
-}
-td + td + td {
-background: transparent;
-}
-col.action { /* can't be on the same line as td+td */
-background-color: rgb(240, 240, 240);
-}
-*/
-  </style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <title>Example Test Data</title><link type="text/css" href="resources/css/testdata.css" rel="stylesheet"></head>
-<body>
-
-
-
-
-
-
-
-
-
-<h1>Test Data for Library parameter tests</h1>
-
-
-
-
-
-
-
-
-
-<table border="1">
-
-
-
-
-
-
-
-
-
- <colgroup span="99"><col class="name"><col class="value" span="4"></colgroup> <thead>
-  <tr>
-
-
-
-
-
-
-
-
-
-    <th>Setting</th>
-
-
-
-
-
-
-
-
-
-    <th>Value</th>
-
-
-
-
-
-
-
-
-
-    <th>Value</th>
-
-
-
-
-
-
-
-
-
-    <th>value</th>
-
-
-
-
-
-
-
-
-
-    <th>Value</th>
-
-
-
-
-
-
-
-
-
-  </tr>
-
-
-
-
-
-
-
-
-
-  </thead> <tbody>
-
-
-
-
-
-
-
-
-
-    <tr>
-
-
-
-      <td>Suite Setup</td>
-
-
-
-      <td>Fail</td>
-
-
-
-      <td>Setup failure</td>
-
-
-
-      <td></td>
-
-
-
-      <td></td>
-
-
-
-    </tr>
-
-
-
-    <tr>
-
-
-
-      <td>Suite Teardown</td>
-
-
-
-      <td>Fail</td>
-
-
-
-      <td>Teardown failure</td>
-
-
-
-      <td></td>
-
-
-
-      <td></td>
-
-
-
-    </tr>
-
-
-
-    <tr>
-
-
-
-      <td></td>
-
-
-
-      <td></td>
-
-
-
-      <td></td>
-
-
-
-      <td></td>
-
-
-
-      <td></td>
-
-
-
-    </tr>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  </tbody>
-</table>
-
-
-
-
-
-
-
-
-<br>
-
-
-
-
-
-
-
-
-<table border="1">
-
-
-
-
-
-
-
-
-
- <colgroup span="99"><col class="name"><col class="action"><col class="arg" span="3"></colgroup>
-  <thead> <tr>
-
-
-
-
-
-
-
-
-
-    <th>Test Case</th>
-
-
-
-
-
-
-
-
-
-    <th>Action</th>
-
-
-
-
-
-
-
-
-
-    <th>Argument</th>
-
-
-
-
-
-
-
-
-
-    <th>Argument</th>
-
-
-
-
-
-
-
-
-
-    <th>Argument</th>
-
-
-
-
-
-
-
-
-
-  </tr>
-
-
-
-
-
-
-
-
-
-  </thead> <tbody>
-
-
-
-
-
-
-
-
-
-    <tr>
-
-
-      <td>Test 1</td>
-
-
-      <td>[Document]</td>
-
-
-      <td>FAIL</td>
-
-
- <td>Setup of the parent suite failed.\n\n<br>Also teardown of the parent suite failed.</td>
-
-
-      <td></td>
-
-
-    </tr>
-
-
-
-
-
-
-
-
-
-    <tr>
-
-      <td></td>
-
-      <td>Fail</td>
-
-      <td>This is not executed</td>
-
-      <td></td>
-
-      <td></td>
-
-    </tr>
-
-    <tr>
-
-
-
-
-
-
-
-
-
-      <td></td>
-
-
-
-
-
-
-
-
-
-      <td><br>
-
-
-
-      </td>
-
-
-
-
-
-
-
-
-
-      <td></td>
-
-
-
-      <td>&nbsp;<br>
-
-
-
-
-
-
-
-
-
-      </td>
-
-
-
-
-
-
-
-
-
-      <td><br>
-
-
-
-
-
-
-
-
-
-      </td>
-
-
-
-
-
-
-
-
-
-    </tr>
-
-
-
-
-
-
-
-
-
-    <tr>
-
-
-      <td>Test 2</td>
-
-
-      <td>[Document]</td>
-
-
-      <td>FAIL</td>
-
-
- <td>Setup of the parent suite failed.\n\n<br>Also teardown of the parent suite failed.</td>
-
-
-      <td></td>
-
-
-    </tr>
-
-
-
-
-
-
-
-
-
-    <tr>
-
-
-
-
-
-
-
-
-
-      <td></td>
-
-
-
-
-
-
-
-
-
-      <td>Fail</td>
-
-
-
-
-
-
-
-
-
-      <td>This is not executed</td>
-
-
-
-
-
-
-
-
-
-      <td></td>
-
-
-
-
-
-
-
-
-
-      <td></td>
-
-
-
-
-
-
-
-
-
-    </tr>
-
-
-
-
-
-
-
-
-
-    <tr>
-
-
-
-
-
-
-
-
-
-      <td></td>
-
-
-
-
-
-
-
-
-
-      <td></td>
-
-
-
-
-
-
-
-
-
-      <td></td>
-
-
-
-
-
-
-
-
-
-      <td></td>
-
-
-
-
-
-
-
-
-
-      <td></td>
-
-
-
-
-
-
-
-
-
-    </tr>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  </tbody>
-</table>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</body></html>

==============================================================================
Revision: 20b42c46b119
Branch:   default
Author:   Ilmari Kontulainen <[email protected]>
Date:     Thu Jan  3 04:59:37 2013
Log: Include original error message to parent suite setup error message. This commit will break the build because of unrelated tests will be affected.

Update issue 1307
Status: Started
Owner: kontulai
Cc: pekka.klarck

Initial implementation adding suite setup message.
TODO:
- fix tests
- handle errors in initialization of test suites
- handle errors in teardowns (if possible)
- refactor
http://code.google.com/p/robotframework/source/detail?r=20b42c46b119

Modified:
 /atest/robot/core/suite_setup_and_teardown.txt
 /atest/testdata/core/erroring_suite_setup.txt
 /atest/testdata/core/failing_higher_level_suite_setup/suite1.txt
 /atest/testdata/core/failing_higher_level_suite_setup/suite2.txt
 /atest/testdata/core/failing_suite_setup.txt
 /atest/testdata/core/failing_suite_setup_and_teardown.txt
 /src/robot/running/runerrors.py

=======================================
--- /atest/robot/core/suite_setup_and_teardown.txt      Thu Jan  3 04:15:58 2013
+++ /atest/robot/core/suite_setup_and_teardown.txt      Thu Jan  3 04:59:37 2013
@@ -48,7 +48,7 @@

 Erroring Suite Setup
[Documentation] Checks that tests in the suite are found from it and marked failed. Also checks that suite teardown is executed.
-    Run Tests    ${EMPTY}    core/erroring_suite_setup.html
+    Run Tests    ${EMPTY}    core/erroring_suite_setup.txt
Check Suite Status ${SUITE} FAIL Suite setup failed:\nNo keyword with name 'Non-Existing Keyword' found.${2_fail_msg}
     ...    Test 1    Test 2
     Should Be Equal    ${SUITE.setup.status}    FAIL
@@ -81,7 +81,7 @@
     Should Be Equal    ${SUITE.teardown.status}    FAIL

 Failing Suite Setup And Teardown
-    Run Tests    ${EMPTY}     core/failing_suite_setup_and_teardown.html
+    Run Tests    ${EMPTY}     core/failing_suite_setup_and_teardown.txt
Check Suite Status ${SUITE} FAIL Suite setup failed:\n Setup failure\n\n Also suite teardown failed:\n Teardown failure${2_fail_msg}
     ...    Test 1    Test 2
     Should Be Equal    ${SUITE.setup.status}    FAIL
@@ -110,9 +110,9 @@
     Run Tests    ${EMPTY}    core/failing_higher_level_suite_setup
Check Suite Status ${SUITE} FAIL Suite setup failed:\nExpected failure in higher level setup${2_fail_msg}
     ...    Test 1    Test 2
- Check Suite Status ${SUITE.suites[0]} FAIL Setup of the parent suite failed.${1_fail_msg} + Check Suite Status ${SUITE.suites[0]} FAIL Setup of the parent suite failed:\nExpected failure in higher level setup${1_fail_msg}
     ...    Test 1
- Check Suite Status ${SUITE.suites[1]} FAIL Setup of the parent suite failed.${1_fail_msg} + Check Suite Status ${SUITE.suites[1]} FAIL Setup of the parent suite failed:\nExpected failure in higher level setup${1_fail_msg}
     ...    Test 2

 *** Keywords ***
=======================================
--- /atest/testdata/core/erroring_suite_setup.txt       Thu Jan  3 04:42:54 2013
+++ /atest/testdata/core/erroring_suite_setup.txt       Thu Jan  3 04:59:37 2013
@@ -4,11 +4,13 @@

 *** Test Case ***
 Test 1
-    [Documentation]    FAIL Setup of the parent suite failed.
+    [Documentation]    FAIL Setup of the parent suite failed:
+    ...    No keyword with name 'Non-Existing Keyword' found.
     Fail    This is not executed

 Test 2
-    [Documentation]    FAIL Setup of the parent suite failed.
+    [Documentation]    FAIL Setup of the parent suite failed:
+    ...    No keyword with name 'Non-Existing Keyword' found.
     Fail    This is not executed

 *** Keyword ***
=======================================
--- /atest/testdata/core/failing_higher_level_suite_setup/suite1.txt Thu Jan 3 03:58:16 2013 +++ /atest/testdata/core/failing_higher_level_suite_setup/suite1.txt Thu Jan 3 04:59:37 2013
@@ -1,7 +1,8 @@
 *** Settings ***
-Suite Setup  Fail  In File
+Suite Setup  Fail  Not Executed

 *** Test cases ***
 Test 1
-    [Documentation]  FAIL Setup of the parent suite failed.
+    [Documentation]  FAIL Setup of the parent suite failed:
+    ...    Expected failure in higher level setup
     No operation
=======================================
--- /atest/testdata/core/failing_higher_level_suite_setup/suite2.txt Thu Jan 3 03:58:16 2013 +++ /atest/testdata/core/failing_higher_level_suite_setup/suite2.txt Thu Jan 3 04:59:37 2013
@@ -1,4 +1,5 @@
 *** Test cases ***
 Test 2
-    [Documentation]  FAIL Setup of the parent suite failed.
+    [Documentation]  FAIL Setup of the parent suite failed:
+    ...    Expected failure in higher level setup
     No operation
=======================================
--- /atest/testdata/core/failing_suite_setup.txt        Thu Jan  3 04:15:58 2013
+++ /atest/testdata/core/failing_suite_setup.txt        Thu Jan  3 04:59:37 2013
@@ -4,9 +4,9 @@

 *** Test Case ***
 Test 1
-    [Documentation]    FAIL Setup of the parent suite failed.
+ [Documentation] FAIL Setup of the parent suite failed:\nExpected failure
     Fail    This is not executed

 Test 2
-    [Documentation]    FAIL Setup of the parent suite failed.
+ [Documentation] FAIL Setup of the parent suite failed:\nExpected failure
     Fail    This is not executed
=======================================
--- /atest/testdata/core/failing_suite_setup_and_teardown.txt Thu Jan 3 04:46:23 2013 +++ /atest/testdata/core/failing_suite_setup_and_teardown.txt Thu Jan 3 04:59:37 2013
@@ -4,13 +4,15 @@

 *** Test Case ***
 Test 1
-    [Documentation]    FAIL Setup of the parent suite failed.
+    [Documentation]    FAIL Setup of the parent suite failed:
+    ...    Setup failure
     ...
     ...    Also teardown of the parent suite failed.
     Fail    This is not executed

 Test 2
-    [Documentation]    FAIL Setup of the parent suite failed.
+    [Documentation]    FAIL Setup of the parent suite failed:
+    ...    Setup failure
     ...
     ...    Also teardown of the parent suite failed.
     Fail    This is not executed
=======================================
--- /src/robot/running/runerrors.py     Wed Jan  2 10:46:37 2013
+++ /src/robot/running/runerrors.py     Thu Jan  3 04:59:37 2013
@@ -17,7 +17,7 @@
                               'option is in use')
     _exit_on_fatal_error = 'Test execution is stopped due to a fatal error'
     _parent_suite_init_error = 'Initialization of the parent suite failed.'
-    _parent_suite_setup_error = 'Setup of the parent suite failed.'
+    _parent_suite_setup_error = 'Setup of the parent suite failed:\n'

def __init__(self, exit_on_failure_mode=False, skip_teardowns_on_exit_mode=False):
         self._exit_on_failure_mode = exit_on_failure_mode
@@ -73,27 +73,31 @@
                 self._exit_on_fatal = True

     def get_suite_error(self):
-        if any(self._earlier_init_errors):
-            return self._parent_suite_init_error
-        if any(self._earlier_setup_errors):
-            return self._parent_suite_setup_error
         if self._init_error:
             return self._init_error
         if self._setup_error:
             return 'Suite setup failed:\n%s' % self._setup_error
+        if any(self._earlier_init_errors):
+            return self._parent_suite_init_error
+        if any(self._earlier_setup_errors):
+            return self._get_setup_error()
         return None

     def get_child_error(self):
         if self._init_error or any(self._earlier_init_errors):
             return self._parent_suite_init_error
         if self._setup_error or any(self._earlier_setup_errors):
-            return self._parent_suite_setup_error
+            return self._get_setup_error()
         if self._exit_on_failure:
             return self._exit_on_failure_error
         if self._exit_on_fatal:
             return self._exit_on_fatal_error
         return None

+    def _get_setup_error(self):
+ error = self._setup_error or [e for e in self._earlier_setup_errors if e][0]
+        return self._parent_suite_setup_error + error
+
     def test_failed(self, exit=False, critical=False):
         if critical and self._exit_on_failure_mode:
             self._exit_on_failure = True

Reply via email to