46 lines
2.3 KiB
Plaintext
46 lines
2.3 KiB
Plaintext
*** Keywords ***
|
|
Create Machine
|
|
${TEST_DIR}= Evaluate r"${CURDIR}".replace(" ", "\\ ")
|
|
|
|
Execute Command mach create
|
|
Execute Command i @${TEST_DIR}/PeripheralWithAliases.cs
|
|
Create Log Tester 0
|
|
|
|
Create Test Peripheral
|
|
[Arguments] ${parameters}=${EMPTY}
|
|
Execute Command machine LoadPlatformDescriptionFromString "test: Mocks.PeripheralWithAliases @ sysbus {${parameters}}"
|
|
|
|
*** Test Cases ***
|
|
Should Create Peripheral Without Using Aliases
|
|
Create Machine
|
|
Create Test Peripheral normalParameter: 5; mode: PeripheralModes.Mode1; aliasedParameter: 10
|
|
Wait For Log Entry normalParameter = 5
|
|
Wait For Log Entry mode = Mode1
|
|
Wait For Log Entry aliasedParameter = 10
|
|
Wait For Log Entry aliasedParameterDefault = 0
|
|
|
|
Should Create Peripheral Using Aliases
|
|
Create Machine
|
|
Create Test Peripheral normalParameter: -12; mode: Modes.Mode2; ctorAlias: 100; ctorAliasDefault: 15
|
|
Wait For Log Entry normalParameter = -12
|
|
Wait For Log Entry mode = Mode2
|
|
Wait For Log Entry aliasedParameter = 100
|
|
Wait For Log Entry aliasedParameterDefault = 15
|
|
|
|
Should Throw Recoverable Exception When Using Alias And Argument Name At The Same Time
|
|
Create Machine
|
|
Run Keyword And Expect Error *Ambiguous choice between aliased and normal argument name*
|
|
... Create Test Peripheral normalParameter: -12; mode: Modes.Mode2; ctorAlias: 100; aliasedParameter: 100
|
|
|
|
Should Warn When Using Aliases
|
|
Create Machine
|
|
Create Test Peripheral normalParameter: 5; mode: Modes.Mode1; ctorAlias: 10; ctorAliasDefault: 15
|
|
Wait For Log Entry Using alias 'Modes' for type 'PeripheralModes'
|
|
Wait For Log Entry Using alias 'ctorAlias' for parameter 'aliasedParameter'
|
|
Should Not Be In Log Using alias 'ctorAliasDefault' for parameter 'aliasedParameterDefault'
|
|
|
|
Should Not Accept Invalid Aliases
|
|
Create Machine
|
|
Run Keyword And Expect Error *Could not find corresponding attribute for parameter 'aliasedParameter'*
|
|
... Create Test Peripheral normalParameter: 5; mode: Modes.Mode1; invalidParameter: 10
|