3 new revisions:
Revision: e330cdab3784
Author: Pekka Klärck
Date: Wed May 18 06:46:45 2011
Log: smallish code and doc cleanup
http://code.google.com/p/robotframework/source/detail?r=e330cdab3784
Revision: 9363f70a0553
Author: Pekka Klärck
Date: Thu May 19 10:49:30 2011
Log: Automated merge with https://robotframework.googlecode.com/hg/
http://code.google.com/p/robotframework/source/detail?r=9363f70a0553
Revision: 35ff1e79242b
Author: Pekka Klärck
Date: Thu May 19 12:38:24 2011
Log: format
http://code.google.com/p/robotframework/source/detail?r=35ff1e79242b
==============================================================================
Revision: e330cdab3784
Author: Pekka Klärck
Date: Wed May 18 06:46:45 2011
Log: smallish code and doc cleanup
http://code.google.com/p/robotframework/source/detail?r=e330cdab3784
Modified:
/src/robot/libraries/BuiltIn.py
=======================================
--- /src/robot/libraries/BuiltIn.py Wed May 18 04:07:16 2011
+++ /src/robot/libraries/BuiltIn.py Wed May 18 06:46:45 2011
@@ -210,7 +210,7 @@
| | Run Keyword If | '${var}' == 'EXIT' | Exit For Loop |
| | Do Something | ${var} |
- New in Robot Framework 2.5.2
+ New in Robot Framework 2.5.2.
"""
# Error message is shown only if there is no enclosing for loop
error = AssertionError('Exit for loop without enclosing for loop.')
@@ -223,7 +223,7 @@
See `Should Be True` for details about how `condition` is
evaluated and
how `msg` can be used to override the default error message.
"""
- if msg is None:
+ if not msg:
msg = "'%s' should not be true" % condition
asserts.fail_if(self._is_true(condition), msg)
@@ -245,7 +245,7 @@
| Should Be True | ${number} | # Passes if ${number} is not zero
|
| Should Be True | ${list} | # Passes if ${list} is not empty
|
"""
- if msg is None:
+ if not msg:
msg = "'%s' should be true" % condition
asserts.fail_unless(self._is_true(condition), msg)
@@ -381,7 +381,7 @@
error message with `msg` and `values`.
"""
self._log_types(first, second)
- first, second = [ self._convert_to_string(i) for i in first,
second ]
+ first, second = [self._convert_to_string(i) for i in first, second]
self._should_not_be_equal(first, second, msg, values)
def should_be_equal_as_strings(self, first, second, msg=None,
values=True):
@@ -391,7 +391,7 @@
error message with `msg` and `values`.
"""
self._log_types(first, second)
- first, second = [ self._convert_to_string(i) for i in first,
second ]
+ first, second = [self._convert_to_string(i) for i in first, second]
self._should_be_equal(first, second, msg, values)
def should_not_start_with(self, str1, str2, msg=None, values=True):
@@ -595,10 +595,10 @@
"""Returns and logs the length of the given item.
The keyword first tries to get the length with the Python function
- 'len', which calls the item's '__len__' method internally. If that
- fails, the keyword tries to call the item's 'length' and 'size'
methods
+ `len`, which calls the item's `__len__` method internally. If that
+ fails, the keyword tries to call the item's `length` and `size`
methods
directly. The final attempt is trying to get the value of the
item's
- 'length' attribute. If all these attempts are unsuccessful, the
keyword
+ `length` attribute. If all these attempts are unsuccessful, the
keyword
fails.
"""
length = self._get_length(item)
@@ -628,7 +628,7 @@
"""
length = self._convert_to_integer(length)
if self.get_length(item) != length:
- if msg is None:
+ if not msg:
msg = "Length of '%s' should be %d but it is %d" \
% (item, length, self.get_length(item))
raise AssertionError(msg)
@@ -640,9 +640,7 @@
default error message can be overridden with the `msg` argument.
"""
if self.get_length(item) > 0:
- if msg is None:
- msg = "'%s' should be empty" % item
- raise AssertionError(msg)
+ raise AssertionError(msg or "'%s' should be empty" % item)
def should_not_be_empty(self, item, msg=None):
"""Verifies that the given item is not empty.
@@ -651,16 +649,14 @@
default error message can be overridden with the `msg` argument.
"""
if self.get_length(item) == 0:
- if msg is None:
- msg = "'%s' should not be empty" % item
- raise AssertionError(msg)
+ raise AssertionError(msg or "'%s' should not be empty" % item)
def _get_string_msg(self, str1, str2, msg, values, delim):
- _msg = "'%s' %s '%s'" % (str1, delim, str2)
- if msg is None:
- msg = _msg
+ default = "'%s' %s '%s'" % (str1, delim, str2)
+ if not msg:
+ msg = default
elif values is True:
- msg = '%s: %s' % (msg, _msg)
+ msg = '%s: %s' % (msg, default)
return msg
@@ -699,8 +695,9 @@
def log_variables(self, level='INFO'):
"""Logs all variables in the current scope with given log level."""
variables = self.get_variables()
- for name in sorted(variables.keys(), key=lambda string:
string.lower()):
- msg = utils.format_assign_message(name, variables[name],
cut_long=False)
+ for name in sorted(variables.keys(), key=lambda s: s.lower()):
+ msg = utils.format_assign_message(name, variables[name],
+ cut_long=False)
self.log(msg, level)
def variable_should_exist(self, name, msg=None):
@@ -708,17 +705,14 @@
The name of the variable can be given either as a normal variable
name
(e.g. ${NAME}) or in escaped format (e.g. \\${NAME}). Notice that
the
- former works only in Robot Framework 2.1 and newer, and it has some
- limitations explained in `Set Suite Variable`.
+ former has some limitations explained in `Set Suite Variable`.
The default error message can be overridden with the `msg`
argument.
"""
name = self._get_var_name(name)
variables = self.get_variables()
- if msg:
- msg = variables.replace_string(msg)
- else:
- msg = "Variable %s does not exist" % name
+ msg = variables.replace_string(msg) if msg \
+ else "Variable %s does not exist" % name
asserts.fail_unless(variables.has_key(name), msg)
def variable_should_not_exist(self, name, msg=None):
@@ -726,17 +720,14 @@
The name of the variable can be given either as a normal variable
name
(e.g. ${NAME}) or in escaped format (e.g. \\${NAME}). Notice that
the
- former works only in Robot Framework 2.1 and newer, and it has some
- limitations explained in `Set Suite Variable`.
+ former has some limitations explained in `Set Suite Variable`.
The default error message can be overridden with the `msg`
argument.
"""
name = self._get_var_name(name)
variables = self.get_variables()
- if msg:
- msg = variables.replace_string(msg)
- else:
- msg = "Variable %s exists" % name
+ msg = variables.replace_string(msg) if msg \
+ else "Variable %s exists" % name
asserts.fail_if(variables.has_key(name), msg)
def replace_variables(self, text):
@@ -813,8 +804,7 @@
variables set with this keyword.
The name of the variable can be given either as a normal variable
name
- (e.g. ${NAME}) or in escaped format (e.g. \\${NAME}). Notice that
the
- former works only in Robot Framework 2.1 and newer.
+ (e.g. ${NAME}) or in escaped format (e.g. \\${NAME}).
If a variable already exists within the new scope, its value will
be
overwritten. Otherwise a new variable is created. If a variable
already
@@ -1213,10 +1203,10 @@
def _get_test_in_teardown(self, kwname):
test = NAMESPACES.current.test
- if test is not None and test.status != 'RUNNING':
+ if test and test.status != 'RUNNING':
return test
raise RuntimeError("Keyword '%s' can only be used in test teardown"
- % kwname)
+ % kwname)
def run_keyword_if_all_critical_tests_passed(self, name, *args):
"""Runs the given keyword with the given arguments, if all
critical tests passed.
@@ -1326,7 +1316,7 @@
"""
if not items:
return ''
- items = [ utils.unic(item) for item in items ]
+ items = [utils.unic(item) for item in items]
if items[0].startswith('SEPARATOR='):
sep = items[0][len('SEPARATOR='):]
items = items[1:]
@@ -1423,8 +1413,7 @@
| Import Variables | ${CURDIR}/variables.py | | |
| Import Variables | ${CURDIR}/../vars/env.py | arg1 | arg2 |
-
- New in Robot Framework 2.5.4
+ New in Robot Framework 2.5.4.
"""
NAMESPACES.current.import_variables(path.replace('/', os.sep),
args, overwrite=True)
@@ -1499,8 +1488,7 @@
timestamp string in the format '2006-02-24 15:08:31'.
By default this keyword returns the current time, but that can be
- altered using `time` argument as explained below. Notice that this
- argument is only available in Robot Framework 2.1.1 and newer.
+ altered using `time` argument as explained below.
1) If `time` is a floating point number, it is interpreted as
seconds since the epoch. This documentation is written about
@@ -1569,12 +1557,12 @@
recommended to move the logic into a test library.
"""
modules = modules.replace(' ','').split(',') if modules else []
- namespace = dict([ (m, __import__(m)) for m in modules if m != ''
])
+ namespace = dict((m, __import__(m)) for m in modules if m != '')
try:
return eval(expression, namespace)
except:
raise RuntimeError("Evaluating expression '%s' failed: %s"
- % (expression, utils.get_error_message()))
+ % (expression, utils.get_error_message()))
def call_method(self, object, method_name, *args):
"""Calls the named method of the given object with the provided
arguments.
@@ -1614,7 +1602,7 @@
return ''
if len(patterns) == 1:
return re.escape(patterns[0])
- return [ re.escape(pattern) for pattern in patterns ]
+ return [re.escape(p) for p in patterns]
def set_test_message(self, message):
"""Sets message for for the current test.
@@ -1626,7 +1614,7 @@
This keyword can not be used in suite setup or suite teardown.
"""
test = NAMESPACES.current.test
- if test is None:
+ if not test:
raise RuntimeError("'Set Test Message' keyword cannot be used
in "
"suite setup or teardown")
test.message = message
@@ -1664,8 +1652,8 @@
| Remove Tags | mytag | something-* | ?ython |
"""
tags = utils.normalize_tags(tags)
- handler = lambda test: [ t for t in test.tags
- if not utils.matches_any(t, tags) ]
+ handler = lambda test: [t for t in test.tags
+ if not utils.matches_any(t, tags)]
self._set_or_remove_tags(handler)
self.log('Removed tag%s %s.' % (utils.plural_or_not(tags),
utils.seq2str(tags)))
@@ -1816,7 +1804,7 @@
RUN_KW_REGISTER.register_run_keyword(library, keyword, args_to_process)
-for name in [ attr for attr in dir(_RunKeyword) if not
attr.startswith('_') ]:
+for name in [attr for attr in dir(_RunKeyword) if not
attr.startswith('_')]:
register_run_keyword('BuiltIn', getattr(_RunKeyword, name))
for name in
['set_test_variable', 'set_suite_variable', 'set_global_variable',
'variable_should_exist', 'variable_should_not_exist', 'comment',
==============================================================================
Revision: 9363f70a0553
Author: Pekka Klärck
Date: Thu May 19 10:49:30 2011
Log: Automated merge with https://robotframework.googlecode.com/hg/
http://code.google.com/p/robotframework/source/detail?r=9363f70a0553
==============================================================================
Revision: 35ff1e79242b
Author: Pekka Klärck
Date: Thu May 19 12:38:24 2011
Log: format
http://code.google.com/p/robotframework/source/detail?r=35ff1e79242b
Added:
/atest/robot/test_libraries/library_import_failing.txt
/atest/testdata/test_libraries/library_import_failing.txt
Deleted:
/atest/robot/test_libraries/library_import_failing.html
/atest/testdata/test_libraries/library_import_failing.html
=======================================
--- /dev/null
+++ /atest/robot/test_libraries/library_import_failing.txt Thu May 19
12:38:24 2011
@@ -0,0 +1,25 @@
+*** Settings ***
+Documentation Tests for checking that failing library imports will
produce tracebacks to the log file.
+Suite Setup Run Tests ${EMPTY}
test_libraries/library_import_failing.txt
+Force Tags regression
+Default Tags pybot jybot
+Resource atest_resource.txt
+
+*** Test Cases ***
+Library Import Fails Because Not a Library
+ Check Failure From Output 0 Importing test
library 'MyInvalidLibFile' failed: ImportError: I'm not really a library!
raise ImportError("I'm not really a library!")
+
+Library Import Fails Because Initialization Fails
+ Check Failure From Output 2 Creating an instance of the test
library 'InitializationFailLibrary' with no arguments failed:
Initialization failed! InitializationFailLibrary.py", line 4, in __init__
+
+Library Import Failing In Java
+ [Tags] jybot
+ Check Failure From Output 1 Creating an instance of the test
library 'InitializationFailJavaLibrary' with no arguments failed:
Initialization failed! at
InitializationFailJavaLibrary.<init>(InitializationFailJavaLibrary.java:4)
+
+*** Keywords ***
+Check Failure From Output
+ [Arguments] ${index} ${expected message} ${expected traceback}=
+ ${message} = Set Variable ${ERRORS.msgs[${index}].message}
+ Should Contain ${message} ${expected message}
+ Should Contain ${message} ${expected traceback}
+
=======================================
--- /dev/null
+++ /atest/testdata/test_libraries/library_import_failing.txt Thu May 19
12:38:24 2011
@@ -0,0 +1,9 @@
+*** Settings ***
+Library MyInvalidLibFile.py
+Library InitializationFailJavaLibrary.java
+Library InitializationFailLibrary.py
+
+*** Test Cases ***
+Test
+ Comment Tests only failing library imports.
+
=======================================
--- /atest/robot/test_libraries/library_import_failing.html Mon Apr 12
05:17:10 2010
+++ /dev/null
@@ -1,1249 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <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 */
- </style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <title>Robot Test Cases</title><link type="text/css"
href="resources/css/testdata.css" rel="stylesheet"></head>
-<body>
-
-
-
-
-
-
-
-
-<h1><br></h1>
-
-
-
-<span style="font-weight: bold;">
-
-
-</span>
-<table border="1">
-
-
- <thead><tr>
-
-
- <th>Setting</th>
-
-
-
-
-
-
-
-
- <th>Value</th>
-
-
-
-
-
-
-
-
- <th>Value</th>
-
-
-
-
-
-
-
-
- <th>value</th>
-
-
-
-
-
-
-
-
- <th>Value</th>
-
-
-
-
-
-
-
-
- </tr>
-
-
-
-
-
-
-
-
- </thead> <tbody>
-
-
-
-
-
-
-
-
- <tr>
-
-
-
- <td>Document</td>
-
-
-
- <td>Tests for checking that failing library imports will produce
tracebacks to the log file.</td><td align="undefined"
valign="undefined"></td>
-
-
-
- <td align="undefined" valign="undefined"></td>
-
-
-
- <td align="undefined" valign="undefined"></td>
-
-
-
- </tr>
-
-
-
- <tr>
-
-
-
- <td>Force Tags</td>
-
-
-
- <td>regression</td>
-
-
-
- <td></td>
-
-
-
- <td align="undefined" valign="undefined"></td>
-
-
-
- <td align="undefined" valign="undefined"></td>
-
-
-
- </tr>
-
-
-
- <tr>
-
-
-
- <td align="undefined" valign="undefined">Default Tags</td>
-
-
-
- <td>pybot<br></td><td align="undefined" valign="undefined">jybot</td>
-
-
-
-
-
-
-
- <td align="undefined" valign="undefined"></td>
-
-
-
- <td align="undefined" valign="undefined"></td>
-
-
-
- </tr>
-
-
-
- <tr>
-
-
-
-
-
-
-
-
- <td>Resource</td>
-
-
-
-
-
-
-
-
- <td>atest_resource.txt</td>
-
-
-
-
-
-
-
-
- <td></td>
-
-
-
-
-
-
-
-
- <td></td>
-
-
-
-
-
-
-
-
- <td></td>
-
-
-
-
-
-
-
-
- </tr>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <tr>
-
-
-
-
-
-
-
-
- <td>Suite Setup</td>
-
-
-
-
-
-
-
-
- <td>Run Tests</td>
-
-
-
-
-
-
-
-
- <td><br>
-
- </td>
-
-
-
-
-
-
-
-
- <td>test_libraries${/}library_import_failing.html</td><td></td>
-
-
-
-
-
-
-
-
- </tr>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- </tbody>
-</table>
-
-
-
-
-
-
-
-
-
-
-
-
-
-<table border="1">
-
-
-
-
-
-
-
-
- <colgroup span="99"><col class="name"><col class="value"
span="4"></colgroup> <thead>
- <tr>
-
-
-
-
-
-
-
-
- <th>Variable</th>
-
-
-
-
-
-
-
-
- <th>Value</th>
-
-
-
-
-
-
-
-
- <th>Value</th>
-
-
-
-
-
-
-
-
- <th>Value</th>
-
-
-
-
-
-
-
-
- <th>Value</th>
-
-
-
-
-
-
-
-
- </tr>
-
-
-
-
-
-
-
-
- </thead> <tbody>
-
-
-
-
-
-
-
-
- <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>Library Import Fails Because Not a Library</td>
-
-
-
-
-
-
-
-
- <td>Check Failure From Output</td>
-
-
-
-
-
-
-
-
- <td>0</td>
-
-
-
-
-
-
-
-
- <td>Importing test library 'MyInvalidLibFile' failed: ImportError:
I'm not really a library!</td><td>raise ImportError("I'm not really a
library!")</td>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- </tr>
-
-
-
-
-
-
-
-
-
-
***The diff for this file has been truncated for email.***
=======================================
--- /atest/testdata/test_libraries/library_import_failing.html Sat May 31
09:57:24 2008
+++ /dev/null
@@ -1,816 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head>
-
-
-
-
-
-
-
-
-
-
-
- <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;
-}
-/* required for IE */
-th {
- font-style: normal;
-}
- </style>
-
-
-
-
-
- <title>Robot Test Cases</title></head>
-<body>
-
-
-
-
-
-
-<h1>Robot Test Cases</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 align="undefined" valign="undefined">Library</td>
-
-
- <td align="undefined" valign="undefined">MyInvalidLibFile.py</td>
-
-
- <td align="undefined" valign="undefined"></td>
-
-
- <td align="undefined" valign="undefined"></td>
-
-
- <td align="undefined" valign="undefined"></td>
-
-
- </tr>
-
-
- <tr>
-
-
-
- <td align="undefined" valign="undefined">Library</td>
-
-
-
- <td align="undefined"
valign="undefined">InitializationFailJavaLibrary.java</td>
-
-
-
- <td align="undefined" valign="undefined"></td>
-
-
-
- <td align="undefined" valign="undefined"></td>
-
-
-
- <td align="undefined" valign="undefined"></td>
-
-
-
- </tr>
-
-
-
- <tr>
-
-
-
- <td align="undefined" valign="undefined">Library</td>
-
-
-
- <td align="undefined"
valign="undefined">InitializationFailLibrary.py</td>
-
-
-
- <td align="undefined" valign="undefined"></td>
-
-
-
- <td align="undefined" valign="undefined"></td>
-
-
-
- <td align="undefined" valign="undefined"></td>
-
-
-
- </tr>
-
-
-
-
-
-
-
-
-
-
-
- </tbody>
-</table>
-
-
-
-
-
-
-
-<table border="1">
-
-
-
-
-
-
- <colgroup span="99"><col class="name"><col class="value"
span="4"></colgroup>
- <thead>
- <tr>
-
-
-
-
-
-
- <th>Variable</th>
-
-
-
-
-
-
- <th>Value</th>
-
-
-
-
-
-
- <th>Value</th>
-
-
-
-
-
-
- <th>Value</th>
-
-
-
-
-
-
- <th>Value</th>
-
-
-
-
-
-
- </tr>
-
-
-
-
-
-
- </thead>
- <tbody>
-
-
-
-
-
-
- <tr>
-
-
-
-
-
-
- <td></td>
-
-
-
-
-
-
- <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</td>
-
-
-
-
-
- <td>Comment</td>
-
-
-
-
-
- <td>Tests only failing library imports.</td>
-
-
-
-
-
-
-
-
- <td></td>
-
-
-
-
-
-
- <td></td>
-
-
-
-
-
-
-
-
- </tr>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <tr>
-
- <td align="undefined" valign="undefined"></td>
-
- <td align="undefined" valign="undefined"></td>
-
- <td align="undefined" valign="undefined"></td>
-
- <td align="undefined" valign="undefined"></td>
-
- <td align="undefined" valign="undefined"></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></td>
-
-
-
-
-
-
- <td></td>
-
-
-
-
-
-
- <td></td>
-
-
-
-
-
-
- <td></td>
-
-
-
-
-
-
- <td></td>
-
-
-
-
-
-
- </tr>
-
-
-
-
-
-
-
-
-
-
-
- </tbody>
-</table>
-
-
-
-
-
-
-
-</body></html>