From 97613832ef1c4994159935e5f02e5e3a0cd599ab Mon Sep 17 00:00:00 2001 From: n0vad3v Date: Wed, 31 May 2023 17:25:11 +0800 Subject: [PATCH] Add integration tests --- .github/workflows/integration-test.yaml | 68 +++++++++++++++++++++++++ tests/glib_malloc/docker-compose.yml | 13 +++++ tests/jemalloc/docker-compose.yml | 14 +++++ 3 files changed, 95 insertions(+) create mode 100644 .github/workflows/integration-test.yaml create mode 100644 tests/glib_malloc/docker-compose.yml create mode 100644 tests/jemalloc/docker-compose.yml diff --git a/.github/workflows/integration-test.yaml b/.github/workflows/integration-test.yaml new file mode 100644 index 0000000..49691ab --- /dev/null +++ b/.github/workflows/integration-test.yaml @@ -0,0 +1,68 @@ +name: Integration Tests +on: + pull_request: + branches: + - master + paths-ignore: + - '**.md' + - 'Makefile' + - 'config.json' + +jobs: + glib_malloc: + name: Glib malloc RAM usage test + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Build image + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/amd64 + push: false + tags: ghcr.io/webp-sh/webp_server_go + + - name: Start the container + run: | + cp tests/glib_malloc/docker-compose.yml ./ + docker-compose up -d + + - name: Send Requests to Server + run: | + cd pics + find * -type f -print | xargs -I {} curl -H "User-Agent: Mozilla/5.0 Gecko/20100101 Firefox/98.0" http://localhost:3333/{} + + - name: Get container RAM stats + run: | + docker stats --no-stream + + jemalloc: + name: jemalloc RAM usage test + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Build image + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/amd64 + push: false + tags: ghcr.io/webp-sh/webp_server_go + + - name: Start the container + run: | + cp tests/jemalloc/docker-compose.yml ./ + docker-compose up -d + + - name: Send Requests to Server + run: | + cd pics + find * -type f -print | xargs -I {} curl -H "User-Agent: Mozilla/5.0 Gecko/20100101 Firefox/98.0" http://localhost:3333/{} + + - name: Get container RAM stats + run: | + docker stats --no-stream \ No newline at end of file diff --git a/tests/glib_malloc/docker-compose.yml b/tests/glib_malloc/docker-compose.yml new file mode 100644 index 0000000..d0c62c1 --- /dev/null +++ b/tests/glib_malloc/docker-compose.yml @@ -0,0 +1,13 @@ +version: '3' + +services: + webp: + image: webpsh/webp-server-go + restart: always + environment: + - MALLOC_ARENA_MAX=1 + volumes: + - ./pics:/opt/pics + - ./exhaust:/opt/exhaust + ports: + - 127.0.0.1:3333:3333 \ No newline at end of file diff --git a/tests/jemalloc/docker-compose.yml b/tests/jemalloc/docker-compose.yml new file mode 100644 index 0000000..c820535 --- /dev/null +++ b/tests/jemalloc/docker-compose.yml @@ -0,0 +1,14 @@ +version: '3' + +services: + webp: + image: webpsh/webp-server-go + restart: always + environment: + - MALLOC_ARENA_MAX=1 + - LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2 + volumes: + - ./pics:/opt/pics + - ./exhaust:/opt/exhaust + ports: + - 127.0.0.1:3333:3333 \ No newline at end of file