2 new revisions:
Revision: 6706ccf01a73
Branch: default
Author: Anssi Syrjäsalo
Date: Thu May 30 03:59:56 2013
Log: Added --runmode option validation...
http://code.google.com/p/robotframework/source/detail?r=6706ccf01a73
Revision: 62d598425c9b
Branch: default
Author: Anssi Syrjäsalo
Date: Thu May 30 04:00:03 2013
Log: Automated merge with https://code.google.com/p/robotframework/
http://code.google.com/p/robotframework/source/detail?r=62d598425c9b
==============================================================================
Revision: 6706ccf01a73
Branch: default
Author: Anssi Syrjäsalo
Date: Thu May 30 03:59:56 2013
Log: Added --runmode option validation
Update issue 1445
Added validations for --runmode values. Also fixed tests for invalid
--runmode and --randomize option values.
http://code.google.com/p/robotframework/source/detail?r=6706ccf01a73
Added:
/atest/robot/running/deprecated_runmode/invalid_runmode.txt
Modified:
/atest/robot/cli/runner/invalid_usage.txt
/atest/robot/cli/runner/randomize.txt
/atest/robot/running/deprecated_runmode/stopping_with_signal.txt
/src/robot/conf/settings.py
=======================================
--- /dev/null
+++ /atest/robot/running/deprecated_runmode/invalid_runmode.txt Thu May 30
03:59:56 2013
@@ -0,0 +1,8 @@
+*** Settings ***
+Force Tags regression pybot jybot
+Resource ../../cli/runner/cli_resource.txt
+
+
+*** Test Cases ***
+Invalid Runmode
+ Run Should Fail --runmode INVALID ${TESTFILE} Option '--runmode'
does not support value 'INVALID'.
=======================================
--- /atest/robot/cli/runner/invalid_usage.txt Wed May 29 13:53:54 2013
+++ /atest/robot/cli/runner/invalid_usage.txt Thu May 30 03:59:56 2013
@@ -1,6 +1,6 @@
*** Settings ***
Test Setup Create Output Directory
-Force Tags regression pybot jybot
+Force Tags regression pybot jybot
Resource cli_resource.txt
@@ -23,8 +23,7 @@
Run Should Fail --name valid -X ${TESTFILE} option -X not recognized
Invalid Option Values
- Run Tests --suitestatlevel not_int --tagstatlink less_than_3x_:
--runmode invalid ${TESTFILE}
+ [Setup] Run Tests --suitestatlevel not_int --tagstatlink
less_than_3x_: ${TESTFILE}
Stderr Should Contain Once Option '--suitestatlevel' expected integer
value but got 'not_int'. Default value used instead.\n
Stderr Should Contain Once Invalid format for option '--tagstatlink'.
Expected 'tag:link:title' but got 'less_than_3x_:'.\n
- Stderr Should Contain Once Option '--runmode' does not support
value 'INVALID'.\n
Should Be Equal ${SUITE.status} PASS
=======================================
--- /atest/robot/cli/runner/randomize.txt Wed May 29 03:45:04 2013
+++ /atest/robot/cli/runner/randomize.txt Thu May 30 03:59:56 2013
@@ -30,9 +30,8 @@
${tests} = Get Tests
Should Be Equal As Strings ${tests} ${DEFAULT TEST ORDER}
-Invalid Option Value
- [Setup] Run Tests --randomize invalid ${TESTFILE}
- Stderr Should Contain Once Option '--randomize' does not support
value 'invalid'.\n
+Invalid Option value
+ Run Should Fail --randomize INVALID ${TESTFILE} Option '--randomize'
does not support value 'INVALID'.
*** Keywords ***
Check That Default Orders Are Correct
=======================================
--- /atest/robot/running/deprecated_runmode/stopping_with_signal.txt Wed
May 29 06:51:24 2013
+++ /atest/robot/running/deprecated_runmode/stopping_with_signal.txt Thu
May 30 03:59:56 2013
@@ -84,7 +84,7 @@
*** Keywords ***
Start And Send Signal
- [Arguments] ${datasource} ${signals} ${sleep}=0s
${runmode}=normal
+ [Arguments] ${datasource} ${signals} ${sleep}=0s
${runmode}=${EMPTY}
Remove File ${TEST FILE}
Start Run ${datasource} ${sleep} ${runmode}
Wait Until Created ${TESTFILE} timeout=45s
@@ -98,13 +98,17 @@
@{runner} = Get Runner ${INTERPRETER} ${ROBOTPATH}
@{command} = Create List
... @{runner}
- ... --output ${OUTFILE} --report NONE --log NONE
- ... --variable TESTSIGNALFILE:${TEST FILE}
- ... --variable TEARDOWNSLEEP:${sleep}
- ... --runmode ${runmode}
- ... ${datasource}
+ ... --output ${OUTFILE} --report NONE --log NONE
+ ... --variable TESTSIGNALFILE:${TEST FILE}
+ ... --variable TEARDOWNSLEEP:${sleep}
+ Run Keyword Unless '${runmode}' == '${EMPTY}' Set Runmode
${command} ${runmode}
+ Append To List ${command} ${datasource}
Log Many @{command}
ProcessManager.start process @{command}
+
+Set Runmode
+ [Arguments] ${command} ${runmode}
+ Append To List ${command} --runmode ${runmode}
Check Test Cases Have Failed Correctly
Check Test Case Test FAIL Execution terminated by signal
=======================================
--- /src/robot/conf/settings.py Wed May 29 05:05:22 2013
+++ /src/robot/conf/settings.py Thu May 30 03:59:56 2013
@@ -110,8 +110,10 @@
return [v for v in [self._process_tag_stat_link(v) for v in
value] if v]
if name == 'Randomize':
return self._process_randomize_value(value)
- if name in ['RemoveKeywords', 'RunMode']:
+ if name == 'RemoveKeywords':
return [v.upper() for v in value]
+ if name == 'RunMode':
+ return [self._process_runmode_value(v) for v in value]
return value
def _process_log_level(self, level):
@@ -141,8 +143,19 @@
if formatted_value in ('test', 'suite'):
formatted_value += 's'
if formatted_value not in ('tests', 'suites', 'none', 'all'):
- raise DataError("Option '--randomize' does not support
value '%s'"
- % original_value)
+ self._raise_invalid_option_value('--randomize', original_value)
+ return formatted_value
+
+ def _raise_invalid_option_value(self, option_name, given_value):
+ raise DataError("Option '%s' does not support value '%s'." %
+ (option_name, given_value))
+
+ def _process_runmode_value(self, original_value):
+ formatted_value = original_value.lower()
+ if formatted_value not in ('exitonfailure', 'skipteardownonexit',
+ 'dryrun', 'random:test', 'random:suite',
+ 'random:all'):
+ self._raise_invalid_option_value('--runmode', original_value)
return formatted_value
def __getitem__(self, name):
@@ -350,27 +363,27 @@
@property
def randomize_suites(self):
return (self['Randomize'] in ('suites', 'all') or
- any(mode in ('RANDOM:SUITE', 'RANDOM:ALL') for mode in
self['RunMode']))
+ any(mode in ('random:suite', 'random:all') for mode in
self['RunMode']))
@property
def randomize_tests(self):
return (self['Randomize'] in ('tests', 'all') or
- any(mode in ('RANDOM:TEST', 'RANDOM:ALL') for mode in
self['RunMode']))
+ any(mode in ('random:test', 'random:all') for mode in
self['RunMode']))
@property
def dry_run(self):
return (self['DryRun'] or
- any(mode == 'DRYRUN' for mode in self['RunMode']))
+ any(mode == 'dryrun' for mode in self['RunMode']))
@property
def exit_on_failure(self):
return (self['ExitOnFailure'] or
- any(mode == 'EXITONFAILURE' for mode in self['RunMode']))
+ any(mode == 'exitonfailure' for mode in self['RunMode']))
@property
def skip_teardown_on_exit(self):
return (self['SkipTeardownOnExit'] or
- any(mode == 'SKIPTEARDOWNONEXIT' for mode in
self['RunMode']))
+ any(mode == 'skipteardownonexit' for mode in
self['RunMode']))
class RebotSettings(_BaseSettings):
==============================================================================
Revision: 62d598425c9b
Branch: default
Author: Anssi Syrjäsalo
Date: Thu May 30 04:00:03 2013
Log: Automated merge with https://code.google.com/p/robotframework/
http://code.google.com/p/robotframework/source/detail?r=62d598425c9b
Modified:
/src/robot/conf/settings.py
=======================================
--- /src/robot/conf/settings.py Thu May 30 01:54:57 2013
+++ /src/robot/conf/settings.py Thu May 30 04:00:03 2013
@@ -110,8 +110,10 @@
return [v for v in [self._process_tag_stat_link(v) for v in
value] if v]
if name == 'Randomize':
return self._process_randomize_value(value)
- if name in ['RemoveKeywords', 'RunMode']:
+ if name == 'RemoveKeywords':
return [v.upper() for v in value]
+ if name == 'RunMode':
+ return [self._process_runmode_value(v) for v in value]
return value
def _process_log_level(self, level):
@@ -141,8 +143,19 @@
if formatted_value in ('test', 'suite'):
formatted_value += 's'
if formatted_value not in ('tests', 'suites', 'none', 'all'):
- raise DataError("Option '--randomize' does not support
value '%s'"
- % original_value)
+ self._raise_invalid_option_value('--randomize', original_value)
+ return formatted_value
+
+ def _raise_invalid_option_value(self, option_name, given_value):
+ raise DataError("Option '%s' does not support value '%s'." %
+ (option_name, given_value))
+
+ def _process_runmode_value(self, original_value):
+ formatted_value = original_value.lower()
+ if formatted_value not in ('exitonfailure', 'skipteardownonexit',
+ 'dryrun', 'random:test', 'random:suite',
+ 'random:all'):
+ self._raise_invalid_option_value('--runmode', original_value)
return formatted_value
def __getitem__(self, name):
@@ -352,27 +365,27 @@
@property
def randomize_suites(self):
return (self['Randomize'] in ('suites', 'all') or
- any(mode in ('RANDOM:SUITE', 'RANDOM:ALL') for mode in
self['RunMode']))
+ any(mode in ('random:suite', 'random:all') for mode in
self['RunMode']))
@property
def randomize_tests(self):
return (self['Randomize'] in ('tests', 'all') or
- any(mode in ('RANDOM:TEST', 'RANDOM:ALL') for mode in
self['RunMode']))
+ any(mode in ('random:test', 'random:all') for mode in
self['RunMode']))
@property
def dry_run(self):
return (self['DryRun'] or
- any(mode == 'DRYRUN' for mode in self['RunMode']))
+ any(mode == 'dryrun' for mode in self['RunMode']))
@property
def exit_on_failure(self):
return (self['ExitOnFailure'] or
- any(mode == 'EXITONFAILURE' for mode in self['RunMode']))
+ any(mode == 'exitonfailure' for mode in self['RunMode']))
@property
def skip_teardown_on_exit(self):
return (self['SkipTeardownOnExit'] or
- any(mode == 'SKIPTEARDOWNONEXIT' for mode in
self['RunMode']))
+ any(mode == 'skipteardownonexit' for mode in
self['RunMode']))
class RebotSettings(_BaseSettings):
--
---
You received this message because you are subscribed to the Google Groups "robotframework-commit" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.