dectestconv

command
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 10, 2026 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Overview

Command dectestconv runs the decTest corpus workflow: provisioning, conversion and classification of the General Decimal Arithmetic testcases.

Provisioning (-provision) downloads the corpus from the speleotrove URLs listed in the committed download list (testdata/dectest/downloads.txt) into a gitignored local directory (.cache/dectest) and SHA-256-verifies every file against it. Download unavailability, a hash or size mismatch, or zero matched files is a loud failure, never a skip; already-present files with matching hashes are reused (idempotent local runs).

Conversion (-convert) parses .decTest text into the internal fixture representation and validates every case against the hand-maintained adoption manifest (testdata/dectest/manifest.json): each committed case id must be present with an exactly matching content hash, and the manifest may not reference cases the file does not contain. Corpus bytes never enter the tree; committed fixtures carry provenance, and the five-class deviation taxonomy (adopted, intentional-exclusion, divergence-re-derived, corpus-beta, defect) is enforced by the manifest schema.

The per-case content hash is defined as

sha256(join("\x1f", [id, op, directives, operands, expected, conditions]))

where directives joins "key=value" pairs in the fixed order version, precision, rounding, maxexponent, minexponent, extended, clamp (lowercase keys, absent keys omitted), operands joins with "\x1e", and conditions join with "," in file order.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL