From ba153babde4c63a917e93e049b6e893f13ef89f6 Mon Sep 17 00:00:00 2001 From: Tam Nguyen Duc <1218621+tamnd@users.noreply.github.com> Date: Sat, 22 Aug 2026 22:40:35 +0700 Subject: [PATCH] score zu-c for misuse tamnd/zu-c#7 put a C test harness and a fifteen case misuse suite in the repository that had, until now, no C tests at all. The row goes 22 to 39 of the 90 it owes. Worth saying why that was the shape of the work rather than a file of new cases. The wrapper is header-only, so a C++ test reaches the ABI through it, and every promise the wrapper keeps for a caller is one the suite had never asked the ABI to keep. Most of the misuse item is in that gap: a destructor does not run twice, a zu::Connection has no null state to pass, a Result cannot outlive its Connection by accident. Two findings out of it, both filed: the progress watcher may call zu_conn_rows_read though the header says only zu_conn_interrupt crosses threads, which is #618, and a bad path answers ZU_CORRUPT or ZU_IO rather than the ZU_ERROR I had reported on #614. --- clients.toml | 2 +- docs/clients/overview.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/clients.toml b/clients.toml index 7d029173..db4532af 100644 --- a/clients.toml +++ b/clients.toml @@ -166,7 +166,7 @@ package = "zu" registry = "vcpkg and Conan" maintainer = "Tam Nguyen Duc <@tamnd>" tier = 1 -holds = ["quickstart", "conditions"] +holds = ["quickstart", "conditions", "misuse"] doc = "The developer kit for the ABI itself: examples, the header-only C++ wrapper, the packaging and the sanitizer suites. It owes no api-map, because the C names are zu.h and zu.h is generated in the engine." [[client]] diff --git a/docs/clients/overview.md b/docs/clients/overview.md index 773c1e8e..0473ca33 100644 --- a/docs/clients/overview.md +++ b/docs/clients/overview.md @@ -53,7 +53,7 @@ The practice score, today, out of what the client's tier asks for. What is missi | [zu-node](https://github.com/tamnd/zu-node) | 1 | 90 | 90 | `api-map`, `perf` | | [zu-go](https://github.com/tamnd/zu-go) | 1 | 90 | 90 | `api-map`, `perf` | | [zu-java](https://github.com/tamnd/zu-java) | 1 | 90 | 90 | `api-map`, `perf` | -| [zu-c](https://github.com/tamnd/zu-c) | 1 | 22 | 90 | `reference`, `idiom`, `misuse`, `leaks`, `install`, `stability` | +| [zu-c](https://github.com/tamnd/zu-c) | 1 | 39 | 90 | `reference`, `idiom`, `leaks`, `install`, `stability` | | [zu-dotnet](https://github.com/tamnd/zu-dotnet) | 2 | 0 | 75 | `quickstart`, `reference`, `idiom`, `conditions`, `misuse`, `leaks`, `install`, `stability`, `api-map`, `perf` | | [zu-kit](https://github.com/tamnd/zu-kit) | 3 | 0 | 50 | `quickstart`, `reference`, `idiom`, `conditions`, `misuse`, `leaks`, `install`, `stability` |