Skip to content

Added test cases for hyperf-engine. #1841

Added test cases for hyperf-engine.

Added test cases for hyperf-engine. #1841

Workflow file for this run

name: Core Tests
on: [ push, pull_request ]
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
jobs:
ubuntu:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '--filter=') || contains(github.event.head_commit.message, '[core]')"
timeout-minutes: 12
services:
tinyproxy:
image: "vimagick/tinyproxy"
ports:
- 8888:8888
nginx:
image: "nginx"
ports:
- "80:80"
env:
NGINX_PORT: "[::]:80"
socks5:
image: "xkuma/socks5"
ports:
- 8080:1080
env:
PROXY_USER: user
PROXY_PASSWORD: password
PROXY_SERVER: 0.0.0.0:1080
socks5-no-auth:
image: "xkuma/socks5"
ports:
- 8081:1080
env:
PROXY_SERVER: 0.0.0.0:1080
steps:
- uses: actions/checkout@v5
- name: install dependencies
run: sudo apt update -y && sudo apt install -y googletest libgtest-dev libnghttp2-dev libboost-stacktrace-dev libbrotli-dev redis-server nodejs npm nghttp2-client liburing-dev
- name: configure
run: phpize && ./configure --enable-sockets --enable-mysqlnd --enable-openssl --enable-iouring
- name: build
run: |
cmake . -D CODE_COVERAGE=ON -D enable_thread=1 -D verbose=1 -D async_io=1 || exit 1
make VERBOSE=1 -j $(nproc) core-tests || exit 1
- name: run tests
run: |
./run-core-tests.sh
- name: run coverage
shell: bash
run: sudo apt-get install lcov &&
sudo lcov --directory . --capture --branch-coverage --rc geninfo_unexecuted_blocks=1 --ignore-errors mismatch --output-file coverage.info &&
sudo lcov --remove coverage.info '/usr/*' --output-file coverage.info &&
sudo lcov --list coverage.info
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.info
fail_ci_if_error: true