Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ce092d6e authored by Nicolas Gelot's avatar Nicolas Gelot
Browse files

Include coverage of functional tests

parent 741cc323
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ image: $CI_REGISTRY_IMAGE/env:latest
stages:
 - build
 - test
 - report

front-end:
  stage: build
@@ -27,7 +28,10 @@ unit-test:
    - ./manage.sh update_dev_packages
  script:
    - ./manage.sh unit_tests
  coverage: '/TOTAL.*\s+(\d+%)$/'
  artifacts:
    paths:
      - coverage
    expire_in: 1 hour

functional-test:
  stage: test
@@ -42,3 +46,16 @@ functional-test:
    - docker exec -i spotenv ./manage.sh update_dev_packages
  script:
    - docker exec -i spotenv ./manage.sh functional_tests
  artifacts:
    paths:
      - coverage
    expire_in: 1 hour

coverage:
  stage: report
  script:
    - ./manage.sh coverage
  dependencies:
    - unit-test
    - functional-test
  coverage: '/TOTAL.*\s+(\d+%)$/'
+1 −6
Original line number Diff line number Diff line
@@ -6,8 +6,6 @@ EXPOSE 8888
WORKDIR /usr/local/searx
CMD ["python", "searx/webapp.py"]

RUN adduser -D -h /usr/local/searx -s /bin/sh searx searx

COPY requirements.txt ./requirements.txt

RUN apk -U add \
@@ -22,6 +20,7 @@ RUN apk -U add \
    ca-certificates \
 && pip install --upgrade pip \
 && pip install --no-cache -r requirements.txt \
 && pip install --no-cache coverage \
 && apk del \
    build-base \
    libffi-dev \
@@ -34,10 +33,6 @@ RUN apk -U add \

COPY searx /usr/local/searx/searx

RUN chown -R searx:searx /usr/local/searx

USER searx

RUN sed -i "s/127.0.0.1/0.0.0.0/g" searx/settings.yml

STOPSIGNAL SIGINT
+18 −0
Original line number Diff line number Diff line
version: '3.6'

services:
  spot:
    entrypoint:
      - coverage
      - run
      - --source=searx
    command:
      - searx/webapp.py
    volumes:
      - coverage:/coverage
    environment:
      COVERAGE_FILE: /coverage/func

volumes:
  coverage:
    name: spot-coverage
+17 −2
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ set -e
# subshell
PYTHONPATH="$BASE_DIR"
SEARX_DIR="$BASE_DIR/searx"
COV_DIR="$BASE_DIR/coverage"
ACTION="$1"


@@ -41,12 +42,26 @@ pep8_check() {

unit_tests() {
    echo '[!] Running unit tests'
    PYTHONPATH="$BASE_DIR" pytest --cov=searx "$BASE_DIR/tests/unit"
    mkdir -p "$COV_DIR"
    chmod a+w "$COV_DIR"
    PYTHONPATH="$BASE_DIR" COVERAGE_FILE="$COV_DIR"/unit pytest --cov=searx "$BASE_DIR/tests/unit"
}

functional_tests() {
    echo '[!] Running unit tests'
    PYTHONPATH="$BASE_DIR" pytest "$BASE_DIR/tests/functional"
    mkdir -p "$COV_DIR"
    chmod a+w "$COV_DIR"
    PYTHONPATH="$BASE_DIR" COMPOSE_FILE=docker-compose.yml:docker-compose-coverage.yml \
        pytest "$BASE_DIR/tests/functional"
    docker run -itd --rm --name tmp-vol -v spot-coverage:/coverage alpine
    docker cp tmp-vol:/coverage/func $COV_DIR
    docker stop tmp-vol
}

coverage() {
    sed -i 's!/usr/local/searx!'$BASE_DIR'!g' "$COV_DIR"/func
    coverage3 combine coverage/func coverage/unit
    coverage3 report
}

tests() {