-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjustfile
More file actions
73 lines (58 loc) · 1.97 KB
/
Copy pathjustfile
File metadata and controls
73 lines (58 loc) · 1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# syncthing-rust justfile — common development commands
# Default recipe: show help
_default:
@just --list
# Run all checks (fmt, clippy, test, doc, audit)
check:
cargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings -W clippy::await_holding_lock
cargo test --workspace
cargo doc --no-deps --workspace
cargo audit
# Run tests only
test:
cargo test --workspace
# Run clippy only
clippy:
cargo clippy --workspace --all-targets -- -D warnings -W clippy::await_holding_lock
# Run cargo-deny
deny:
cargo deny check all
# Run tests with all features enabled
test-all-features:
cargo test --workspace --all-features
# Run bench smoke test (compile + short run)
bench-smoke:
cargo bench --no-run --workspace
cargo bench -p syncthing-fs --bench scanner -- \
--warm-up-time 1 --measurement-time 1 --sample-size 10
cargo bench -p syncthing-sync --bench puller -- \
--warm-up-time 1 --measurement-time 1 --sample-size 10
cargo bench -p bep-protocol --bench encode_decode -- \
--warm-up-time 1 --measurement-time 1 --sample-size 10
# Run E2E sync test
e2e:
cargo test --release -p syncthing --test e2e_sync
# Check release build compiles
release-check:
cargo check --release --workspace
# Format all code
fmt:
cargo fmt --all
# Generate documentation
doc:
cargo doc --no-deps --workspace
# Build all release binaries needed for stress testing
build-release:
cargo build --release --bin syncthing
cargo build --release --bin syncthing-cli
cargo build --release --bin syncthing-monitor
# Start two-node real-network stress test (Windows side)
two-node-test remote-peer duration="72h":
powershell -ExecutionPolicy Bypass -File scripts/two-node-real-network-test.ps1 -RemotePeer {{remote-peer}} -Duration {{duration}}
# Stop two-node test
stop-two-node-test:
powershell -ExecutionPolicy Bypass -File scripts/stop-two-node-test.ps1
# Clean build artifacts
clean:
cargo clean