lib/test: Go external-test packages (<mod>_test); retire decimaltest (#16 PREP-a)
30 lib test files: package <mod> -> <mod>_test, the sanctioned Go-over-Hare departure (CLAUDE.md rule-9 carve-out; white-box testing deferred, not forbidden). decimaltest retired per .ai/rob-16-decimaltest-ruling.md: Hare ships no decimal_test.ha (engine covered transitively); coverage migrated losslessly into stoftest rows (all-9s carry, nd>19 pure-decimal) + ftostest f64_roundtrip mirroring ref/hare strconv ftos_test.ha tcsf64; k=0 micro-gap documented at site. regex_test keeps its white-box internal probes under a documented rule-7 divergence (rehome = task #9). 922_decimal_run + its 989 byte-id row removed with the fixture.
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
// DIRECTORY (full package: strconv.ww + decimal.ww + stof_data.ww +
|
||||
// stof.ww), not the strconv.ww FILE — same rationale as decimaltest.
|
||||
|
||||
package strconv;
|
||||
package strconv_test;
|
||||
|
||||
import strconv;
|
||||
import os;
|
||||
@@ -123,6 +123,18 @@ fn nan32(s: str) bool = {
|
||||
if (!chk64("-1e-324", base.DEC, nzero)) { fail(); };
|
||||
if (!chk64("5e-324", base.DEC, subn)) { fail(); };
|
||||
|
||||
// Decimal-engine edge probes migrated here when the white-box
|
||||
// decimaltest.ww retired (#16): the external-test idiom can't reach
|
||||
// strconv's unexported decimal fns, so these two black-box rows pin
|
||||
// the only edges not already guaranteed transitively. C1: all-9s
|
||||
// round-up carry + decimal_round dp>18 boundary. C2: nd>19 skips
|
||||
// eisel-lemire, forcing the pure-decimal slow path (extra trim).
|
||||
// Micro-gap (rule-7, honest): decimal_shift's k=0 early-return no-op
|
||||
// is a trivial guard, not reached transitively by any slow-path input
|
||||
// — consciously un-migrated, not silently dropped.
|
||||
if (!chk64("9999999999999999", base.DEC, 1.0e16)) { fail(); };
|
||||
if (!chk64("100000000000000000001", base.DEC, 1.0e20)) { fail(); };
|
||||
|
||||
if (inv64("") != 0) { fail(); };
|
||||
if (inv64("0ZO") != 1) { fail(); };
|
||||
if (inv64("1.23ezz") != 5) { fail(); };
|
||||
|
||||
Reference in New Issue
Block a user