Skip to content

Commit 88dd45a

Browse files
committed
add ISO documentation
1 parent 4b1db79 commit 88dd45a

23 files changed

+1119
-867
lines changed

.github/workflows/ci.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: ci
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
build-test:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
- uses: actions/setup-python@v5
13+
with:
14+
python-version: "3.11"
15+
- uses: actions/setup-node@v4
16+
with:
17+
node-version: "18"
18+
- name: Install deps
19+
run: |
20+
sudo apt-get update
21+
sudo apt-get install -y cmake ninja-build gcovr
22+
python -m pip install --upgrade pip
23+
python -m pip install uv
24+
- name: Build
25+
run: python bridge.py build
26+
- name: Unit tests
27+
run: python bridge.py test unit
28+
29+
sanitizers:
30+
runs-on: ubuntu-latest
31+
steps:
32+
- uses: actions/checkout@v4
33+
- name: Install deps
34+
run: |
35+
sudo apt-get update
36+
sudo apt-get install -y cmake ninja-build
37+
- name: Run sanitizer suite
38+
env:
39+
DATA_BRIDGE_SANITIZERS: address,undefined
40+
run: bash scripts/run_sanitizers.sh
41+
42+
coverage:
43+
runs-on: ubuntu-latest
44+
steps:
45+
- uses: actions/checkout@v4
46+
- name: Install deps
47+
run: |
48+
sudo apt-get update
49+
sudo apt-get install -y cmake ninja-build gcovr
50+
- name: Coverage
51+
run: bash scripts/run_coverage.sh
52+
53+
fuzz:
54+
runs-on: ubuntu-latest
55+
steps:
56+
- uses: actions/checkout@v4
57+
- name: Install deps
58+
run: |
59+
sudo apt-get update
60+
sudo apt-get install -y cmake ninja-build clang
61+
- name: Fuzz packet
62+
env:
63+
CC: clang
64+
CXX: clang++
65+
run: bash scripts/run_fuzz.sh

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@ DATA_BRIDGE_SANITIZERS=thread uv run python bridge.py build
8484
python scripts/collect_artifacts.py
8585
```
8686

87+
### CI
88+
The default CI workflow runs build/unit tests, sanitizers, coverage, and fuzzing on Linux.
89+
8790
## Testing & Verification
8891

8992
The project includes a universal CLI tool `bridge.py` to manage builds and tests.

bindings/node/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"prebuild": "cmake-js compile -O prebuilds/$(node -p \"process.platform + '-' + process.arch\")",
2121
"prepack": "node scripts/copy_deps.js && npm run build:ts",
2222
"prepublishOnly": "npm run build:ts",
23-
"test": "vitest run",
23+
"test": "VITE_CJS_IGNORE_WARNING=1 vitest run",
2424
"clean": "cmake-js clean && rm -rf dist prebuilds deps"
2525
},
2626
"files": [
@@ -75,4 +75,4 @@
7575
"napi"
7676
],
7777
"license": "MIT"
78-
}
78+
}

bindings/python/tests/test_retry.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def test_databridge_retries_until_ack():
5050
bridge = data_bridge.DataBridge(serial=serial)
5151
assert bridge.open("/dev/test")
5252

53-
bridge.send("Retry", ack_timeout_ms=5, max_retries=2, fragment_size=64)
53+
bridge.send("Retry", ack_timeout_ms=50, max_retries=3, fragment_size=64)
5454

5555
assert len(serial._write_log) >= 2
5656
bridge.close()

0 commit comments

Comments
 (0)