add documentation for error returned by ParseRequest, use it in tests #112
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: [push, pull_request] | |
jobs: | |
unit: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ "ubuntu" ] | |
go: [ "1.22.x", "1.23.x" ] | |
runs-on: ${{ fromJSON(vars[format('INTEGRATION_RUNNER_{0}', matrix.os)] || format('"{0}-latest"', matrix.os)) }} | |
name: Integration tests (${{ matrix.os}}, Go ${{ matrix.go }}) | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Set working directory | |
working-directory: integration | |
run: go version | |
- name: Run unit tests | |
working-directory: integration | |
run: go test ./... | |
- name: Build Docker images | |
working-directory: integration | |
env: | |
RACE: true | |
run: make build | |
- name: Run ping test | |
working-directory: integration | |
run: | | |
make ping || status=$? | |
make target=logs_ping copylogs | |
exit $status | |
- name: Run ping test on IPv6 | |
working-directory: integration | |
if: success() || failure() # run this step even if the previous one failed | |
run: | | |
make pingv6 || status=$? | |
make target=logs_pingv6 copylogs | |
exit $status | |
- name: Run HTTP test | |
working-directory: integration | |
if: success() || failure() # run this step even if the previous one failed | |
run: | | |
make http || status=$? | |
make target=logs_http copylogs | |
exit $status | |
- name: Run HTTP test on IPv6 | |
working-directory: integration | |
if: success() || failure() # run this step even if the previous one failed | |
run: | | |
make httpv6 || status=$? | |
make target=logs_httpv6 copylogs | |
exit $status | |
- name: Run HTTP/3 test | |
working-directory: integration | |
if: success() || failure() # run this step even if the previous one failed | |
run: | | |
make http3 || status=$? | |
make target=logs_http3 copylogs | |
exit $status | |
- name: Run HTTP/3 test on IPv6 | |
working-directory: integration | |
if: success() || failure() # run this step even if the previous one failed | |
run: | | |
make http3v6 || status=$? | |
make target=logs_http3v6 copylogs | |
exit $status | |
- name: Run IP protocol filter test | |
working-directory: integration | |
if: success() || failure() # run this step even if the previous one failed | |
run: | | |
make filtertcp || status=$? | |
make target=logs_filtertcp copylogs | |
exit $status | |
- name: Run IP protocol filter test on IPv6 | |
working-directory: integration | |
if: success() || failure() # run this step even if the previous one failed | |
run: | | |
make filtertcpv6 || status=$? | |
make target=logs_filtertcpv6 copylogs | |
exit $status | |
- name: Run file transfer test | |
working-directory: integration | |
if: success() || failure() # run this step even if the previous one failed | |
run: | | |
make filetransfer || status=$? | |
make target=logs_filetransfer copylogs | |
exit $status | |
- name: Run file transfertest on IPv6 | |
working-directory: integration | |
if: success() || failure() # run this step even if the previous one failed | |
run: | | |
make filetransferv6 || status=$? | |
make target=logs_filetransferv6 copylogs | |
exit $status | |
- name: Save logs | |
uses: actions/upload-artifact@v4 | |
if: success() || failure() # run this step even if the previous one failed | |
with: | |
name: logs_go${{ matrix.go }}_${{ github.run_id }} | |
path: | | |
integration/logs_ping | |
integration/logs_pingv6 | |
integration/logs_http | |
integration/logs_httpv6 | |
integration/logs_http3 | |
integration/logs_http3v6 | |
integration/logs_filtertcp | |
integration/logs_filtertcpv6 | |
integration/logs_filetransfer | |
integration/logs_filetransferv6 |