image: ubuntu:cosmic
variables:
  DEBIAN_FRONTEND: noninteractive

test as root:
  stage: test
  script:
    - adduser --home /home/travis travis --quiet --disabled-login --gecos "" --uid 1000
    - rm -f /etc/dpkg/dpkg.cfg.d/excludes
    - apt-get update
    - apt-get install -qq build-essential expect gcovr sudo
    - chmod -R o+rwX $PWD
    - ./prepare-release travis-ci
    - sudo -u travis mkdir build
    - sudo -u travis env -C build cmake -DCMAKE_BUILD_TYPE=Coverage -G Ninja ..
    - sudo -u travis ninja -C build
    - CTEST_OUTPUT_ON_FAILURE=1 ninja -C build test
    - unbuffer ./test/integration/run-tests -q -j 4
    - gcovr

test as user:
  stage: test
  script:
    - adduser --home /home/travis travis --quiet --disabled-login --gecos "" --uid 1000
    - rm -f /etc/dpkg/dpkg.cfg.d/excludes
    - apt-get update
    - apt-get install -qq build-essential expect gcovr sudo
    - chmod 755 /root
    - chmod -R o+rwX $PWD
    - ./prepare-release travis-ci
    - sudo -u travis mkdir build
    - sudo -u travis env -C build cmake -DCMAKE_BUILD_TYPE=Coverage -G Ninja ..
    - sudo -u travis ninja -C build
    - sudo -u travis CTEST_OUTPUT_ON_FAILURE=1 ninja -C build test
    - sudo -u travis unbuffer ./test/integration/run-tests -q -j 4
    - sudo -u travis gcovr