Add regression tests for issues #80, #95, #98, #102#185
Merged
Conversation
Adds four small JUnit tests proposed in the verification plan section of docs/history/49be664_open_issues.md to upgrade the corresponding upstream issues from LIKELY FIXED to FIXED: - MemoryManagementTest#testOpenCloseLoopDoesNotLeak (#102) - 20-iteration open/close loop; on Linux asserts VmRSS delta < 200 MB. Degenerates to a no-crash smoke test on non-Linux hosts where /proc/self/status is absent. - MemoryManagementTest#testOpenCloseWithoutGeneration (#80) - 20 open + immediate close without any generation, exercises the half-initialised worker race closed by the double server.terminate() in jllama.cpp. - LlamaModelTest#testIteratorTerminatesOnRepetitivePrompt (#95) - asserts the iterator terminates within nPredict+1 steps on a deliberately repetitive prompt. - LlamaEmbeddingsTest#testNomicEmbedLoads (#98) - gated on system property net.ladenthin.llama.nomic.path; reproduces the reporter's batch/ubatch config plus the fix (enableEmbedding()), and asserts a 768-dim vector for nomic-embed-text-v1.5. Wires up the optional nomic GGUF download in the linux-x86_64 Java test job in .github/workflows/publish.yml. Other test jobs cleanly self-skip via Assume because the system property is unset. Documents the local native-build workflow in CLAUDE.md - per-host output paths, mvn-cmake handoff, optional model handling, and the restricted-network caveat for environments that block huggingface.co. https://claude.ai/code/session_01LR7Gw1pyKS7wvxXfZjnxNW
Updates docs/history/49be664_open_issues.md to reflect that the four JUnit regression tests called for in the verification plan have been added on this branch: - Deep-dive verdict guide now lists each test name and self-skip behaviour next to its issue bullet - Per-issue Status blocks for #80, #95, #98, #102 annotated as "LIKELY FIXED -> FIXED on CI green" with the covering test - Status overview table rows for the same four issues updated - "What the original issues actually contain" feasibility table marks all four as DONE with the commit reference - "Concrete test plan" gains a status callout noting the as-shipped implementation matches the sketches - "Recommended sequencing" step 1 marked DONE and enumerates what shipped; remaining steps (#86 docs, #103/#34 typed image API, Android emulator CI) carried forward as the next deliverables No code or behaviour change, documentation only. https://claude.ai/code/session_01LR7Gw1pyKS7wvxXfZjnxNW
|
5 tasks
bernardladenthin
added a commit
that referenced
this pull request
May 22, 2026
* docs: mark #80/#95/#98/#102 as FIXED now that PR #185 is merged PR #185 (commit cba693c) merged the four regression tests sketched in the 49be664 open-issues verification plan. Update the per-issue blocks, the status overview table, the top-level deep-dive verdict guide, and the recommended-sequencing section to reflect that #80, #95, #98 and #102 are now FIXED (no longer "LIKELY FIXED → FIXED on CI green"). https://claude.ai/code/session_01R3jVWHsB3zymwAQtj8GT43 * docs: add README "Choosing the right classifier" section Closes the documentation gap for issue #86 (does the CUDA jar fall back to CPU?) and the 32-bit Android tail of #121 (armeabi-v7a not published). The new section enumerates the three published classifiers (default CPU, cuda13-linux-x86-64, opencl-android-aarch64), their backends, target platforms, and runtime requirements. It explicitly states that the CUDA JAR is CUDA-only at runtime — it dlopens libcudart.so.13/libcublas.so.13 and has no automatic CPU fallback — and that Android armeabi-v7a is not shipped as a released artifact. Updates docs/history/49be664_open_issues.md to mark #86 as FIXED-AS-DOCUMENTED and #121 as FIXED (64-bit) with the 32-bit limitation now documented. https://claude.ai/code/session_01R3jVWHsB3zymwAQtj8GT43 --------- Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
docs/history/49be664_open_issues.mdto reflect test coverage and upgrade verdicts from LIKELY FIXED → FIXED (pending CI green).github/workflows/publish.ymlto downloadnomic-embed-text-v1.5.f16.gguffor embedding test on linux-x86_64CLAUDE.mdsection documenting local Java test build workflow and optional model propertiesChanges
New regression tests (commit
713d426):MemoryManagementTest#testOpenCloseLoopDoesNotLeak— 20-iteration open/close loop; asserts VmRSS growth < 200 MB on Linux (smoke test on other platforms). Covers issue Upgrade to llama.cpp b9022: vision, reasoning, and speculative decoding fixes #102.MemoryManagementTest#testOpenCloseWithoutGeneration— 20 open + immediate-close cycles without generation; guards against half-initialized-race segfault. Covers issue Replace collect_and_serialize with dispatch_and_collect #80.LlamaEmbeddingsTest#testNomicEmbedLoads— loadsnomic-embed-text-v1.5.f16.ggufwithenableEmbedding()and asserts 768-dim output. Gated onnet.ladenthin.llama.nomic.pathproperty. Covers issue docs: add 49be664_24918e4.md — full project analysis from baseline to HEAD #98.LlamaModelTest#testIteratorTerminatesOnRepetitivePrompt— drives iterator with repetitive prompt atnPredict=30, asserts termination withinnPredict+1outputs. Covers issue Claude/update b8913 compatibility eq8 n8 #95.Documentation updates:
docs/history/49be664_open_issues.md: Updated issue summaries to reference test names and commit713d426; updated bottom-line summary and status table to reflect "LIKELY FIXED → FIXED on CI green" verdicts.CLAUDE.md: Added "Building the native library for local Java tests" section with platform-specific library paths, end-to-end workflow, and optional model property table.TestConstants.java: AddedPROP_NOMIC_MODEL_PATHandNOMIC_EMBED_DIMconstants.CI integration:
.github/workflows/publish.yml: AddedNOMIC_EMBED_MODEL_URLandNOMIC_EMBED_MODEL_NAMEenv vars; linux-x86_64 Java test job downloads the model and passes-Dnet.ladenthin.llama.nomic.path=…tomvn test.Test plan
Related issues / PRs
Closes #80, #95, #98, #102 (pending first green CI run)
Checklist
CONTRIBUTING.mdandCODE_OF_CONDUCT.mdhttps://claude.ai/code/session_01LR7Gw1pyKS7wvxXfZjnxNW