blob: 46d5775c16f8be115f260b1629c67534e13c4aff [file] [log] [blame] [edit]
*** Settings ***
Suite Setup Custom Suite Setup
Suite Teardown Custom Suite Teardown
*** Variables ***
${EXISTING_PLATFORM} platforms/cpus/miv.repl
*** Keywords ***
Custom Suite Setup
${dirname}= Generate Random String 10 [LETTERS]
${path}= Join Path ${TEMPDIR} robot-${dirname}
Set Suite Variable ${SUITE_TEMPDIR} ${path}
Create Directory ${SUITE_TEMPDIR}
Setup
Custom Suite Teardown
# It seems that on Windows, locks to "logFile"s are still being held after "Clear"
# preventing Teardown, so some tests are temporarily marked as "skip_windows" until this issue is resolved
Execute Command Clear
Remove Directory ${SUITE_TEMPDIR} true
Teardown
Create Machine
Execute Command using sysbus
Execute Command mach create
Execute Command machine LoadPlatformDescriptionFromString "uart: UART.SiFive_UART @ sysbus 0x1000"
Create Temporary REPL File
[Arguments] ${repl_filename}
${file_path}= Join Path ${SUITE_TEMPDIR} ${repl_filename}
Create File ${file_path}
RETURN ${file_path}
Should Have Loaded REPL
${peripherals}= Execute Command peripherals
Should Contain ${peripherals} sysbus
*** Test Cases ***
Should Create Uart Backend
Create Machine
${base_file}= Join Path ${SUITE_TEMPDIR} file
Execute Command uart CreateFileBackend @${base_file}
File Should Exist ${base_file}
Execute Command uart CloseFileBackend @${base_file}
${next_file}= Join Path ${SUITE_TEMPDIR} file.1
Execute Command uart CreateFileBackend @${base_file}
File Should Exist ${next_file}
Should Create Subsequent Log Files
[Tags] skip_windows
${base_file}= Join Path ${SUITE_TEMPDIR} logfile
Execute Command logFile @${base_file}
File Should Exist ${base_file}
${next_file}= Join Path ${SUITE_TEMPDIR} logfile.1
Execute Command logFile @${base_file}
File Should Exist ${next_file}
Should Create Platform Using Command
Execute Command include @${EXISTING_PLATFORM}
Should Have Loaded REPL
Should Create Platform Using Method
Execute Command mach create
Execute Command machine LoadPlatformDescription @${EXISTING_PLATFORM}
Should Have Loaded REPL
Should Create Platform Using Command With String Argument
# Using a string argument allows spaces in the file path.
Execute Command include "${EXISTING_PLATFORM}"
${repl}= Create Temporary REPL File Platform With Spaces.repl
Execute Command include "${repl}"
Should Have Loaded REPL
Should Create Platform Using Method With String Argument
Execute Command mach create
Execute Command machine LoadPlatformDescription "${EXISTING_PLATFORM}"
${repl}= Create Temporary REPL File Platform With Spaces.repl
Execute Command machine LoadPlatformDescription "${repl}"
Should Have Loaded REPL