test: add BATS test suite (79 tests)
- tests/common.bats: PROJECT_ROOT detection, is_cmd, timestamp, data_dir,
logging functions, color handling, require_root
- tests/detect.bats: GPU sysfs reads with mock sysfs tree, kernel param
parsing (word boundary, dot escaping, edge positions), recommended
GTT/pages computation (64GB, 128GB, tiny, zero), firmware bad detection,
stack detection
- tests/format.bats: human_bytes (0, KiB, MiB, GiB boundaries, 64GiB),
human_mib (sub-GiB, exact-GiB, recommended values, empty input)
- tests/benchmark_compare.bats: improvement/regression display, empty
results, missing files, usage output, config change detection
- tests/log_metrics.bats: CSV header, data format, field count, input
validation, unknown argument handling
- tests/test_helper.sh: mock sysfs tree builder, bats-assert/support setup
Makefile: add 'make test' target
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>