feat(mini-c): connectivity probe core with unit tests
Adds the pure/core probe logic for the standalone C client (hbc_mini.c): gateway text parsers for /proc/net/route, /proc/net/ipv6_route and BSD `route -n get`, a ping-output RTT parser, and the probe_step state machine (probe_t/probe_fam_t/probe_ops_t) plus probe_flags and probe_metric_json. config_t gains probe_enabled/probe_interval/probe_v4/probe_v6. Temporary stub functions (sys_local_address, sys_ping, sys_gateway, mono_ts) stand in for real syscalls until Task 4 wires them into main(). New scripts/c/test_probe.c test harness (#include's hbc_mini.c with main renamed out of the way) plus a `make test` target; scripts/c/.gitignore now ignores the test_probe binary. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Uc9V1v7iXruubpoLiSE24M
This commit is contained in:
+8
-2
@@ -7,7 +7,7 @@ SRC = hbc_mini.c
|
||||
# FreeBSD/NetBSD keep zlib in base; no extra flags needed.
|
||||
# On some NetBSD installs pthreads may need -lpthread from pkgsrc.
|
||||
|
||||
.PHONY: all clean debug
|
||||
.PHONY: all clean debug test
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
@@ -17,5 +17,11 @@ $(TARGET): $(SRC)
|
||||
debug: $(SRC)
|
||||
$(CC) -g -fsanitize=address,undefined -o $(TARGET)_dbg $< $(LDFLAGS)
|
||||
|
||||
test: test_probe
|
||||
./test_probe
|
||||
|
||||
test_probe: test_probe.c $(SRC)
|
||||
$(CC) $(CFLAGS) -o $@ test_probe.c $(LDFLAGS)
|
||||
|
||||
clean:
|
||||
rm -f $(TARGET) $(TARGET)_dbg
|
||||
rm -f $(TARGET) $(TARGET)_dbg test_probe
|
||||
|
||||
Reference in New Issue
Block a user