|
Some checks are pending
CodeCoverage / lib unit test (push) Waiting to run
CodeCoverage / g3mkcert test (push) Waiting to run
CodeCoverage / g3keymess test (push) Waiting to run
CodeCoverage / g3proxy test (push) Waiting to run
CodeCoverage / g3bench test (push) Waiting to run
CodeCoverage / g3statsd test (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (java-kotlin) (push) Waiting to run
CodeQL Advanced / Analyze (python) (push) Waiting to run
CodeQL Advanced / Analyze (rust) (push) Waiting to run
CrossCompiling / Build (push) Waiting to run
Linux-CI / Build (push) Waiting to run
Linux-CI / Clippy (push) Waiting to run
Linux-CI / Build vendored (push) Waiting to run
Linux-CI / Build with OpenSSL Async Job (push) Waiting to run
MacOS-CI / Build vendored (push) Waiting to run
StaticLinking / musl (push) Waiting to run
StaticLinking / msvc (push) Waiting to run
Windows-CI / Build (push) Waiting to run
Windows-CI / Build vendored (push) Waiting to run
MacOS-CI / Build (push) Waiting to run
|
||
|---|---|---|
| .. | ||
| .gitignore | ||
| dnsmasq.conf | ||
| g3proxy.yaml | ||
| g3statsd.yaml | ||
| mkcert.sh | ||
| nginx.conf | ||
| README.md | ||
| run.sh | ||
| target_dns.sh | ||
| target_h1.sh | ||
| target_h2.sh | ||
| target_keyless_openssl.sh | ||
| target_openssl.sh | ||
| target_rustls.sh | ||
| target_thrift_tcp.sh | ||
Setup for g3bench coverage tests
Install Required Tools
We use the following tools in the coverage scripts:
docker
We use docker containers to run various target services, i.e. httpbin.
Install on Debian:
apt install docker.io
dnsmasq
We use dnsmasq to add local dns records, and also use it as the target dns server.
You have 2 choices to run dnsmasq:
-
NetworkManager Plugin
If you have enabled dnsmasq plugin in NetworkManager, then there is nothing to do. The conf directory will be /etc/NetworkManager/dnsmasq.d/.
-
Standalone dnsmasq Service
If not, you have to install dnsmasq as a standalone service. The conf directory will be /etc/dnsmasq.d/.
Install on Debian:
apt install dnsmasq
Setup local DNS
Save the following conf file to dnsmasq.d/g3proxy-ci.conf:
address=/httpbin.local/127.0.0.1
address=/g3proxy.local/127.0.0.1
Then restart NetworkManager or dnsmasq which should respawn the real dnsmasq process.
Run the Docker Containers
httpbin
docker run -p 127.0.0.1:80:80 -d --name httpbin kennethreitz/httpbin
influxdb
-
Run the container
docker pull influxdb:3-core docker run -p 127.0.0.1:8181:8181 --rm influxdb:3-core --node-id local --object-store=memory -
Create the auth token
curl -X POST http://127.0.0.1:8181/api/v3/configure/token/admin | jq ".token" -r -
Export the auth token as variable
INFLUXDB3_AUTH_TOKEN.
graphite
docker pull graphiteapp/graphite-statsd:latest
docker run -p 127.0.0.1:2003:2003 --rm graphiteapp/graphite-statsd