6 new revisions:
Revision: 267193c2e45d
Branch: default
Author: Robot Framework Developers ([email protected])
Date: Wed Jan 9 06:43:16 2013
Log: Updated the warning about creating scalar lists in variable
table. Thi...
http://code.google.com/p/robotframework/source/detail?r=267193c2e45d
Revision: e5c095952646
Branch: default
Author: Robot Framework Developers ([email protected])
Date: Wed Jan 9 07:01:36 2013
Log: tidyed data to get consistent 4 space separators
http://code.google.com/p/robotframework/source/detail?r=e5c095952646
Revision: e1ba8e8fa0d1
Branch: default
Author: Robot Framework Developers ([email protected])
Date: Wed Jan 9 07:09:41 2013
Log: test cleanup
http://code.google.com/p/robotframework/source/detail?r=e1ba8e8fa0d1
Revision: 5099bab3ed05
Branch: default
Author: Robot Framework Developers ([email protected])
Date: Wed Jan 9 08:29:07 2013
Log: test cleanup
http://code.google.com/p/robotframework/source/detail?r=5099bab3ed05
Revision: ec7386f91f5e
Branch: default
Author: Robot Framework Developers ([email protected])
Date: Wed Jan 9 08:42:21 2013
Log: import cleanup
http://code.google.com/p/robotframework/source/detail?r=ec7386f91f5e
Revision: a2376ffc0a6e
Branch: default
Author: Robot Framework Developers ([email protected])
Date: Wed Jan 9 08:47:50 2013
Log: Fixed error message when running/reboting multiple suites and no
test ...
http://code.google.com/p/robotframework/source/detail?r=a2376ffc0a6e
==============================================================================
Revision: 267193c2e45d
Branch: default
Author: Robot Framework Developers ([email protected])
Date: Wed Jan 9 06:43:16 2013
Log: Updated the warning about creating scalar lists in variable
table. This functionality was not removed in 2.7 but will in 2.8 (issue
939).
http://code.google.com/p/robotframework/source/detail?r=267193c2e45d
Modified:
/atest/robot/variables/variable_table.txt
/src/robot/variables/variables.py
=======================================
--- /atest/robot/variables/variable_table.txt Fri Aug 31 03:39:28 2012
+++ /atest/robot/variables/variable_table.txt Wed Jan 9 06:43:16 2013
@@ -68,5 +68,5 @@
Check Syslog Contains Regexp
... Creating a scalar variable with a list value in the Variable
table is
... deprecated and this functionality will be removed in Robot
Framework
- ... 2\\.7\\. Create a list variable '@\\{${name}}' and use it as a
scalar
+ ... 2\\.8\\. Create a list variable '@\\{${name}}' and use it as a
scalar
... variable '\\$\\{${name}}' instead in file '.*'\\.
=======================================
--- /src/robot/variables/variables.py Thu Dec 27 04:12:07 2012
+++ /src/robot/variables/variables.py Wed Jan 9 06:43:16 2013
@@ -293,7 +293,7 @@
return self.replace_scalar(value[0])
msg = ("Creating a scalar variable with a list value in the
Variable "
"table is deprecated and this functionality will be removed
in "
- "Robot Framework 2.7. Create a list variable '@%s' and use "
+ "Robot Framework 2.8. Create a list variable '@%s' and use "
"it as a scalar variable '%s' instead" % (name[1:], name))
if path:
msg += " in file '%s'" % path
==============================================================================
Revision: e5c095952646
Branch: default
Author: Robot Framework Developers ([email protected])
Date: Wed Jan 9 07:01:36 2013
Log: tidyed data to get consistent 4 space separators
http://code.google.com/p/robotframework/source/detail?r=e5c095952646
Modified:
/atest/robot/tags/include_and_exclude.txt
/atest/robot/tags/include_and_exclude_with_rebot.txt
=======================================
--- /atest/robot/tags/include_and_exclude.txt Mon Nov 26 03:54:57 2012
+++ /atest/robot/tags/include_and_exclude.txt Wed Jan 9 07:01:36 2013
@@ -1,68 +1,68 @@
*** Settings ***
-Force Tags regression jybot pybot
-Resource atest_resource.txt
-Test Template Run And Check Include And Exclude
+Force Tags regression jybot pybot
+Test Template Run And Check Include And Exclude
+Resource atest_resource.txt
*** Variables ***
-${DATA SOURCE} tags/include_and_exclude.txt
-${ESCAPES} --escape star:STAR --escape quest:QUEST --escape amp:AMP
-@{INCL_ALL} Incl-1 Incl-12 Incl-123
-@{EXCL_ALL} Excl-1 Excl-12 Excl-123
-@{ALL} @{INCL_ALL} @{EXCL_ALL}
+${DATA SOURCE} tags/include_and_exclude.txt
+${ESCAPES} --escape star:STAR --escape quest:QUEST --escape amp:AMP
+@{INCL_ALL} Incl-1 Incl-12 Incl-123
+@{EXCL_ALL} Excl-1 Excl-12 Excl-123
+@{ALL} @{INCL_ALL} @{EXCL_ALL}
*** Test Cases ***
No Includes Or Excludes
- ${EMPTY} @{ALL}
+ ${EMPTY} @{ALL}
One Include
- --include incl1 @{INCL_ALL}
+ --include incl1 @{INCL_ALL}
Matching And Non Matching Includes
- -i INCL3 -i nonexisting Incl-123
+ -i INCL3 -i nonexisting Incl-123
More Includes
- -i incl2 --include incl3 -i _ --include incl2 Incl-12 Incl-123
+ -i incl2 --include incl3 -i _ --include incl2 Incl-12 Incl-123
Includes With AND
- [Documentation] Testing including like "--include tag1&tag2" both
with "&" and "AND"
- --include incl1ANDincl2 Incl-12 Incl-123
- -i incl1AMPincl2AMPincl3 Incl-123
+ [Documentation] Testing including like "--include tag1&tag2" both
with "&" and "AND"
+ --include incl1ANDincl2 Incl-12 Incl-123
+ -i incl1AMPincl2AMPincl3 Incl-123
Include With Patterns
- --include incl? @{INCL_ALL}
- -i STARcl3 -i iSTAR2 Incl-12 Incl-123 Excl-123
- -i i?*3ANDFORCE --include iSTAR @{INCL_ALL}
+ --include incl? @{INCL_ALL}
+ -i STARcl3 -i iSTAR2 Incl-12 Incl-123 Excl-123
+ -i i?*3ANDFORCE --include iSTAR @{INCL_ALL}
One Exclude
- --exclude excl1 @{INCL_ALL}
+ --exclude excl1 @{INCL_ALL}
Matching And Non Matching Excludes
- -e EXCL3 -e nonexisting @{INCL_ALL} Excl-1 Excl-12
+ -e EXCL3 -e nonexisting @{INCL_ALL} Excl-1 Excl-12
More Excludes
- --exclude excl3 -e excl2 @{INCL_ALL} Excl-1
+ --exclude excl3 -e excl2 @{INCL_ALL} Excl-1
Exclude With AND
- --exclude excl1AMPexcl2 @{INCL_ALL} Excl-1
- -e excl1AMPexcl2ANDexcl3 @{INCL_ALL} Excl-1 Excl-12
+ --exclude excl1AMPexcl2 @{INCL_ALL} Excl-1
+ -e excl1AMPexcl2ANDexcl3 @{INCL_ALL} Excl-1 Excl-12
Exclude With Patterns
- --exclude exc?? @{INCL_ALL}
- -e STAR3 -e eSTAR2 -e eSTAR1 Incl-1 Incl-12
+ --exclude exc?? @{INCL_ALL}
+ -e STAR3 -e eSTAR2 -e eSTAR1 Incl-1 Incl-12
Include And Exclude
- [Documentation] Include and exclude together with and without
patterns and ANDing
- -i force --exclude excl2 @{INCL_ALL} Excl-1
- --include STARcl2 -i nonex -e e???2 -i forceANDi*1 @{INCL_ALL}
+ [Documentation] Include and exclude together with and without
patterns and ANDing
+ -i force --exclude excl2 @{INCL_ALL} Excl-1
+ --include STARcl2 -i nonex -e e???2 -i forceANDi*1 @{INCL_ALL}
Include with NOT
- --include incl1NOTincl3 Incl-1 Incl-12
+ --include incl1NOTincl3 Incl-1 Incl-12
Exclude with NOT
- --exclude excl1NOTexcl2ANDexcl3 Excl-123 @{INCL_ALL}
+ --exclude excl1NOTexcl2ANDexcl3 Excl-123 @{INCL_ALL}
Include and Exclude with NOT
- --include incl1NOTincl3 --exclude incl1NOTincl2 Incl-12
+ --include incl1NOTincl3 --exclude incl1NOTincl2 Incl-12
Select tests without any tags
[Setup] Set Test Variable ${DATA SOURCE}
tags/no_force_no_default_tags.txt
@@ -74,28 +74,27 @@
Non Matching Include
[Template] Run And Check Error
- --include nonex includes 'nonex'
- --include nonex -i nonex2 includes 'nonex' and 'nonex2'
+ --include nonex includes 'nonex'
+ --include nonex -i nonex2 includes 'nonex' and 'nonex2'
Non Matching Exclude
- --exclude nonexisting -e nonex2 -e nonex3 @{ALL}
+ --exclude nonexisting -e nonex2 -e nonex3 @{ALL}
Non Matching Include And Exclude
[Template] Run And Check Error
- -i nonex -e nonex2 includes 'nonex' and excludes 'nonex2'
- --include nonex -i incl? -e STAR1 -e STAR2 -e STAR3 includes 'nonex'
and 'incl?' and excludes '*1', '*2' and '*3'
+ -i nonex -e nonex2 includes 'nonex' and excludes 'nonex2'
+ --include nonex -i incl? -e STAR1 -e STAR2 -e STAR3
includes 'nonex' and 'incl?' and excludes '*1', '*2' and '*3'
*** Keywords ***
Run And Check Include And Exclude
- [Arguments] ${params} @{tests}
- Run Tests ${params} ${ESCAPES} ${DATA SOURCE}
+ [Arguments] ${params} @{tests}
+ Run Tests ${params} ${ESCAPES} ${DATA SOURCE}
Stderr Should Be Empty
- Check Suite Contains Tests ${SUITE} @{tests}
+ Check Suite Contains Tests ${SUITE} @{tests}
Run And Check Error
- [Arguments] ${params} ${filter_msg}
- Run Tests Without Processing Output ${params} ${ESCAPES} ${DATA
SOURCE}
- ${stderr} = Get File ${STDERR_FILE}
- Should Be Equal ${stderr.strip()} [ ERROR ] Suite 'Include And
Exclude' with ${filter_msg} contains no test cases.\n\n Try --help for
usage information.
- File Should Not Exist ${OUTFILE}
-
+ [Arguments] ${params} ${filter_msg}
+ Run Tests Without Processing Output ${params} ${ESCAPES} ${DATA
SOURCE}
+ ${stderr} = Get File ${STDERR_FILE}
+ Should Be Equal ${stderr.strip()} [ ERROR ] Suite 'Include And
Exclude' with ${filter_msg} contains no test cases.\n\n Try --help for
usage information.
+ File Should Not Exist ${OUTFILE}
=======================================
--- /atest/robot/tags/include_and_exclude_with_rebot.txt Mon Nov 26
03:54:57 2012
+++ /atest/robot/tags/include_and_exclude_with_rebot.txt Wed Jan 9
07:01:36 2013
@@ -1,74 +1,74 @@
*** Settings ***
Documentation Testing rebot's include/exclude functionality. Tests
also include/exclude first during test execution and then with rebot.
Suite Setup Create Input Files
-Suite Teardown Remove File ${INPUT FILE}
-Default Tags regression pybot jybot
+Suite Teardown Remove File ${INPUT FILE}
+Default Tags regression pybot jybot
+Test Template Run And Check Include And Exclude
Resource rebot_resource.txt
-Test Template Run And Check Include And Exclude
*** Variables ***
${TEST FILE} tags/include_and_exclude.txt
${TEST FILE2} tags/no_force_no_default_tags.txt
${INPUT FILE} %{TEMPDIR}/robot-tags-input.xml
-${INPUT FILE 2} %{TEMPDIR}/robot-tags-input-2.xml
+${INPUT FILE 2} %{TEMPDIR}/robot-tags-input-2.xml
${ESCAPES} --escape star:STAR --escape quest:QUEST --escape amp:AMP
-@{INCL_ALL} Incl-1 Incl-12 Incl-123
-@{EXCL_ALL} Excl-1 Excl-12 Excl-123
+@{INCL_ALL} Incl-1 Incl-12 Incl-123
+@{EXCL_ALL} Excl-1 Excl-12 Excl-123
@{ALL} @{INCL_ALL} @{EXCL_ALL}
*** Test Cases ***
No Includes Or Excludes
- ${EMPTY} @{ALL}
+ ${EMPTY} @{ALL}
One Include
- --include incl1 @{INCL_ALL}
+ --include incl1 @{INCL_ALL}
Matching And Non Matching Includes
- -i INCL3 -i nonexisting Incl-123
+ -i INCL3 -i nonexisting Incl-123
More Includes
- -i incl2 --include incl3 -i _ --include incl2 Incl-12 Incl-123
+ -i incl2 --include incl3 -i _ --include incl2 Incl-12 Incl-123
Includes With AND
- [Documentation] Testing including like "--include tag1&tag2" both
with "&" and "AND"
- --include incl1ANDincl2 Incl-12 Incl-123
- -i incl1AMPincl2AMPincl3 Incl-123
+ [Documentation] Testing including like "--include tag1&tag2" both
with "&" and "AND"
+ --include incl1ANDincl2 Incl-12 Incl-123
+ -i incl1AMPincl2AMPincl3 Incl-123
Include With Patterns
- --include incl? @{INCL_ALL}
- -i STARcl3 -i iSTAR2 Incl-12 Incl-123 Excl-123
- -i i?*3ANDFORCE --include iSTAR @{INCL_ALL}
+ --include incl? @{INCL_ALL}
+ -i STARcl3 -i iSTAR2 Incl-12 Incl-123 Excl-123
+ -i i?*3ANDFORCE --include iSTAR @{INCL_ALL}
One Exclude
- --exclude excl1 @{INCL_ALL}
+ --exclude excl1 @{INCL_ALL}
Matching And Non Matching Excludes
- -e EXCL3 -e nonexisting @{INCL_ALL} Excl-1 Excl-12
+ -e EXCL3 -e nonexisting @{INCL_ALL} Excl-1 Excl-12
More Excludes
- --exclude excl3 -e excl2 @{INCL_ALL} Excl-1
+ --exclude excl3 -e excl2 @{INCL_ALL} Excl-1
Exclude With AND
- --exclude excl1AMPexcl2 @{INCL_ALL} Excl-1
- -e excl1AMPexcl2ANDexcl3 @{INCL_ALL} Excl-1 Excl-12
+ --exclude excl1AMPexcl2 @{INCL_ALL} Excl-1
+ -e excl1AMPexcl2ANDexcl3 @{INCL_ALL} Excl-1 Excl-12
Exclude With Patterns
- --exclude exc?? @{INCL_ALL}
- -e STAR3 -e eSTAR2 -e eSTAR1 Incl-1 Incl-12
+ --exclude exc?? @{INCL_ALL}
+ -e STAR3 -e eSTAR2 -e eSTAR1 Incl-1 Incl-12
Include And Exclude
- [Documentation] Include and exclude together with and without
patterns and ANDing
- -i force --exclude excl2 @{INCL_ALL} Excl-1
- --include STARcl2 -i nonex -e e???2 -i forceANDi*1 @{INCL_ALL}
+ [Documentation] Include and exclude together with and without
patterns and ANDing
+ -i force --exclude excl2 @{INCL_ALL} Excl-1
+ --include STARcl2 -i nonex -e e???2 -i forceANDi*1 @{INCL_ALL}
Include with NOT
- --include incl1NOTincl3 Incl-1 Incl-12
+ --include incl1NOTincl3 Incl-1 Incl-12
Exclude with NOT
- --exclude excl1NOTexcl2ANDexcl3 Excl-123 @{INCL_ALL}
+ --exclude excl1NOTexcl2ANDexcl3 Excl-123 @{INCL_ALL}
Include and Exclude with NOT
- --include incl1NOTincl3 --exclude incl1NOTincl2 Incl-12
+ --include incl1NOTincl3 --exclude incl1NOTincl2 Incl-12
Select tests without any tags
[Setup] Set Test Variable ${INPUT FILE} ${INPUT FILE 2}
@@ -80,69 +80,68 @@
Non Matching Include
[Template] Run And Check Error
- --include nonex with tag 'nonex'
- --include nonex -i nonex2 with tags 'nonex' or 'nonex2'
+ --include nonex with tag 'nonex'
+ --include nonex -i nonex2 with tags 'nonex' or 'nonex2'
Non Matching Exclude
- --exclude nonexisting -e nonex2 -e nonex3 @{ALL}
+ --exclude nonexisting -e nonex2 -e nonex3 @{ALL}
Non Matching Include And Exclude
[Template] Run And Check Error
- -i nonex -e nonex2 with tag 'nonex' and without tag 'nonex2'
- --include nonex -i incl? -e STAR1 -e STAR2 -e STAR3 with tags 'nonex'
or 'incl?' and without tags '*1', '*2' or '*3'
+ -i nonex -e nonex2 with tag 'nonex' and without tag 'nonex2'
+ --include nonex -i incl? -e STAR1 -e STAR2 -e STAR3 with
tags 'nonex' or 'incl?' and without tags '*1', '*2' or '*3'
Including With Robot And Including And Excluding With Rebot
- [Setup] Create Output With Robot ${INPUT FILE} --include incl1
--exclude nonexisting ${TESTFILE}
- -i iSTAR2STAR -e nonexisting -e incl3 Incl-12
+ [Setup] Create Output With Robot ${INPUT FILE} --include
incl1 --exclude nonexisting ${TESTFILE}
+ -i iSTAR2STAR -e nonexisting -e incl3 Incl-12
Excluding With Robot And Including And Excluding Without Matching Rebot
- [Setup] Create Output With Robot ${INPUT FILE} -i incl1 --exclude
excl* ${TESTFILE}
- -e nonexisting -e excl3 @{INCL_ALL}
+ [Setup] Create Output With Robot ${INPUT FILE} -i incl1
--exclude excl* ${TESTFILE}
+ -e nonexisting -e excl3 @{INCL_ALL}
Elapsed Time
- [Documentation] Test setting start, end and elapsed times correctly
when filtering by tags
- [Template] NONE
- Comment 1) Rebot hand-edited output with predefined times and check
that times are read correctly.
- Run Rebot ${EMPTY} rebot/times.xml
- Check Times ${SUITE.tests[0]} 20061227 12:00:00.000 20061227
12:00:01.000 1000
- Check Times ${SUITE.tests[1]} 20061227 12:00:01.000 20061227
12:00:03.000 2000
- Check Times ${SUITE.tests[2]} 20061227 12:00:03.000 20061227
12:00:07.000 4000
- Check Times ${SUITE.tests[3]} 20061227 12:00:07.000 20061227
12:00:07.001 0001
- Check Times ${SUITE.tests[4]} 20061227 12:00:07.001 20061227
12:00:07.003 0002
- Check Times ${SUITE.tests[5]} 20061227 12:00:07.003 20061227
12:00:07.007 0004
- Check Times ${SUITE} 20061227 11:59:59.000 20061227 12:00:08.999
9999
- Should Be Equal As Numbers ${SUITE.test_count} 6
- Comment 2) Filter ouput created in earlier step and check that times
are set accordingly.
- Run Rebot --include incl2 --include excl3 ${ESCAPES} ${OUTFILE}
- Check Times ${SUITE} ${NONE} ${NONE} 6004
- Check Times ${SUITE.tests[0]} 20061227 12:00:01.000 20061227
12:00:03.000 2000
- Check Times ${SUITE.tests[1]} 20061227 12:00:03.000 20061227
12:00:07.000 4000
- Check Times ${SUITE.tests[2]} 20061227 12:00:07.003 20061227
12:00:07.007 004
- Should Be Equal As Numbers ${SUITE.test_count} 3
-
+ [Documentation] Test setting start, end and elapsed times correctly
when filtering by tags
+ [Template] NONE
+ Comment 1) Rebot hand-edited output with predefined times and
check that times are read correctly.
+ Run Rebot ${EMPTY} rebot/times.xml
+ Check Times ${SUITE.tests[0]} 20061227 12:00:00.000 20061227
12:00:01.000 1000
+ Check Times ${SUITE.tests[1]} 20061227 12:00:01.000 20061227
12:00:03.000 2000
+ Check Times ${SUITE.tests[2]} 20061227 12:00:03.000 20061227
12:00:07.000 4000
+ Check Times ${SUITE.tests[3]} 20061227 12:00:07.000 20061227
12:00:07.001 0001
+ Check Times ${SUITE.tests[4]} 20061227 12:00:07.001 20061227
12:00:07.003 0002
+ Check Times ${SUITE.tests[5]} 20061227 12:00:07.003 20061227
12:00:07.007 0004
+ Check Times ${SUITE} 20061227 11:59:59.000 20061227
12:00:08.999 9999
+ Should Be Equal As Numbers ${SUITE.test_count} 6
+ Comment 2) Filter ouput created in earlier step and check that
times are set accordingly.
+ Run Rebot --include incl2 --include excl3 ${ESCAPES} ${OUTFILE}
+ Check Times ${SUITE} ${NONE} ${NONE} 6004
+ Check Times ${SUITE.tests[0]} 20061227 12:00:01.000 20061227
12:00:03.000 2000
+ Check Times ${SUITE.tests[1]} 20061227 12:00:03.000 20061227
12:00:07.000 4000
+ Check Times ${SUITE.tests[2]} 20061227 12:00:07.003 20061227
12:00:07.007 004
+ Should Be Equal As Numbers ${SUITE.test_count} 3
*** Keywords ***
Create Input Files
- Create Output With Robot ${INPUT FILE 2} ${EMPTY} ${TEST FILE 2}
- Create Output With Robot ${INPUT FILE} ${EMPTY} ${TEST FILE}
+ Create Output With Robot ${INPUT FILE 2} ${EMPTY} ${TEST FILE
2}
+ Create Output With Robot ${INPUT FILE} ${EMPTY} ${TEST FILE}
Run And Check Include And Exclude
- [Arguments] ${params} @{tests}
- Run Rebot ${params} ${ESCAPES} ${INPUT FILE}
+ [Arguments] ${params} @{tests}
+ Run Rebot ${params} ${ESCAPES} ${INPUT FILE}
Stderr Should Be Empty
- Check Suite Contains Tests ${SUITE} @{tests}
- Should Be True ${SUITE.statistics.all.passed} == len(@{tests})
- Should Be True ${SUITE.statistics.all.failed} == 0
- ${exp start} = Evaluate ${NONE} if "${params}" else "${ORIG START}"
- ${exp end} = Evaluate ${NONE} if "${params}" else "${ORIG END}"
- Should Be Equal ${SUITE.starttime} ${exp start}
- Should Be Equal ${SUITE.endtime} ${exp end}
- Is Valid Elapsed Time ${SUITE.elapsedtime}
- Should Be True ${SUITE.elapsedtime} <= ${ORIG ELAPSED}
+ Check Suite Contains Tests ${SUITE} @{tests}
+ Should Be True ${SUITE.statistics.all.passed} == len(@{tests})
+ Should Be True ${SUITE.statistics.all.failed} == 0
+ ${exp start} = Evaluate ${NONE} if "${params}" else "${ORIG
START}"
+ ${exp end} = Evaluate ${NONE} if "${params}" else "${ORIG END}"
+ Should Be Equal ${SUITE.starttime} ${exp start}
+ Should Be Equal ${SUITE.endtime} ${exp end}
+ Is Valid Elapsed Time ${SUITE.elapsedtime}
+ Should Be True ${SUITE.elapsedtime} <= ${ORIG ELAPSED}
Run And Check Error
- [Arguments] ${params} ${filter_msg}
- Run Rebot Without Processing Output ${params} ${ESCAPES} ${INPUT
FILE}
- ${stderr} = Get Stderr
- Should Be Equal ${stderr.strip()} [ ERROR ] Suite 'Include And
Exclude' contains no tests ${filter_msg}.${USAGE TIP}
- File Should Not Exist ${OUTFILE}
+ [Arguments] ${params} ${filter_msg}
+ Run Rebot Without Processing Output ${params} ${ESCAPES} ${INPUT
FILE}
+ ${stderr} = Get Stderr
+ Should Be Equal ${stderr.strip()} [ ERROR ] Suite 'Include And
Exclude' contains no tests ${filter_msg}.${USAGE TIP}
+ File Should Not Exist ${OUTFILE}
==============================================================================
Revision: e1ba8e8fa0d1
Branch: default
Author: Robot Framework Developers ([email protected])
Date: Wed Jan 9 07:09:41 2013
Log: test cleanup
http://code.google.com/p/robotframework/source/detail?r=e1ba8e8fa0d1
Modified:
/atest/robot/tags/include_and_exclude.txt
/atest/robot/tags/include_and_exclude_with_rebot.txt
=======================================
--- /atest/robot/tags/include_and_exclude.txt Wed Jan 9 07:01:36 2013
+++ /atest/robot/tags/include_and_exclude.txt Wed Jan 9 07:09:41 2013
@@ -4,7 +4,7 @@
Resource atest_resource.txt
*** Variables ***
-${DATA SOURCE} tags/include_and_exclude.txt
+@{DATA SOURCES} tags/include_and_exclude.txt
${ESCAPES} --escape star:STAR --escape quest:QUEST --escape amp:AMP
@{INCL_ALL} Incl-1 Incl-12 Incl-123
@{EXCL_ALL} Excl-1 Excl-12 Excl-123
@@ -65,11 +65,11 @@
--include incl1NOTincl3 --exclude incl1NOTincl2 Incl-12
Select tests without any tags
- [Setup] Set Test Variable ${DATA SOURCE}
tags/no_force_no_default_tags.txt
+ [Setup] Set Test Variable @{DATA SOURCES}
tags/no_force_no_default_tags.txt
--exclude STAR No Own Tags No Force Nor Default Own Tags Empty
No Force Nor Default
Select tests with any tag
- [Setup] Set Test Variable ${DATA SOURCE}
tags/no_force_no_default_tags.txt
+ [Setup] Set Test Variable @{DATA SOURCES}
tags/no_force_no_default_tags.txt
--include STAR Own Tags No Force Nor Default
Non Matching Include
@@ -88,13 +88,14 @@
*** Keywords ***
Run And Check Include And Exclude
[Arguments] ${params} @{tests}
- Run Tests ${params} ${ESCAPES} ${DATA SOURCE}
+ Run Tests ${params} ${ESCAPES} @{DATA SOURCES}
Stderr Should Be Empty
Check Suite Contains Tests ${SUITE} @{tests}
Run And Check Error
[Arguments] ${params} ${filter_msg}
- Run Tests Without Processing Output ${params} ${ESCAPES} ${DATA
SOURCE}
- ${stderr} = Get File ${STDERR_FILE}
- Should Be Equal ${stderr.strip()} [ ERROR ] Suite 'Include And
Exclude' with ${filter_msg} contains no test cases.\n\n Try --help for
usage information.
+ Run Tests Without Processing Output ${params} ${ESCAPES} @{DATA
SOURCES}
+ Stderr Should Be Equal To SEPARATOR=
+ ... [ ERROR ] Suite 'Include And Exclude' with ${filter_msg}
contains no test cases.
+ ... ${USAGE TIP}\n
File Should Not Exist ${OUTFILE}
=======================================
--- /atest/robot/tags/include_and_exclude_with_rebot.txt Wed Jan 9
07:01:36 2013
+++ /atest/robot/tags/include_and_exclude_with_rebot.txt Wed Jan 9
07:09:41 2013
@@ -111,14 +111,14 @@
Check Times ${SUITE.tests[4]} 20061227 12:00:07.001 20061227
12:00:07.003 0002
Check Times ${SUITE.tests[5]} 20061227 12:00:07.003 20061227
12:00:07.007 0004
Check Times ${SUITE} 20061227 11:59:59.000 20061227
12:00:08.999 9999
- Should Be Equal As Numbers ${SUITE.test_count} 6
+ Length Should Be ${SUITE.tests} 6
Comment 2) Filter ouput created in earlier step and check that
times are set accordingly.
Run Rebot --include incl2 --include excl3 ${ESCAPES} ${OUTFILE}
Check Times ${SUITE} ${NONE} ${NONE} 6004
Check Times ${SUITE.tests[0]} 20061227 12:00:01.000 20061227
12:00:03.000 2000
Check Times ${SUITE.tests[1]} 20061227 12:00:03.000 20061227
12:00:07.000 4000
Check Times ${SUITE.tests[2]} 20061227 12:00:07.003 20061227
12:00:07.007 004
- Should Be Equal As Numbers ${SUITE.test_count} 3
+ Length Should Be ${SUITE.tests} 3
*** Keywords ***
Create Input Files
@@ -132,8 +132,8 @@
Check Suite Contains Tests ${SUITE} @{tests}
Should Be True ${SUITE.statistics.all.passed} == len(@{tests})
Should Be True ${SUITE.statistics.all.failed} == 0
- ${exp start} = Evaluate ${NONE} if "${params}" else "${ORIG
START}"
- ${exp end} = Evaluate ${NONE} if "${params}" else "${ORIG END}"
+ ${exp start} = Set Variable If "${params}" ${NONE} ${ORIG
START}
+ ${exp end} = Set Variable If "${params}" ${NONE} ${ORIG
END}
Should Be Equal ${SUITE.starttime} ${exp start}
Should Be Equal ${SUITE.endtime} ${exp end}
Is Valid Elapsed Time ${SUITE.elapsedtime}
@@ -142,6 +142,7 @@
Run And Check Error
[Arguments] ${params} ${filter_msg}
Run Rebot Without Processing Output ${params} ${ESCAPES} ${INPUT
FILE}
- ${stderr} = Get Stderr
- Should Be Equal ${stderr.strip()} [ ERROR ] Suite 'Include And
Exclude' contains no tests ${filter_msg}.${USAGE TIP}
+ Stderr Should Be Equal To SEPARATOR=
+ ... [ ERROR ] Suite 'Include And Exclude' contains no tests
${filter_msg}.
+ ... ${USAGE TIP}\n
File Should Not Exist ${OUTFILE}
==============================================================================
Revision: 5099bab3ed05
Branch: default
Author: Robot Framework Developers ([email protected])
Date: Wed Jan 9 08:29:07 2013
Log: test cleanup
http://code.google.com/p/robotframework/source/detail?r=5099bab3ed05
Modified:
/atest/robot/core/filter_by_names.txt
/atest/robot/rebot/filter_by_names.txt
=======================================
--- /atest/robot/core/filter_by_names.txt Mon Jun 18 00:57:01 2012
+++ /atest/robot/core/filter_by_names.txt Wed Jan 9 08:29:07 2013
@@ -7,8 +7,6 @@
${TESTDATA_TEST} misc/many_tests.txt
${TESTDATA_SUITES} misc/suites
${ESCAPES} --escape star:STAR --escape quest:QUEST --escape space:SPACE
-${TEST_ERROR_MESSAGE} Suite 'Many Tests' contains no test cases
named 'notexists'.\n\n Try --help for usage information.
-${SUITE_ERROR_MESSAGE} Suite 'Suites' contains no test suites
named 'notexists'.\n\n Try --help for usage information.
*** Test Cases ***
One Call To Test
@@ -25,7 +23,8 @@
Run And Check Tests --test First --test thirdone First Third One
One Call To Test With Nonexisting Test Name
- Run Failing Test --test notexists ${TESTDATA_TEST}
${TEST_ERROR_MESSAGE}
+ Run Failing Test --test notexists ${TESTDATA_TEST}
+ ... Suite 'Many Tests' contains no test cases named 'notexists'.
Two Calls To Test With One Nonexisting Test Name
Run And Check Tests --test notexists --test First First
@@ -66,7 +65,8 @@
Check Syslog Contains Parsing file '${suitedir}${/}tsuite2.html
Suite With No Matching Args
- Run Failing Test --suite notexists ${TESTDATA_SUITES}
${SUITE_ERROR_MESSAGE}
+ Run Failing Test --suite notexists ${TESTDATA_SUITES}
+ ... Suite 'Suites' contains no test suites named 'notexists'.
Suite With Matching And NonMatching Args
Run Suites --suite tsuite1 --suite notexists
@@ -156,8 +156,7 @@
Stderr Should Be Empty
Run Failing Test
- [Arguments] ${params} ${testdata} ${error_msg}
+ [Arguments] ${params} ${testdata} ${error}
Run Tests Without Processing Output ${params} ${ESCAPES} ${testdata}
- ${stderr} = Get Stderr
- Should End With ${stderr.strip()} ${error_msg}
+ Stderr Should Be Equal To [ ERROR ] ${error}${USAGE TIP}\n
=======================================
--- /atest/robot/rebot/filter_by_names.txt Wed Sep 12 15:22:56 2012
+++ /atest/robot/rebot/filter_by_names.txt Wed Jan 9 08:29:07 2013
@@ -54,14 +54,12 @@
Run And Check Suites and Tests --suite tsuite1 --suite tsuite3 --test
STAR1first --test STAR2STAR Tsuite1 Suite1 First
No Matching tests
- Run Rebot Without Processing Output --test nonex ${INPUT FILE}
- ${stderr} = Get Stderr
- Should Be Equal ${stderr.strip()} [ ERROR ] Suite 'Many Tests &
Suites' contains no tests named 'nonex'.${USAGE_TIP}
+ Failing Rebot --test nonex ${INPUT FILE}
+ ... Suite 'Many Tests & Suites' contains no tests named 'nonex'.
No Matching Suites
- Run Rebot Without Processing Output --suite nonex -s n2 -s n3
${INPUT FILE}
- ${stderr} = Get Stderr
- Should Be Equal ${stderr.strip()} [ ERROR ] Suite 'Many Tests &
Suites' contains no tests in suites 'nonex', 'n2' or 'n3'.${USAGE_TIP}
+ Failing Rebot --suite nonex -s n2 -s n3 ${INPUT FILE}
+ ... Suite 'Many Tests & Suites' contains no tests in
suites 'nonex', 'n2' or 'n3'.
No Matching Tests In Matching Suites
Run Rebot Without Processing Output --suite nonex --suite suites
--test first --test nonex --test STARone ${ESCAPES} ${INPUT FILE}
@@ -138,3 +136,7 @@
Run Rebot ${params} ${ESCAPES} ${INPUT FILE}
Stderr Should Be Empty
+Failing Rebot
+ [Arguments] ${params} ${input} ${error}
+ Run Rebot Without Processing Output ${params} ${ESCAPES} ${input}
+ Stderr Should Be Equal To [ ERROR ] ${error}${USAGE TIP}\n
==============================================================================
Revision: ec7386f91f5e
Branch: default
Author: Robot Framework Developers ([email protected])
Date: Wed Jan 9 08:42:21 2013
Log: import cleanup
http://code.google.com/p/robotframework/source/detail?r=ec7386f91f5e
Modified:
/src/robot/result/testsuite.py
=======================================
--- /src/robot/result/testsuite.py Wed Mar 14 05:58:57 2012
+++ /src/robot/result/testsuite.py Wed Jan 9 08:42:21 2013
@@ -17,10 +17,10 @@
from robot.model import TotalStatisticsBuilder
from robot import model, utils
-from messagefilter import MessageFilter
-from keywordremover import KeywordRemover
-from testcase import TestCase
-from keyword import Keyword
+from .messagefilter import MessageFilter
+from .keywordremover import KeywordRemover
+from .keyword import Keyword
+from .testcase import TestCase
class TestSuite(model.TestSuite):
==============================================================================
Revision: a2376ffc0a6e
Branch: default
Author: Robot Framework Developers ([email protected])
Date: Wed Jan 9 08:47:50 2013
Log: Fixed error message when running/reboting multiple suites and no
test match.
Update issue 1326
Status: Started
Owner: pekka.klarck
This ought to be now fixed, with tests, but I leave this open for review.
http://code.google.com/p/robotframework/source/detail?r=a2376ffc0a6e
Modified:
/atest/robot/core/filter_by_names.txt
/atest/robot/rebot/filter_by_names.txt
/atest/robot/tags/include_and_exclude.txt
/atest/robot/tags/include_and_exclude_with_rebot.txt
/src/robot/common/model.py
/src/robot/result/configurer.py
=======================================
--- /atest/robot/core/filter_by_names.txt Wed Jan 9 08:29:07 2013
+++ /atest/robot/core/filter_by_names.txt Wed Jan 9 08:47:50 2013
@@ -22,9 +22,18 @@
Two Calls To Test
Run And Check Tests --test First --test thirdone First Third One
-One Call To Test With Nonexisting Test Name
- Run Failing Test --test notexists ${TESTDATA_TEST}
+Non-Existing Test
+ Run Failing Test
... Suite 'Many Tests' contains no test cases named 'notexists'.
+ ... --test notexists ${TESTDATA_TEST}
+
+Non-Existing Test When Running Multiple Suites
+ Run Failing Test
+ ... Suite 'Many Tests & Suites' contains no test cases
named 'notexists'.
+ ... --test notexists ${TESTDATA_TEST} ${TESTDATA_SUITES}
+ Run Failing Test
+ ... Suite 'My Name' contains no test cases named 'notexists'.
+ ... --name My_Name --test notexists ${TESTDATA_TEST}
${TESTDATA_SUITES}
Two Calls To Test With One Nonexisting Test Name
Run And Check Tests --test notexists --test First First
@@ -64,9 +73,18 @@
Check Syslog Contains Parsing file '${suitedir}${/}tsuite1.html
Check Syslog Contains Parsing file '${suitedir}${/}tsuite2.html
-Suite With No Matching Args
- Run Failing Test --suite notexists ${TESTDATA_SUITES}
+Non-Existing Suite
+ Run Failing Test
... Suite 'Suites' contains no test suites named 'notexists'.
+ ... --suite notexists ${TESTDATA_SUITES}
+
+Non-Existing Suite When Running Multiple Suites
+ Run Failing Test
+ ... Suite 'Suites & Many Tests' contains no test suites
named 'notexists'.
+ ... --suite notexists ${TESTDATA_SUITES} ${TESTDATA_TEST}
+ Run Failing Test
+ ... Suite 'Custom' contains no test suites named 'xxx'.
+ ... --suite xxx -N Custom ${TESTDATA_SUITES} ${TESTDATA_TEST}
Suite With Matching And NonMatching Args
Run Suites --suite tsuite1 --suite notexists
@@ -156,7 +174,7 @@
Stderr Should Be Empty
Run Failing Test
- [Arguments] ${params} ${testdata} ${error}
- Run Tests Without Processing Output ${params} ${ESCAPES} ${testdata}
+ [Arguments] ${error} ${params} @{inputs}
+ Run Tests Without Processing Output ${params} ${ESCAPES} @{inputs}
Stderr Should Be Equal To [ ERROR ] ${error}${USAGE TIP}\n
=======================================
--- /atest/robot/rebot/filter_by_names.txt Wed Jan 9 08:29:07 2013
+++ /atest/robot/rebot/filter_by_names.txt Wed Jan 9 08:47:50 2013
@@ -53,13 +53,31 @@
Suite and test together
Run And Check Suites and Tests --suite tsuite1 --suite tsuite3 --test
STAR1first --test STAR2STAR Tsuite1 Suite1 First
-No Matching tests
- Failing Rebot --test nonex ${INPUT FILE}
+No matching tests
+ Failing Rebot
... Suite 'Many Tests & Suites' contains no tests named 'nonex'.
+ ... --test nonex ${INPUT FILE}
-No Matching Suites
- Failing Rebot --suite nonex -s n2 -s n3 ${INPUT FILE}
+No matching tests when reboting multiple inputs
+ Failing Rebot
+ ... Suite 'Many Tests & Suites & Many Tests & Suites' contains no
tests named 'nonex'.
+ ... --test nonex ${INPUT FILE} ${INPUT FILE}
+ Failing Rebot
+ ... Suite 'My Name' contains no tests named 'nonex'.
+ ... --test nonex -N My_Name ${INPUT FILE} ${INPUT FILE}
+
+No matching suites
+ Failing Rebot
... Suite 'Many Tests & Suites' contains no tests in
suites 'nonex', 'n2' or 'n3'.
+ ... --suite nonex -s n2 -s n3 ${INPUT FILE}
+
+No matching suites when reboting multiple inputs
+ Failing Rebot
+ ... Suite 'Many Tests & Suites & Many Tests & Suites' contains no
tests in suite 'nonex'.
+ ... --suite nonex ${INPUT FILE} ${INPUT FILE}
+ Failing Rebot
+ ... Suite 'CustomName' contains no tests in suite 'nonex'.
+ ... --name CustomName --suite nonex ${INPUT FILE} ${INPUT FILE}
No Matching Tests In Matching Suites
Run Rebot Without Processing Output --suite nonex --suite suites
--test first --test nonex --test STARone ${ESCAPES} ${INPUT FILE}
@@ -137,6 +155,6 @@
Stderr Should Be Empty
Failing Rebot
- [Arguments] ${params} ${input} ${error}
- Run Rebot Without Processing Output ${params} ${ESCAPES} ${input}
+ [Arguments] ${error} ${params} @{inputs}
+ Run Rebot Without Processing Output ${params} ${ESCAPES} @{inputs}
Stderr Should Be Equal To [ ERROR ] ${error}${USAGE TIP}\n
=======================================
--- /atest/robot/tags/include_and_exclude.txt Wed Jan 9 07:09:41 2013
+++ /atest/robot/tags/include_and_exclude.txt Wed Jan 9 08:47:50 2013
@@ -85,6 +85,12 @@
-i nonex -e nonex2 includes 'nonex' and excludes 'nonex2'
--include nonex -i incl? -e STAR1 -e STAR2 -e STAR3
includes 'nonex' and 'incl?' and excludes '*1', '*2' and '*3'
+Non Matching When Running Multiple Suites
+ [Setup] Set Test Variable @{DATA SOURCES}
misc/pass_and_fail.txt misc/normal.txt
+ [Template] Run And Check Error
+ --include nonex includes 'nonex' Pass And Fail & Normal
+ --include nonex --name MyName includes 'nonex' MyName
+
*** Keywords ***
Run And Check Include And Exclude
[Arguments] ${params} @{tests}
@@ -93,9 +99,9 @@
Check Suite Contains Tests ${SUITE} @{tests}
Run And Check Error
- [Arguments] ${params} ${filter_msg}
+ [Arguments] ${params} ${filter_msg} ${suite name}=Include And
Exclude
Run Tests Without Processing Output ${params} ${ESCAPES} @{DATA
SOURCES}
Stderr Should Be Equal To SEPARATOR=
- ... [ ERROR ] Suite 'Include And Exclude' with ${filter_msg}
contains no test cases.
+ ... [ ERROR ] Suite '${suite name}' with ${filter_msg} contains no
test cases.
... ${USAGE TIP}\n
File Should Not Exist ${OUTFILE}
=======================================
--- /atest/robot/tags/include_and_exclude_with_rebot.txt Wed Jan 9
07:09:41 2013
+++ /atest/robot/tags/include_and_exclude_with_rebot.txt Wed Jan 9
08:47:50 2013
@@ -11,6 +11,7 @@
${TEST FILE2} tags/no_force_no_default_tags.txt
${INPUT FILE} %{TEMPDIR}/robot-tags-input.xml
${INPUT FILE 2} %{TEMPDIR}/robot-tags-input-2.xml
+@{INPUT FILES} ${INPUT FILE}
${ESCAPES} --escape star:STAR --escape quest:QUEST --escape amp:AMP
@{INCL_ALL} Incl-1 Incl-12 Incl-123
@{EXCL_ALL} Excl-1 Excl-12 Excl-123
@@ -71,11 +72,11 @@
--include incl1NOTincl3 --exclude incl1NOTincl2 Incl-12
Select tests without any tags
- [Setup] Set Test Variable ${INPUT FILE} ${INPUT FILE 2}
+ [Setup] Set Test Variable @{INPUT FILES} ${INPUT FILE 2}
--exclude STAR No Own Tags No Force Nor Default Own Tags Empty
No Force Nor Default
Select tests with any tag
- [Setup] Set Test Variable ${INPUT FILE} ${INPUT FILE 2}
+ [Setup] Set Test Variable @{INPUT FILES} ${INPUT FILE 2}
--include STAR Own Tags No Force Nor Default
Non Matching Include
@@ -91,6 +92,12 @@
-i nonex -e nonex2 with tag 'nonex' and without tag 'nonex2'
--include nonex -i incl? -e STAR1 -e STAR2 -e STAR3 with
tags 'nonex' or 'incl?' and without tags '*1', '*2' or '*3'
+Non Matching When Reboting Multiple Outputs
+ [Setup] Set Test Variable @{INPUT FILES} ${INPUT FILE}
${INPUT FILE 2}
+ [Template] Run And Check Error
+ --include nonex with tag 'nonex' Include And Exclude & No Force
No Default Tags
+ --include nonex --name MyName with tag 'nonex' MyName
+
Including With Robot And Including And Excluding With Rebot
[Setup] Create Output With Robot ${INPUT FILE} --include
incl1 --exclude nonexisting ${TESTFILE}
-i iSTAR2STAR -e nonexisting -e incl3 Incl-12
@@ -127,7 +134,7 @@
Run And Check Include And Exclude
[Arguments] ${params} @{tests}
- Run Rebot ${params} ${ESCAPES} ${INPUT FILE}
+ Run Rebot ${params} ${ESCAPES} @{INPUT FILES}
Stderr Should Be Empty
Check Suite Contains Tests ${SUITE} @{tests}
Should Be True ${SUITE.statistics.all.passed} == len(@{tests})
@@ -140,9 +147,9 @@
Should Be True ${SUITE.elapsedtime} <= ${ORIG ELAPSED}
Run And Check Error
- [Arguments] ${params} ${filter_msg}
- Run Rebot Without Processing Output ${params} ${ESCAPES} ${INPUT
FILE}
+ [Arguments] ${params} ${filter msg} ${suite name}=Include And
Exclude
+ Run Rebot Without Processing Output ${params} ${ESCAPES} @{INPUT
FILES}
Stderr Should Be Equal To SEPARATOR=
- ... [ ERROR ] Suite 'Include And Exclude' contains no tests
${filter_msg}.
+ ... [ ERROR ] Suite '${suite name}' contains no tests ${filter msg}.
... ${USAGE TIP}\n
File Should Not Exist ${OUTFILE}
=======================================
--- /src/robot/common/model.py Wed Jan 2 10:46:37 2013
+++ /src/robot/common/model.py Wed Jan 9 08:47:50 2013
@@ -23,8 +23,7 @@
class _TestAndSuiteHelper:
_longname = None
- def __init__(self, name, parent=None):
- self.name = name
+ def __init__(self, parent=None):
self.doc = ''
self.parent = parent
self.setup = None
@@ -59,10 +58,11 @@
class BaseTestSuite(_TestAndSuiteHelper):
- """Base class for TestSuite used in runtime and by rebot."""
+ """Base class for TestSuite used in runtime and but not anymore by
rebot."""
def __init__(self, name, source=None, parent=None):
- _TestAndSuiteHelper.__init__(self, name, parent)
+ _TestAndSuiteHelper.__init__(self, parent)
+ self._name = name
self.source = utils.abspath(source) if source else None
self._id = None
self.metadata = utils.NormalizedDict()
@@ -76,12 +76,12 @@
def set_name(self, name):
if name:
- self.name = name
- elif self._is_multi_source_suite():
- self.name = ' & '.join(suite.name for suite in self.suites)
+ self._name = name
- def _is_multi_source_suite(self):
- return self.parent is None and self.name == ''
+ def _get_name(self):
+ return self._name or ' & '.join(suite.name for suite in
self.suites)
+
+ name = property(_get_name, set_name)
@property
def id(self):
@@ -204,8 +204,9 @@
def filter_by_names(self, suites=None, tests=None,
zero_tests_ok=False):
suites = [([], name.split('.')) for name in suites or []]
tests = utils.MultiMatcher(tests, ignore=['_'],
match_if_no_patterns=True)
+ name = self.name
if not self._filter_by_names(suites, tests) and not zero_tests_ok:
- self._raise_no_tests_filtered_by_names(suites, tests)
+ self._raise_no_tests_filtered_by_names(name, suites, tests)
def _filter_by_names(self, suites, tests):
suites = self._filter_suite_names(suites)
@@ -231,7 +232,7 @@
return (parent + [suite[0]], suite[1:])
return ([], parent + suite)
- def _raise_no_tests_filtered_by_names(self, suites, tests):
+ def _raise_no_tests_filtered_by_names(self, name, suites, tests):
tests = utils.seq2str(list(tests), lastsep=' or ')
suites = utils.seq2str(['.'.join(p + s) for p, s in suites],
lastsep=' or ')
@@ -241,13 +242,14 @@
msg = 'test suites named %s.' % suites
else:
msg = 'test cases %s in suites %s.' % (tests, suites)
- raise DataError("Suite '%s' contains no %s" % (self.name, msg))
+ raise DataError("Suite '%s' contains no %s" % (name, msg))
def filter_by_tags(self, includes=None, excludes=None,
zero_tests_ok=False):
includes = includes or []
excludes = excludes or []
+ name = self.name
if not self._filter_by_tags(includes, excludes) and not
zero_tests_ok:
- self._raise_no_tests_filtered_by_tags(includes, excludes)
+ self._raise_no_tests_filtered_by_tags(name, includes, excludes)
def _filter_by_tags(self, incls, excls):
self.suites = [suite for suite in self.suites
@@ -256,10 +258,10 @@
if test.is_included(incls, excls)]
return bool(self.suites or self.tests)
- def _raise_no_tests_filtered_by_tags(self, incls, excls):
+ def _raise_no_tests_filtered_by_tags(self, name, incls, excls):
incl = utils.seq2str(incls)
excl = utils.seq2str(excls)
- msg = "Suite '%s' with " % self.name
+ msg = "Suite '%s' with " % name
if incl:
msg += 'includes %s ' % incl
if excl:
@@ -292,13 +294,13 @@
suite.set_runmode(runmode)
def set_options(self, settings):
+ self.set_name(settings['Name'])
+ self.set_doc(settings['Doc'])
+ self.set_metadata(settings['Metadata'])
self.set_tags(settings['SetTag'])
self.filter(settings['SuiteNames'], settings['TestNames'],
settings['Include'], settings['Exclude'],
settings['RunEmptySuite'])
- self.set_name(settings['Name'])
- self.set_doc(settings['Doc'])
- self.set_metadata(settings['Metadata'])
self.set_critical_tags(settings['Critical'],
settings['NonCritical'])
self._return_status_rc = not settings['NoStatusRC']
if 'RunMode' in settings:
@@ -325,7 +327,8 @@
class BaseTestCase(_TestAndSuiteHelper):
def __init__(self, name, parent):
- _TestAndSuiteHelper.__init__(self, name, parent)
+ _TestAndSuiteHelper.__init__(self, parent)
+ self.name = name
self.critical = True
if parent:
parent.tests.append(self)
=======================================
--- /src/robot/result/configurer.py Tue Jun 5 05:58:19 2012
+++ /src/robot/result/configurer.py Wed Jan 9 08:47:50 2013
@@ -56,10 +56,11 @@
def configure(self, suite):
self._set_suite_attributes(suite)
+ name = suite.name
suite.filter(self.include_suites, self.include_tests,
self.include_tags, self.exclude_tags)
if not (suite.test_count or self.process_empty_suite):
- self._raise_no_tests_error(suite.name)
+ self._raise_no_tests_error(name)
suite.set_tags(self.add_tags, self.remove_tags)
for how in self.remove_keywords:
suite.remove_keywords(how)