${CURDIR} returns directory without slashes

Hello !

I’m currently testing out Renode with Robot Framework and have to use absolute folder structure to run the tests. Obviously this is not ideal so I’d like to make use of relative folder structure so tests can be ported to other PCs.
However if I add the ${CURDIR} or ${EXECDIR} builtin commands and print them out in the log, they have no backslashes and all the interim folders are printed as one, so failing the test.

Example:
${firmware_location} ${CURDIR}/myFirmware.elf

This returns “C:folder1folder2folder3/myFirmware.elf” instead of “c:/folder1/folder2/folder3/myFirmware.elf”

I’m using Robot Framework v3.0.1 and Renode 1.12.
edit: The documentation location here at the bottom suggests placing a ‘@’ in front of the ${CURDIR} command but this also does not work and makes no difference.

https://renode.readthedocs.io/en/latest/introduction/paths.html

thanks in advance!

Could you give a concrete example causing a problem?

Thanks for the reply. I can’t share what I’m working on unfortunately. I’d have to start a new example.

If I use the ${CURDIR} built in variable in a normal standalone Robot test I get the backslashes as expected. This works fine. However, if I call a robot file from the command line using “renode-test file.robot” for example, the directory in that variable that’s passed to renode has all the backslashes stripped out.

I haven’t found any examples that show this implemented and I suspect there’s a bug in there somewhere. Placing the @ symbol in front as suggested in the docs doesn’t solve either unfortunately.

Thanks !

This problem sounds pretty strange and it’s impossible to help without a concrete example. I don’t know what docs have recommended using @ but that certainly won’t help here.

Yes, I understand.

The @ is mentioned at the bottom of this page.
https://renode.readthedocs.io/en/latest/introduction/paths.html

Maybe this is incorrect though as you now say.

Thanks

Hi! Not sure if you already checked the Robot Framework example linked in Renode docs and if that works: