Support multiple users running robot tests
You can use robot with jenkins. What I saw was the argument file was
explictly written to /tmp. The Jenkins is a different user then my
user id so when Jenkins owned the /tmp/argument_file.txt my user id
trying to do things manually got a file permission error... and
visa versa. So I am moving the argument_file.txt to a location
based off of the workspace where the test is being executed.
That allows multiple users on the same system to run the suite.
Change-Id: I81525c7f20708dbd24d219c8424cad59144ba4ab
Signed-off-by: Chris Austen <austenc@us.ibm.com>
diff --git a/.gitignore b/.gitignore
index eb901c8..dd86f44 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,4 +3,5 @@
/output.xml
/report.html
/.idea/
-/.tox/
\ No newline at end of file
+/.tox/
+/tools/argument_file.txt
\ No newline at end of file
diff --git a/tox.ini b/tox.ini
index 8a4d4ec..5da646a 100755
--- a/tox.ini
+++ b/tox.ini
@@ -4,7 +4,7 @@
[testenv]
passenv = *
setenv =
- ARG_FILE={env:ARG_FILE:/tmp/argument_file.txt}
+ ARG_FILE={envtmpdir}/argument_file.txt
PYTHONWARNINGS="ignore:Unverified HTTPS request"
OPENBMC_PASSWORD=0penBmc
OPENBMC_USERNAME=root
@@ -14,58 +14,53 @@
install_command = pip install -U {opts} {packages}
deps = -r{toxinidir}/requirements.txt
commands =
- bash {toxinidir}/tools/generate_argumentfile.sh
- python -m robot.run --exclude reboot_tests --argumentfile {env:ARG_FILE:/tmp/argument_file.txt} {posargs}
+ -mkdir {envtmpdir}
-[testenv:full]
-deps = {[testenv]deps}
-setenv = {[testenv]setenv}
-commands =
- bash {toxinidir}/tools/generate_argumentfile.sh
- python -m robot.run --exclude reboot_tests --argumentfile {env:ARG_FILE:/tmp/argument_file.txt} .
-
-[testenv:tests]
-deps = {[testenv]deps}
-setenv = {[testenv]setenv}
-commands =
- bash {toxinidir}/tools/generate_argumentfile.sh
- python -m robot.run --exclude reboot_tests --argumentfile {env:ARG_FILE:/tmp/argument_file.txt} tests
[testenv:custom]
deps = {[testenv]deps}
setenv = {[testenv]setenv}
commands =
+ {[testenv]commands}
bash {toxinidir}/tools/generate_argumentfile.sh
- python -m robot.run --exclude reboot_tests --argumentfile {env:ARG_FILE:/tmp/argument_file.txt} {posargs}
+ python -m robot.run --exclude reboot_tests --argumentfile {env:ARG_FILE} {posargs}
+
[testenv:barreleye]
deps = {[testenv]deps}
setenv = {[testenv]setenv}
OPENBMC_MODEL=./data/Barreleye.py
commands =
+ {[testenv]commands}
bash {toxinidir}/tools/generate_argumentfile.sh
- python -m robot.run --exclude reboot_tests --argumentfile {env:ARG_FILE:/tmp/argument_file.txt} {posargs}
+ python -m robot.run --exclude reboot_tests --argumentfile {env:ARG_FILE} {posargs}
+
[testenv:palmetto]
deps = {[testenv]deps}
setenv = {[testenv]setenv}
OPENBMC_MODEL=./data/Palmetto.py
commands =
+ {[testenv]commands}
bash {toxinidir}/tools/generate_argumentfile.sh
- python -m robot.run --exclude reboot_tests --argumentfile {env:ARG_FILE:/tmp/argument_file.txt} {posargs}
+ python -m robot.run --exclude reboot_tests --argumentfile {env:ARG_FILE} {posargs}
+
[testenv:firestone]
deps = {[testenv]deps}
setenv = {[testenv]setenv}
OPENBMC_MODEL=./data/Firestone.py
commands =
+ {[testenv]commands}
bash {toxinidir}/tools/generate_argumentfile.sh
- python -m robot.run --exclude reboot_tests --argumentfile {env:ARG_FILE:/tmp/argument_file.txt} {posargs}
+ python -m robot.run --exclude reboot_tests --argumentfile {env:ARG_FILE} {posargs}
+
[testenv:Garrison]
deps = {[testenv]deps}
setenv = {[testenv]setenv}
OPENBMC_MODEL=./data/Garrison.py
commands =
+ {[testenv]commands}
bash {toxinidir}/tools/generate_argumentfile.sh
- python -m robot.run --exclude reboot_tests --argumentfile {env:ARG_FILE:/tmp/argument_file.txt} {posargs}
+ python -m robot.run --exclude reboot_tests --argumentfile {env:ARG_FILE} {posargs}