Files
obitools4/autodoc/docmd/pkg/obiutils/xopen_test.md
T
Eric Coissac 8c7017a99d ⬆️ version bump to v4.5
- Update obioptions.Version from "Release 4.4.29" to "/v/ Release v5"
- Update version.txt from 4.29 → .30
(automated by Makefile)
2026-04-13 13:34:53 +02:00

1.0 KiB

obiutils Package: Semantic Overview

The xopen.go test suite (via GoCheck) validates utility functions for flexible file/stream I/O in Go. Key features:

  • IsGzip(): Detects gzip compression by inspecting the first two bytes (0x1f 0x8b) of a bufio.Reader.
  • Ropen(): Unified reader opener supporting:
    • Local files (plain or .gz)
    • Standard input ("-") — note: currently unimplemented in tests
    • HTTP(S) URLs (via net/http)
  • Wopen(): Unified writer opener for:
    • Local files (".gz" triggers gzip compression)
    • Standard output via "-"
  • Exists(): Checks file/directory existence (supports ~ expansion).
  • ExpandUser(): Expands shell-like paths (~/...) to absolute ones.
  • Tested robustness:
    • Handles missing files, invalid URLs (404), and malformed paths.
    • Validates gzip detection accuracy on both plain and compressed data.

All operations abstract away compression/format details, enabling uniform read/write semantics across local files, pipes (commented out), and remote HTTP resources.