From a81ea65d44a31e33307ed3b6a9ce3b2c0057d550 Mon Sep 17 00:00:00 2001
From: georg <georg@riseup.net>
Date: Mon, 22 Jul 2019 13:39:06 -0700
Subject: [PATCH] CI: Run bubblewrap tests as different user than 'root' to fix
 errors

It seems, there is a bug somewhere if the test suite is invoked as
'root', and bubblewrap is available.
---
 .gitlab-ci.yml | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4d1f844..1ed155c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,6 +5,11 @@ stages:
   - linting
   - test
 
+.prepare_env: &prepare_env
+  before_script:  # This is needed to not run the testsuite as root
+    - useradd --home-dir ${CI_PROJECT_DIR} mat2
+    - chown -R mat2 .
+
 linting:bandit:
   image: $CONTAINER_REGISTRY:linting 
   stage: linting
@@ -60,9 +65,10 @@ tests:debian_with_bubblewrap:
   image: $CONTAINER_REGISTRY:debian
   stage: test
   allow_failure: true
+  <<: *prepare_env
   script:
-    - python3-coverage run --branch -m unittest discover -s tests/
-    - python3-coverage report --fail-under=100 -m --include 'libmat2/*'
+    - su - mat2 -c "python3-coverage run --branch -m unittest discover -s tests/"
+    - su - mat2 -c "python3-coverage report --fail-under=100 -m --include 'libmat2/*'"
 
 tests:fedora:
   image: $CONTAINER_REGISTRY:fedora
@@ -74,5 +80,6 @@ tests:gentoo:
   image: $CONTAINER_REGISTRY:gentoo
   stage: test
   allow_failure: true
+  <<: *prepare_env
   script:
-    - python3 -m unittest discover -v
+    - su - mat2 -c "python3 -m unittest discover -v"
-- 
GitLab