Skip to content

Commit 1d36b74

Browse files
committed
Fix reporting on rerun-tests
* Echo rerun-rounds starting from 1, hide rebot stdout * Zip log-files from previous test-rounds
1 parent 1406aec commit 1d36b74

File tree

5 files changed

+40
-9
lines changed

5 files changed

+40
-9
lines changed

.github/workflows/docker-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,5 +158,5 @@ jobs:
158158
run: |
159159
podman run --user=2000:2000 --shm-size=1g \
160160
-v `pwd`/test/rerun.robot:/opt/robotframework/tests/rerun.robot:Z \
161-
-e ROBOT_RERUN_FAILED=20 \
161+
-e ROBOT_RERUN_FAILED=50 \
162162
$IMAGE_NAME

Dockerfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ ENV ROBOT_WORK_DIR /opt/robotframework/temp
1818
# Set the maximum number of rounds to rerun failed tests
1919
ENV ROBOT_RERUN_FAILED 0
2020

21+
# Options to the rebot command when rerunning failed tests
22+
ENV ROBOT_RERUN_REBOT_OPTIONS ""
23+
2124
# Setup X Window Virtual Framebuffer
2225
ENV SCREEN_COLOUR_DEPTH 24
2326
ENV SCREEN_HEIGHT 1080

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
* [Testing emails](#testing-emails)
1515
* [Dealing with Datetimes and Timezones](#dealing-with-datetimes-and-timezones)
1616
* [Installing additional dependencies](#installing-additional-dependencies)
17+
* [Rerunning tests](#rerunning-tests)
1718
* [Security consideration](#security-consideration)
1819
* [Continuous integration](#continuous-integration)
1920
* [Azure DevOps pipeline](#ci-azure-devops)

bin/run-tests-in-virtual-screen.sh

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,15 @@ fi
5353

5454
ROBOT_EXIT_CODE=$?
5555

56-
if [[ ${ROBOT_EXIT_CODE} -gt 0 ]]
56+
if [ ${ROBOT_EXIT_CODE} -gt 0 ]
5757
then
5858
for ((i = 0 ; i < ${ROBOT_RERUN_FAILED} ; i++ ))
5959
do
60-
echo "Rerunning failed tests, round ${i}..."
60+
echo "Rerunning failed tests, round $((i+1))..."
61+
62+
# Store previous run into a tarball as screenshots etc from the previous run are removed by rebot
63+
(cd $ROBOT_REPORTS_FINAL_DIR && tar czf report_run_${i}.tar.gz browser *.html *.xml *.log *.png)
64+
6165
xvfb-run \
6266
--server-args="-screen 0 ${SCREEN_WIDTH}x${SCREEN_HEIGHT}x${SCREEN_COLOUR_DEPTH} -ac" \
6367
robot \
@@ -68,11 +72,16 @@ then
6872
$ROBOT_TESTS_DIR
6973

7074
ROBOT_EXIT_CODE=$?
71-
75+
7276
rebot \
7377
--outputDir $ROBOT_REPORTS_FINAL_DIR \
74-
--merge $ROBOT_REPORTS_FINAL_DIR/output_rerun.xml \
75-
$ROBOT_REPORTS_FINAL_DIR/output.xml
78+
--output $ROBOT_REPORTS_FINAL_DIR/output.xml \
79+
--merge $ROBOT_REPORTS_FINAL_DIR/output.xml \
80+
${ROBOT_RERUN_REBOT_OPTIONS} \
81+
$ROBOT_REPORTS_FINAL_DIR/output_rerun.xml \
82+
> /dev/null
83+
84+
rm $ROBOT_REPORTS_FINAL_DIR/output_rerun.xml
7685

7786
if [ ${ROBOT_EXIT_CODE} -eq 0 ]
7887
then

test/rerun.robot

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,25 @@
11
*** Test Cases ***
22

3-
Randomly Fail Test
4-
${rand}= Evaluate random.randint(0,3)
5-
IF ${rand} > 0
3+
Roll Dice 1
4+
${rand}= Evaluate random.randint(1,6)
5+
IF ${rand} > 1
6+
Fail
7+
END
8+
9+
Roll Dice 2
10+
${rand}= Evaluate random.randint(1,6)
11+
IF ${rand} > 1
12+
Fail
13+
END
14+
15+
Roll Dice 3
16+
${rand}= Evaluate random.randint(1,6)
17+
IF ${rand} > 1
18+
Fail
19+
END
20+
21+
Roll Dice 4
22+
${rand}= Evaluate random.randint(1,6)
23+
IF ${rand} > 1
624
Fail
725
END

0 commit comments

Comments
 (0)