libc6 Validation
Port unavailable for safelibs/port-libc6: GitHub API request failed for https://api.github.com/repos/safelibs/port-libc6/releases/latest: HTTP 404
Tests
glibc dynamic loader symbol Original / libc6 / dlopen-libm-symbol Passed
glibc getaddrinfo localhost Original / libc6 / getaddrinfo-localhost Passed
glibc locale collation Original / libc6 / locale-collation Passed
glibc pthread join Original / libc6 / pthread-thread-join Passed
glibc stdio string conversion Original / libc6 / stdio-string-conversion Passed
bash arithmetic less-than compare Original / libc6 / usage-bash-arith-compare-lt Passed
bash array expansion Original / libc6 / usage-bash-array-expansion Passed
bash array length Original / libc6 / usage-bash-array-length Passed
bash associative array via declare -A Original / libc6 / usage-bash-assoc-array-declare Passed
Builds a bash associative array using declare -A, populates entries, and verifies indexed lookups and the keys-listing expansion.
bash printf %(format)T uses strftime via libc Original / libc6 / usage-bash-batch12-printf-strftime-iso-time Passed
Uses bash's printf %(format)T to render a fixed epoch via libc strftime in UTC and verifies the formatted output equals the expected ISO 8601 string.
bash brace expansion Original / libc6 / usage-bash-brace-expansion Passed
Expands a comma-separated brace list with bash and verifies each generated token appears in the output.
bash parameter case conversion Original / libc6 / usage-bash-case-conversion Passed
Exercises ${var^^} upper-case and ${var,,} lower-case parameter expansions and validates exact results.
bash case dispatch Original / libc6 / usage-bash-case-switch Passed
bash compgen -c command listing Original / libc6 / usage-bash-compgen-command-listing Passed
Uses bash compgen -c to list available commands and verifies common builtins/utilities are present.
bash getopts builtin flag parsing Original / libc6 / usage-bash-getopts-flags Passed
Drives the bash getopts builtin through a short-option string with an argument-bearing flag and a boolean flag, asserting OPTIND advances correctly.
bash here string Original / libc6 / usage-bash-here-string Passed
bash mapfile reads file into array Original / libc6 / usage-bash-mapfile-array Passed
bash parameter trim Original / libc6 / usage-bash-parameter-trim Passed
bash parameter expansion default value Original / libc6 / usage-bash-paramexp-default Passed
Exercises ${var:-default} and ${var:=default} parameter expansion forms to verify libc-backed string substitution semantics on unset and empty variables.
bash parameter expansion global replace Original / libc6 / usage-bash-paramexp-replace Passed
Uses ${var//pattern/repl} to globally replace a substring in a bash variable and verifies the rewritten value byte-for-byte.
bash printf hex format Original / libc6 / usage-bash-printf-hex-format Passed
Formats an integer as hexadecimal with bash printf and verifies the lowercase ff representation.
bash printf quoted shell escape Original / libc6 / usage-bash-printf-quoted-shell Passed
Uses bash printf %q to escape a string with whitespace and special characters and verifies the shell-safe form.
bash printf time format directive Original / libc6 / usage-bash-printf-time-format Passed
Formats a fixed epoch timestamp with the bash printf %(...)T directive in UTC and verifies the rendered date.
bash printf -v variable assignment Original / libc6 / usage-bash-printf-var Passed
Uses bash printf -v to assign a formatted integer into a named variable and verifies the exact rendered text.
bash globstar ** descends through subdirectories via libc readdir Original / libc6 / usage-bash-r10-globstar-recursive-glob Passed
Enables shopt -s globstar and verifies the ** pattern enumerates files at multiple depths in a fixture tree, exercising bash's libc readdir/opendir-backed glob expansion.
bash printf %q escapes shell metacharacters via libc string handling Original / libc6 / usage-bash-r11-printf-pct-q-shell-quote Passed
Uses bash builtin printf %q to shell-quote a string containing spaces single-quotes and dollar signs and verifies the result re-evaluates to the original via eval, exercising bash quoting that goes through libc string routines.
bash printf %*d takes width from argument list via libc Original / libc6 / usage-bash-r12-printf-asterisk-width Passed
Uses bash builtin printf with %*d to read the field width dynamically from the next argument and verifies the produced string is right-justified in a 6-column field via libc.
bash printf %08x zero-pads hex output via libc snprintf Original / libc6 / usage-bash-r12-printf-hex-format-padded Passed
Uses bash builtin printf to format an integer as zero-padded 8-digit hex via libc snprintf and asserts the exact lowercase output for 255 and 4096.
bash read -d '' loads NUL-delimited records via libc read Original / libc6 / usage-bash-r13-read-d-delim-into-array Passed
Builds a NUL-delimited stream of three records, uses bash read -d '' in a while loop to consume them via libc read into an array, and asserts the array length and contents are exact.
bash printf -v writes formatted output to a named variable Original / libc6 / usage-bash-r14-printf-v-assigns-variable Passed
Uses printf -v to assign a formatted string with width and zero-padding directly into a shell variable (no fork, no temporary file), and asserts the variable holds the expected libc-formatted bytes byte-for-byte.
bash readarray -n N reads at most N lines from a longer input Original / libc6 / usage-bash-r14-readarray-n-limit Passed
Writes a six-line input file, runs readarray -t -n 3 to load only the first three lines into an array via libc-backed read, asserts the array has exactly three elements with the expected values, and asserts the file still has six lines on disk to confirm only the array was bounded.
bash printf %q quotes a string with shell metacharacters into a re-parseable form Original / libc6 / usage-bash-r15-printf-q-shell-quote-roundtrip Passed
Uses bash printf %q to quote a string containing spaces, single quotes, and a dollar sign into a shell-safe representation, asserts the encoded form differs from the input, and round-trips it back to the original byte-for-byte by feeding the encoded form to eval as a single-word echo argument.
bash shopt -s extglob enables !(...) negation pattern in pathname expansion Original / libc6 / usage-bash-r15-shopt-extglob-negation Passed
Enables the extglob shell option, builds a directory of three files (a.txt, b.txt, c.log), runs an extglob !(*.log) pathname expansion under LC_ALL=C, sorts the result and asserts only a.txt and b.txt are matched (the .log file excluded) — exercising bash's libc-backed glob with extended-glob semantics.
bash ${VAR:-default} expands to default when variable is empty Original / libc6 / usage-bash-r16-paramexp-default-empty-var Passed
Sets a variable to the empty string and asserts the ${VAR:-default} parameter expansion form yields the default value, locking in the ":-" operator behavior against an empty-but-set variable — distinct from the unset-variable path.
bash printf "%(%Y)T" -1 prints a four-digit current-year-shaped string Original / libc6 / usage-bash-r16-printf-percent-y-current-year-shape Passed
Invokes bash's printf strftime conversion with -1 (now) using "%(%Y)T" and asserts the result is exactly four ASCII digits, locking in GNU printf's strftime format integration without committing to a specific year.
bash associative array stores and retrieves a key-value pair Original / libc6 / usage-bash-r17-assoc-array-roundtrip Passed
Declares an associative array via declare -A, assigns a value under a string key, and asserts the indexed read returns the original value byte-for-byte, locking in the bash 5.x associative-array surface on noble.
bash printf "%05d" zero-pads a small integer to width five Original / libc6 / usage-bash-r18-printf-percent-d-padding Passed
Invokes bash printf with format specifier "%05d" and argument 42, then asserts the captured output equals "00042" — locking in libc-backed integer padding in the bash builtin printf.
bash printf "%x" renders a small integer as lowercase hex without leading zero Original / libc6 / usage-bash-r19-printf-percent-x-hex Passed
Invokes bash printf with format specifier "%x" and argument 255, then asserts the captured output equals the string "ff" - locking in libc-backed lowercase hex conversion via the bash builtin printf.
bash printf "%o" renders decimal 8 as octal "10" Original / libc6 / usage-bash-r20-printf-percent-o-octal Passed
Invokes bash printf with format specifier "%o" and decimal argument 8, then asserts the captured output equals the string "10" - locking in libc-backed octal conversion via the bash builtin printf.
bash ${!name} indirect expansion resolves a variable by name Original / libc6 / usage-bash-r21-indirect-expansion-resolves-var Passed
Sets variable foo=bar and pointer=foo, then asserts ${!pointer} expands to "bar" - locking in the bash indirect-variable-reference operator, a code path not exercised by existing param-expansion tests (default/replace/trim).
bash mapfile -t reads four lines into an array of length 4 Original / libc6 / usage-bash-r21-mapfile-c-callback-counts Passed
Pipes a four-line heredoc into bash mapfile -t and asserts the resulting array length is exactly 4 and the third element equals "gamma" - locking in the line-stripping (-t) and array-size contract of mapfile distinct from existing -d and -n tests.
bash read -d delimiter Original / libc6 / usage-bash-read-delim-null Passed
Splits a NUL-delimited stream with bash read -d "" inside a while loop and verifies each record is captured intact.
bash readarray lines Original / libc6 / usage-bash-readarray-lines-batch11 Passed
Bash executes script Original / libc6 / usage-bash-script-exec Passed
bash substring expansion Original / libc6 / usage-bash-substring-expansion Passed
bash wait -n first child Original / libc6 / usage-bash-wait-first-child Passed
coreutils basename suffix Original / libc6 / usage-coreutils-basename-suffix Passed
numfmt --grouping under LC_ALL=C is a no-op Original / libc6 / usage-coreutils-batch12-numfmt-grouping-locale-c Passed
Runs numfmt --grouping on a large integer with LC_ALL=C and verifies no thousands separators are inserted (libc nl_langinfo path under POSIX locale).
/usr/bin/printf %.6f matches libc snprintf rounding Original / libc6 / usage-coreutils-batch12-printf-floating-point-precision Passed
Runs /usr/bin/printf with %.6f on a known IEEE-754 value and verifies the formatted output matches the expected libc rounding.
sort under LC_ALL=C uses pure ASCII byte order Original / libc6 / usage-coreutils-batch12-sort-locale-c-ascii-order Passed
Sorts a list of strings with mixed case and digits under LC_ALL=C and verifies the result follows ASCII byte order (digits before uppercase before lowercase).
coreutils comm computes set intersection Original / libc6 / usage-coreutils-comm-intersection Passed
Uses comm -12 on two sorted files to extract lines common to both and verifies the exact intersection.
coreutils csplit splits on regex marker Original / libc6 / usage-coreutils-csplit-pattern Passed
Uses csplit to break a file into sections at every occurrence of a marker line and verifies the resulting numbered output files contain the expected payload counts.
coreutils cut field Original / libc6 / usage-coreutils-cut-field Passed
coreutils cuts delimited fields Original / libc6 / usage-coreutils-cut-fields Passed
coreutils cut multi-field colon delimiter Original / libc6 / usage-coreutils-cut-multi-field Passed
Selects fields 1 and 3 from a colon-delimited record with cut -d: -f1,3 and verifies exact line count and content.
coreutils formats date Original / libc6 / usage-coreutils-date Passed
coreutils factor prime decomposition Original / libc6 / usage-coreutils-factor-primes Passed
Runs coreutils factor on several inputs and verifies the integer factorizations returned through libc arbitrary-precision arithmetic helpers.
coreutils fold width Original / libc6 / usage-coreutils-fold-width Passed
coreutils head -n -K excludes trailing lines Original / libc6 / usage-coreutils-head-exclude-tail Passed
Uses head -n -2 to print all but the last two lines of a fixed input and verifies the surviving line count and contents.
coreutils head lines Original / libc6 / usage-coreutils-head-lines Passed
coreutils joins files Original / libc6 / usage-coreutils-join-files Passed
coreutils nl numbering Original / libc6 / usage-coreutils-nl-lines Passed
coreutils numfmt iec scaling Original / libc6 / usage-coreutils-numfmt-iec Passed
coreutils od unsigned decimal byte dump Original / libc6 / usage-coreutils-od-decimal-bytes Passed
coreutils od hex bytes Original / libc6 / usage-coreutils-od-hex-bytes Passed
coreutils paste columns Original / libc6 / usage-coreutils-paste-columns Passed
coreutils pr merge columns Original / libc6 / usage-coreutils-pr-merge-columns Passed
Merges two text files side-by-side with pr -mt and verifies tokens from both files appear on the same line.
coreutils printf width padding Original / libc6 / usage-coreutils-printf-padding Passed
Formats integers with /usr/bin/printf using zero-pad and right-align width specifiers under LC_ALL=C and verifies the resulting columns.
date -u -d @<epoch> renders deterministic ISO-8601 via libc strftime Original / libc6 / usage-coreutils-r10-date-utc-fixed-epoch-iso Passed
Renders a fixed UNIX epoch through date -u -d @1700000000 with an ISO 8601 format string and verifies the output equals the expected UTC timestamp emitted by libc strftime.
coreutils printf %.3f under LC_ALL=C uses ASCII dot as decimal point Original / libc6 / usage-coreutils-r10-printf-locale-c-decimal-point Passed
Calls /usr/bin/printf with a fixed floating-point value under LC_ALL=C and verifies the formatted result uses the POSIX dot decimal separator delivered by libc localeconv.
coreutils cut -f extracts tab-delimited fields via libc fread Original / libc6 / usage-coreutils-r11-cut-fields-tab-delim Passed
Builds a TSV file with three columns and verifies that cut -f1,3 emits only columns 1 and 3 in tab-delimited form, exercising cut's libc-backed line buffering and field splitting.
coreutils od -An -tx1 dumps raw bytes via libc fread loop Original / libc6 / usage-coreutils-r11-od-canonical-bytes Passed
Pipes a known 5-byte ASCII string through od -An -tx1 -w16 and verifies the hex dump matches the expected ASCII byte values, exercising od's libc fread block-reading path.
coreutils paste -d cycles through delimiter list Original / libc6 / usage-coreutils-r12-paste-delim-list Passed
Pastes three input files together with paste -d',;' and verifies the cycled delimiter list interleaves the columns with comma then semicolon between fields.
coreutils tr -s squeezes runs of a character class Original / libc6 / usage-coreutils-r12-tr-squeeze-repeats Passed
Pipes a string with runs of spaces through tr -s ' ' under LC_ALL=C and verifies consecutive spaces collapse to a single space.
coreutils uniq -c emits adjacent run lengths Original / libc6 / usage-coreutils-r12-uniq-c-counts Passed
Feeds a sorted file with duplicate adjacent lines through uniq -c and verifies the leading count column matches the expected run lengths for each distinct line.
coreutils expand -t 4 substitutes tabs with 4-space stops via libc I/O Original / libc6 / usage-coreutils-r13-expand-tabs-width Passed
Pipes a tab-delimited record through expand -t 4 under LC_ALL=C and asserts each tab is converted to padded spaces such that columns align on the next 4-column stop.
coreutils sort --version-sort orders dotted version strings naturally Original / libc6 / usage-coreutils-r13-sort-version-sort Passed
Feeds a list of dotted release identifiers to sort --version-sort under LC_ALL=C and asserts the output is in natural version order rather than ASCIIbetical order.
coreutils stat -c %s reports exact byte size via libc stat Original / libc6 / usage-coreutils-r13-stat-c-size Passed
Writes a file with a known byte count, runs stat -c %s on it, and asserts the reported size matches the byte count returned by libc stat.
coreutils cut --output-delimiter rewrites the delimiter between selected fields Original / libc6 / usage-coreutils-r14-cut-output-delimiter Passed
Pipes a colon-delimited record through cut -d: -f1,3,5 --output-delimiter='|' under LC_ALL=C and asserts the selected fields are joined with the new pipe delimiter while the unselected fields are dropped.
coreutils numfmt --from=iec 1G expands to 1073741824 bytes Original / libc6 / usage-coreutils-r14-numfmt-from-iec-1g Passed
Runs numfmt --from=iec on the IEC suffixes 1K, 1M, and 1G under LC_ALL=C and asserts each result equals the exact integer byte count (1024, 1048576, 1073741824) rather than a rounded value.
coreutils od -w16 controls bytes-per-line and emits the expected number of data rows Original / libc6 / usage-coreutils-r15-od-w-line-width Passed
Generates a fixed 32-byte payload, runs od -An -tx1 -w16 under LC_ALL=C to dump the bytes in canonical 1-byte hex with a 16-byte line width, and asserts the output has exactly two non-empty data rows of sixteen 2-hex-digit tokens — exercising od's libc-backed buffered I/O and width formatting.
coreutils pr -t suppresses the header and trailer banner around input lines Original / libc6 / usage-coreutils-r15-pr-omit-header-tflag Passed
Pipes a fixed three-line input through pr -t under LC_ALL=C, asserts the output equals the input exactly (no five-line top header, no five-line bottom blank trailer that pr emits by default) — exercising pr's libc-backed line buffering and header-suppression flag.
cut --output-delimiter rewrites the field separator on output Original / libc6 / usage-coreutils-r16-cut-output-delimiter-pipe Passed
Pipes a comma-delimited single line into cut -d, -f1,3 --output-delimiter='|' and asserts the result joins the selected fields with a pipe rather than a comma, locking in the GNU --output-delimiter rewrite that splits the read/write delimiter.
date -u -d converts an epoch into a fixed ISO-8601 UTC string Original / libc6 / usage-coreutils-r18-date-iso-8601-utc Passed
Invokes date -u -d @1700000000 with -Iseconds and asserts the output equals "2023-11-14T22:13:20+00:00" — locking in libc-backed strftime emission for a known epoch in UTC.
wc -c reports the exact byte count of a 1024-byte binary file Original / libc6 / usage-coreutils-r19-wc-byte-count-binary Passed
Generates a 1024-byte binary file with python and runs wc -c against it, then asserts the leading numeric token is exactly 1024 - locking in libc-backed file-size accounting through coreutils wc.
wc -l counts five lines in a five-newline file Original / libc6 / usage-coreutils-r20-wc-line-count Passed
Writes five newline-terminated lines to a tempfile and runs wc -l against it, then asserts the leading numeric token is exactly 5 - locking in libc-backed line-count accounting through coreutils wc.
seq -f "%03g" 1 3 emits zero-padded "001", "002", "003" Original / libc6 / usage-coreutils-r21-seq-format-flag-pads Passed
Runs seq -f "%03g" 1 3 and asserts the three output lines equal exactly "001", "002", "003" - locking in seq's printf-style format flag rendering distinct from prior seq-free coreutils numeric tests.
truncate -s 1024 grows a tiny file to exactly 1024 bytes Original / libc6 / usage-coreutils-r21-truncate-size-zero-pads Passed
Writes a 4-byte file then runs truncate -s 1024 against it, asserting the resulting file size is exactly 1024 bytes - locking in the size-extension code path of truncate which is not covered by existing coreutils tests.
coreutils realpath resolves symlinks Original / libc6 / usage-coreutils-realpath-symlink Passed
Creates a symlink chain and resolves it through realpath, asserting the canonical target path is returned.
coreutils sha256sum digest Original / libc6 / usage-coreutils-sha256sum Passed
coreutils numeric sort Original / libc6 / usage-coreutils-sort-numeric Passed
coreutils sort unique Original / libc6 / usage-coreutils-sort-unique Passed
coreutils version sort Original / libc6 / usage-coreutils-sort-version-batch11 Passed
coreutils sorts text Original / libc6 / usage-coreutils-sort Passed
coreutils stat size format Original / libc6 / usage-coreutils-stat-size-format-batch11 Passed
coreutils stat size Original / libc6 / usage-coreutils-stat-size Passed
coreutils tac reverses line order Original / libc6 / usage-coreutils-tac-reverse Passed
coreutils tail line Original / libc6 / usage-coreutils-tail-lines Passed
coreutils tee append Original / libc6 / usage-coreutils-tee-append Passed
Appends two payloads to the same file via tee -a and verifies both records are preserved in order.
coreutils tr complement-delete keeps alnum Original / libc6 / usage-coreutils-tr-complement-keep Passed
Filters a noisy string with tr -dc to keep only alphanumeric bytes and verifies the resulting payload exactly.
coreutils tr delete digits Original / libc6 / usage-coreutils-tr-delete-digits Passed
coreutils tr squeeze repeated characters Original / libc6 / usage-coreutils-tr-squeeze-repeats Passed
Uses tr -s to collapse runs of repeated characters into a single instance and verifies the output.
coreutils tr uppercase Original / libc6 / usage-coreutils-tr-uppercase Passed
coreutils uniq count Original / libc6 / usage-coreutils-uniq-count Passed
coreutils wc bytes Original / libc6 / usage-coreutils-wc-bytes Passed
coreutils counts lines Original / libc6 / usage-coreutils-wc-lines Passed
find -printf %s reports exact byte size from libc stat Original / libc6 / usage-findutils-batch12-printf-size-bytes Passed
Creates files with known byte sizes and verifies "find -printf '%s\n'" reports those exact sizes (libc stat path).
findutils empty file filter Original / libc6 / usage-findutils-empty-files Passed
findutils traverses files Original / libc6 / usage-findutils-find Passed
find -inum locates files by inode number Original / libc6 / usage-findutils-inum-match Passed
Creates a file plus a hard link, queries its inode via stat, and verifies find -inum lists both names through libc filesystem stat calls.
findutils maxdepth filter Original / libc6 / usage-findutils-maxdepth Passed
findutils -mindepth 2 skips top-level entries Original / libc6 / usage-findutils-mindepth-two Passed
Builds a nested fixture tree and verifies find -mindepth 2 lists exactly the entries below the top-level directories.
findutils mindepth filter Original / libc6 / usage-findutils-mindepth Passed
findutils name pattern Original / libc6 / usage-findutils-name-pattern Passed
findutils perm any-writable filter Original / libc6 / usage-findutils-perm-writable Passed
Uses find -perm /222 to select files with any writable bit and verifies that only the writable fixture is reported.
findutils newer than file Original / libc6 / usage-findutils-print-newer Passed
Filters files newer than a marker with find -newer and verifies only the recently created file is reported.
findutils printf epoch mtime Original / libc6 / usage-findutils-printf-mtime Passed
Sets a fixed mtime on a fixture file and uses find -printf %T@ to read the epoch timestamp back, verifying the value matches.
find prune name Original / libc6 / usage-findutils-prune-name-batch11 Passed
find -printf %m emits the octal permission bits from libc stat Original / libc6 / usage-findutils-r10-printf-perm-octal Passed
Creates a file with mode 0644, runs find with -printf %m, and verifies the emitted octal mode equals 644 — exercising the libc stat path that supplies st_mode.
findutils find -newer compares libc-stat mtime between two files Original / libc6 / usage-findutils-r11-newer-mtime-filter Passed
Creates two files with explicit mtimes one hour apart and verifies find -newer reports only the newer file relative to the older anchor exercising findutils libc stat-based mtime comparison.
findutils find -regex matches files by full path extension Original / libc6 / usage-findutils-r12-regex-extension Passed
Creates a directory of mixed extensions and uses find -regex with the emacs default regex type to select only .log files, asserting only the expected files are returned.
findutils find -type l selects only symbolic links via libc lstat Original / libc6 / usage-findutils-r13-type-l-symlink-filter Passed
Builds a directory containing a regular file, a directory, and a symlink, then runs find -type l and asserts only the symlink is reported.
findutils find -execdir runs the helper from the matched file's directory Original / libc6 / usage-findutils-r14-execdir-basename Passed
Builds a two-level directory tree containing files in the inner subdirectory, runs find with -execdir printf '%s\n' {} \; on .txt members under LC_ALL=C, and asserts the captured arguments are bare './'-prefixed basenames (proof that -execdir changed cwd to the parent of each match before invoking the helper).
findutils find -size 100c selects only files of exactly 100 bytes Original / libc6 / usage-findutils-r15-size-bytes-exact Passed
Creates three fixed-size files (50, 100, 200 bytes), runs find -size 100c -printf '%f\n' under LC_ALL=C, and asserts only the 100-byte file is reported — exercising findutils' libc-backed stat-size predicate.
find -newer selects files modified after a reference touchstone Original / libc6 / usage-findutils-r16-find-newer-by-mtime Passed
Creates a reference file, sleeps briefly, creates a second file, and asserts find -newer reference reports only the later file — locking in the relative-mtime selection that depends on libc stat semantics.
find -prune skips a named subdirectory's contents during traversal Original / libc6 / usage-findutils-r17-prune-skips-subtree Passed
Builds a directory tree with files under both a "keep" subdirectory and a "skip" subdirectory then asserts find with -prune omits everything under skip while still emitting the files under keep — locking in libc-backed traversal pruning.
find -mtime -1 lists a freshly created file in the working tree Original / libc6 / usage-findutils-r18-mtime-zero-recent-files Passed
Creates a fresh file under a temp directory and asserts find with -mtime -1 finds the file by path, locking in libc-backed mtime predicate matching for recently modified files.
find -type f counts only regular files and ignores directories and symlinks Original / libc6 / usage-findutils-r19-find-type-f-counts-files Passed
Builds a tree of three regular files plus one subdirectory plus one symlink, runs find -type f piped to wc -l, and asserts the count equals exactly 3 - locking in libc-backed lstat handling that distinguishes regular files from other inode kinds.
find -type d -empty locates an empty directory among populated peers Original / libc6 / usage-findutils-r20-find-empty-flag-on-empty-dir Passed
Builds a tree with one empty directory and two populated peers, runs find -type d -empty rooted at the tree, and asserts the captured output contains the empty directory path and excludes the populated peers - locking in libc-backed directory iteration through findutils' -empty predicate.
find -printf "%y" emits the type letter for regular files and directories Original / libc6 / usage-findutils-r21-printf-y-type-letter Passed
Builds a directory containing one regular file, then runs find -printf "%y\n" and asserts the captured output contains both "d" (for the directory) and "f" (for the regular file) - locking in the -printf %y format-letter rendering distinct from prior -printf permissions/size tests.
findutils -regextype posix-extended match Original / libc6 / usage-findutils-regex-extended Passed
Filters a directory tree with find -regextype posix-extended using an alternation pattern and confirms only matching paths are emitted.
findutils type filtering Original / libc6 / usage-findutils-type-filter Passed
findutils xargs -I substitutes per item Original / libc6 / usage-findutils-xargs-iarg Passed
Pipes find output through xargs -I{} -n1 to run a per-file command and verifies exact transformed output.
findutils xargs max-args batching Original / libc6 / usage-findutils-xargs-max-args Passed
Pipes five tokens through xargs --max-args=2 and verifies the input is grouped into batches of two per invocation.
findutils xargs -0 null-delimited input Original / libc6 / usage-findutils-xargs-null-input Passed
Pipes find -print0 through xargs -0 to safely handle filenames with spaces and verifies all entries are processed.
gawk asorti sorts associative keys Original / libc6 / usage-gawk-asorti-keys Passed
Builds an associative array in gawk and sorts its keys with asorti under LC_ALL=C, then prints them in order to verify deterministic ordering.
gawk associative array Original / libc6 / usage-gawk-assoc-array Passed
gawk sprintf %.2f under LC_ALL=C uses dot decimal Original / libc6 / usage-gawk-batch12-sprintf-locale-comma-c Passed
Uses gawk sprintf with %.2f under LC_ALL=C and verifies the formatted result uses a dot as decimal separator (libc lconv default for C locale).
gawk CSV aggregation Original / libc6 / usage-gawk-csv-aggregate Passed
gawk field sum Original / libc6 / usage-gawk-csv-sum Passed
gawk ENVIRON array access Original / libc6 / usage-gawk-environ-access Passed
Reads an exported environment variable from gawk via the ENVIRON array and verifies the value is recovered exactly.
gawk sums fields Original / libc6 / usage-gawk-field-sum Passed
gawk gensub backreference rewrite Original / libc6 / usage-gawk-gensub-backref Passed
Rewrites name=value pairs to value:name with gawk gensub backreferences and verifies the transformed output.
gawk getline pairs adjacent lines Original / libc6 / usage-gawk-getline-next Passed
Uses gawk getline to consume the line following each header marker and joins the pair, then verifies the exact joined output.
gawk length() over fields and lines Original / libc6 / usage-gawk-length-string Passed
Computes per-line field counts and the maximum string length across an input via gawk length() to exercise libc-backed string measurement.
gawk match capture array Original / libc6 / usage-gawk-match-capture-array Passed
Captures parenthesised regex groups via gawk match() into an array and verifies each captured field.
gawk distinguishes NR and FNR across files Original / libc6 / usage-gawk-multi-file-fnr Passed
gawk numeric formatting Original / libc6 / usage-gawk-number-format Passed
gawk printf precision Original / libc6 / usage-gawk-printf-precision Passed
gawk printf zero-padded integer Original / libc6 / usage-gawk-printf-zero-pad Passed
Uses gawk printf "%05d" to format integers with leading zeros and verifies the resulting fixed-width values.
gawk tolower/toupper round-trip ASCII letters under LC_ALL=C Original / libc6 / usage-gawk-r10-tolower-toupper-ascii-roundtrip Passed
Pipes mixed-case ASCII through gawk tolower(toupper($0)) under LC_ALL=C and verifies the result equals the lowercase original (libc tolower/toupper path).
gawk printf %d formats large integers via libc snprintf Original / libc6 / usage-gawk-r11-printf-d-conversion-large Passed
Uses awk BEGIN block printf %d on the value 2147483647 INT32 max and verifies the formatted string round-trips through libc snprintf without overflow truncation.
gawk gsub() replaces every regex match in the record Original / libc6 / usage-gawk-r12-gsub-replace-all Passed
Uses gawk gsub() with a digit-class regex to replace every digit in the input with a hash character and asserts the count of substitutions and the rewritten record.
gawk asort() sorts an unindexed array into ascending order Original / libc6 / usage-gawk-r13-asort-numeric-reorder Passed
Builds a numeric array of unsorted values in gawk, calls asort() to reorder values into a 1-indexed array, and asserts the resulting concatenation matches the expected ascending sequence.
gawk PROCINFO["version"] reports a non-empty version string Original / libc6 / usage-gawk-r14-procinfo-version-key Passed
Reads PROCINFO["version"] in a BEGIN block under LC_ALL=C, asserts the string is non-empty and starts with a digit (gawk version banner), and asserts PROCINFO["pid"] is a positive integer matching the gawk process id from the shell.
gawk printf %c converts a numeric argument to its ASCII character byte Original / libc6 / usage-gawk-r15-printf-c-numeric-to-char Passed
Runs gawk printf "%c" 65 65 66 67 (decimal codepoints for 'A','A','B','C') in a BEGIN block under LC_ALL=C, asserts the printed bytes equal "AABC" — exercising gawk's libc-backed printf integer-to-char conversion.
gawk srand(SEED) makes rand() output deterministic across two invocations Original / libc6 / usage-gawk-r16-srand-determinism-with-seed Passed
Calls gawk BEGIN{srand(1);print rand()} twice and asserts the two outputs are identical floating-point strings, locking in gawk's seeded PRNG determinism.
gawk NR==FNR captures the first file's keys then projects from the second Original / libc6 / usage-gawk-r17-nr-equals-fnr-two-file-merge Passed
Builds two files keyed by their first field, feeds them to gawk in order, and uses the canonical NR==FNR idiom to store the first file's values then emit matched values from the second file — locking in awk's two-pass file-merge semantics.
gawk sprintf "%.3f" rounds a float to three decimals Original / libc6 / usage-gawk-r18-sprintf-precision-float Passed
Invokes gawk with BEGIN { printf "%.3f\n", 1.23456789 } and asserts the output equals "1.235" — locking in libc-backed float formatting in gawk's printf.
gawk substr() extracts a fixed range of characters from a record Original / libc6 / usage-gawk-r19-substr-extract-bytes Passed
Pipes a known string into gawk and prints substr($0, 8, 5), then asserts the captured token equals the expected slice - locking in libc-backed substring extraction via the gawk runtime.
gawk length() returns 11 for the ASCII string "hello world" Original / libc6 / usage-gawk-r20-length-counts-chars Passed
Invokes gawk 'BEGIN{print length("hello world")}' and asserts the captured output is exactly "11" - locking in libc-backed string-length computation through gawk's length() builtin.
gawk split() with a regex separator returns the expected field count Original / libc6 / usage-gawk-r21-split-with-regex-fs Passed
Runs gawk split($0, a, /[,;]/) on the input "one,two;three,four" and asserts the returned field count is 4 and a[3] equals "three" - locking in split()'s regex-separator behavior which is distinct from default FS field-splitting tests.
gawk strftime epoch Original / libc6 / usage-gawk-strftime-epoch-batch11 Passed
gawk uppercase transform Original / libc6 / usage-gawk-string-upper Passed
gawk sum column Original / libc6 / usage-gawk-sum-column Passed
grep prints after-match context Original / libc6 / usage-grep-after-context Passed
Uses grep -A 2 to print two lines following each match and verifies exact line count and content.
grep -L lists files without a match across multiple inputs Original / libc6 / usage-grep-batch12-binary-files-without-match Passed
Runs grep -L over three files (two without the pattern, one with) and verifies the output contains exactly the two non-matching paths in input order.
grep prints before-match context Original / libc6 / usage-grep-before-context Passed
Uses grep -B 2 to emit two lines preceding each match and verifies exact line ordering and count.
grep count matches Original / libc6 / usage-grep-count-match Passed
grep extended alternation Original / libc6 / usage-grep-extended-alternation-batch11 Passed
grep extended regular expression Original / libc6 / usage-grep-extended-regex Passed
grep fixed string Original / libc6 / usage-grep-fixed-string Passed
grep fixed-string whole-line match Original / libc6 / usage-grep-fixed-whole-line Passed
grep recursive include glob Original / libc6 / usage-grep-include-glob Passed
Recursively searches a tree with grep --include="*.txt" and verifies non-matching extensions are skipped.
grep inverted match Original / libc6 / usage-grep-invert-match Passed
grep line number Original / libc6 / usage-grep-line-number Passed
grep --null-data NUL-delimited records Original / libc6 / usage-grep-null-data Passed
Treats input as NUL-separated records with grep --null-data and verifies only matching records are emitted, separated by NUL bytes.
grep only matching Original / libc6 / usage-grep-only-matching Passed
grep fixed-string pattern file Original / libc6 / usage-grep-pattern-file Passed
Uses grep -F -f to match a haystack against a file of literal patterns and verifies that only the listed entries are reported.
grep -P positive lookahead Original / libc6 / usage-grep-pcre-lookahead Passed
Matches a token followed by a specific suffix using a PCRE positive lookahead and confirms only the prefix portion is reported by grep -oP.
grep perl-compatible regex lookahead Original / libc6 / usage-grep-perl-regex Passed
Uses grep -P with a positive lookahead to extract identifiers preceding an equals sign and verifies the match list.
grep [[:alpha:]] under LC_ALL=C matches only ASCII letters Original / libc6 / usage-grep-r10-class-alpha-c-locale-ascii-only Passed
Greps a mixed ASCII-letter and digit-and-punctuation input under LC_ALL=C using the POSIX [[:alpha:]] class and verifies only ASCII letter lines match (libc isalpha under POSIX locale).
grep -F with multiline pattern matches any of the literal lines Original / libc6 / usage-grep-r11-fixed-string-multiline-pattern Passed
Passes a two-line newline-separated literal pattern to grep -F and verifies it matches lines containing either literal exercising grep multi-pattern handling via libc memchr-based scanning.
grep -z treats input as NUL-separated records and emits NUL-terminated matches Original / libc6 / usage-grep-r13-z-null-data-mode Passed
Builds a NUL-delimited input of three records, runs grep -z to match a single record, and asserts the match output ends with a NUL byte and equals the matched record exactly.
grep -b prefixes each match with its 0-based byte offset Original / libc6 / usage-grep-r15-byte-offset-prefix Passed
Builds a four-line file of fixed bytes, runs grep -b on a pattern that hits the second line, and asserts the output starts with the byte offset of the matching line followed by ':' and the matched line — exercising grep's libc-backed file positioning and -b prefix.
grep -P with a positive lookbehind matches only after the prefix Original / libc6 / usage-grep-r16-pcre-lookbehind-match Passed
Feeds a small fixture into grep -P with the regex (?<=foo-)\\d+ and asserts only the digits following the "foo-" prefix are matched, not bare digits — locking in the PCRE lookbehind support shipping with libpcre-linked grep on Ubuntu 24.04.
grep -A 2 emits two post-match context lines after a hit Original / libc6 / usage-grep-r17-after-context-two-lines Passed
Builds a five-line file with a single "needle" anchor, runs grep -A 2 against it, and asserts the output is exactly the anchor plus the two following lines in order — locking in libc-backed grep post-context selection.
grep -P matches the perl-compatible \d digit class against a mixed line Original / libc6 / usage-grep-r18-perl-regex-digit-class Passed
Builds a three-line input where only the middle line contains digits, runs grep -P '\d+' on it, and asserts the output is exactly the digit-bearing line — locking in PCRE-flavored regular expression support in noble's grep build.
grep -o prints only the matched token, one per line Original / libc6 / usage-grep-r19-only-matching-token Passed
Runs grep -o against a small text where the pattern "fox" appears three times across two lines, and asserts the captured output is exactly three lines each equal to "fox" - locking in libc-backed regex-only-match extraction.
grep -i matches a lowercase pattern against mixed-case input lines Original / libc6 / usage-grep-r20-ignore-case-mixed-input Passed
Builds a three-line file with mixed-case content (Hello, HELLO, world), runs grep -i hello, and asserts exactly two lines match - locking in libc-backed case-insensitive matching via grep -i.
grep -r --include="*.log" restricts recursion to files matching the glob Original / libc6 / usage-grep-r21-recursive-with-include-glob Passed
Builds a directory tree containing a .log file holding a unique token and a .txt file with the same token, runs grep -r --include="*.log" on the directory, and asserts only the .log file's match is reported - locking in --include's filtering interaction with -r recursion (existing include-glob test uses non-recursive grep).
grep matches regex Original / libc6 / usage-grep-regex Passed
grep whole-word match Original / libc6 / usage-grep-word-match Passed
gzip custom suffix roundtrip Original / libc6 / usage-gzip-custom-suffix Passed
Compresses a file using gzip -S with a non-default suffix and verifies decompression restores the original payload.
gzip keep original Original / libc6 / usage-gzip-keep-original Passed
Compresses a file with gzip -k and verifies both the original and compressed files exist with restorable content.
gzip -1 and -9 produce different sizes Original / libc6 / usage-gzip-level-size Passed
Compresses identical input with gzip -1 (fast) and gzip -9 (best) and verifies both decompress back to the original payload while -9 produces output no larger than -1.
gzip list compressed size Original / libc6 / usage-gzip-list-compressed-size-batch11 Passed
gzip -n omits original name and timestamp Original / libc6 / usage-gzip-no-name-flag Passed
Compresses with gzip -n and inspects the gzip header bytes to confirm the FNAME flag is unset and mtime is zero.
gzip compresses and decompresses zero-byte input losslessly Original / libc6 / usage-gzip-r10-empty-input-roundtrip Passed
Pipes zero bytes through gzip then gunzip and verifies the decompressed stream is also zero bytes, exercising libc fread/fwrite at EOF in the gzip pipeline.
gzip --keep retains the original input file alongside the gz Original / libc6 / usage-gzip-r11-keep-flag-preserves-source Passed
Compresses a fixture file with gzip --keep and verifies both the original input file and the new .gz file exist after compression exercising gzip libc-backed file open and rename suppression behavior.
gzip --rsyncable produces a decompressible archive of identical content Original / libc6 / usage-gzip-r12-rsyncable-flag Passed
Compresses a payload with gzip --rsyncable and verifies that gunzip -c restores the exact original bytes (rsyncable changes block boundaries but preserves content).
gzip -l listing exposes header columns and the uncompressed filename Original / libc6 / usage-gzip-r13-list-fields-uncompressed-name Passed
Compresses a known payload with gzip -k, runs gzip -l on the resulting .gz, and asserts both that the header row carries the expected column labels and that the data row references the uncompressed source name.
gzip -n clears the FNAME header bit while default preserves it Original / libc6 / usage-gzip-r14-no-name-flag-strips-orig Passed
Compresses two copies of the same payload — one with gzip -n (suppress name+mtime) and one with default flags (which preserves the FNAME) — and asserts byte 3 (flag byte) of each .gz header has the FNAME bit (0x08) cleared in the -n archive and set in the default archive.
gzip --rsyncable produces a stream that round-trips to identical bytes Original / libc6 / usage-gzip-r16-rsyncable-roundtrip-equal Passed
Compresses a payload with gzip --rsyncable and asserts the decompressed bytes equal the original byte-for-byte, locking in that the rsyncable block-boundary heuristic does not alter the payload content even though it changes the compressed representation.
gzip --best emits a smaller-or-equal archive than --fast for compressible input Original / libc6 / usage-gzip-r17-best-produces-output Passed
Compresses the same large repetitive payload twice — once with --fast and once with --best — and asserts the --best archive is at most as large as the --fast archive while decompressing back to the original SHA-256, locking in the level-9 effectiveness contract.
gzip -k retains the original file alongside the .gz output Original / libc6 / usage-gzip-r18-keep-flag-leaves-source Passed
Creates a small text file, runs gzip -k against it, and asserts both the original file and the new .gz archive coexist in the working directory — locking in the keep-flag's non-destructive contract.
gzip -n strips the original filename from the gzip header Original / libc6 / usage-gzip-r19-n-flag-omits-name Passed
Compresses a named file twice (once with default options, once with -n -c), inspects the gzip header byte at offset 3 of both archives via od, and asserts the -n archive has the FNAME bit (0x08) clear while the default archive has it set - locking in libc-backed header field control via the gzip -n flag.
gzip --fast and gzip --best both produce valid gzip output for the same input Original / libc6 / usage-gzip-r20-decimal-level-fast Passed
Compresses a 4 KiB repeating-pattern payload with gzip --fast and gzip --best independently, then asserts both outputs decompress to the original payload byte-for-byte and both files start with the gzip magic bytes 1f 8b - locking in libc-backed compression-level handling on both ends of the gzip level range.
gzip -c writes a valid archive to stdout while leaving the source file intact Original / libc6 / usage-gzip-r21-stdout-keep-source-and-compressed Passed
Writes a payload, pipes it through gzip -c into a separate .gz, decompresses to verify integrity, and asserts both the source still exists at original size and the decompressed payload matches the source - locking in gzip -c stdout mode's non-destructive behavior on the source distinct from existing keep-flag tests.
gzip recursive directory compress Original / libc6 / usage-gzip-recursive-dir Passed
Compresses every regular file under a directory tree with gzip -r and verifies all members are replaced by .gz files that decompress back to the original payloads.
gzip compresses file Original / libc6 / usage-gzip-roundtrip Passed
gzip stdin round trip Original / libc6 / usage-gzip-stdin-roundtrip Passed
gzip stdout round trip Original / libc6 / usage-gzip-stdout-roundtrip Passed
Compresses to stdout with gzip, decompresses from stdout, and verifies the original payload returns intact.
gzip integrity check Original / libc6 / usage-gzip-test-integrity Passed
gzip zcmp compares two .gz files Original / libc6 / usage-gzip-zcmp-equal Passed
Uses zcmp to compare two gzip-compressed files with identical and differing payloads, verifying exit codes and diff output.
gzip zgrep matches regex inside compressed file Original / libc6 / usage-gzip-zgrep-regex Passed
Compresses a fixed text fixture with gzip and uses zgrep to match a regular expression against it, verifying exact matching lines and count.
python3 base85 encode roundtrip Original / libc6 / usage-python3-base85-encode Passed
python3 time.strftime via libc strftime in UTC Original / libc6 / usage-python3-batch12-time-strftime-utc Passed
Uses python3 time.strftime to format a fixed epoch in UTC via libc strftime and verifies the output equals the expected ISO 8601 string.
python3 hashlib blake2b known-answer test Original / libc6 / usage-python3-blake2b-kat Passed
python3 configparser INI roundtrip Original / libc6 / usage-python3-configparser-roundtrip Passed
Writes and reads an INI file with python3 configparser and verifies the section values survive the roundtrip.
python csv round trip Original / libc6 / usage-python3-csv-roundtrip Passed
python3 ctypes calls libc memcmp on equal and unequal buffers Original / libc6 / usage-python3-ctypes-libc-strlen Passed
Loads libc through ctypes.CDLL using ctypes.util.find_library and invokes memcmp on three buffer pairs (equal, lhs<rhs, lhs>rhs) to verify the FFI bridge returns 0 for equal inputs and a sign-correct nonzero result for unequal inputs. Distinct from the strlen ctypes test in this library.
python3 ctypes calls libc strlen Original / libc6 / usage-python3-ctypes-strlen Passed
Loads libc through ctypes.CDLL, declares argtypes/restype for strlen, and verifies the returned length matches a known byte string measured in Python.
Python file I/O runtime Original / libc6 / usage-python3-file-io Passed
python3 hashlib md5 Original / libc6 / usage-python3-hashlib-md5 Passed
python ipaddress IPv4Address conversion Original / libc6 / usage-python3-ipaddress-ipv4 Passed
Uses ipaddress.IPv4Address to round-trip dotted-quad and integer forms and verifies exact textual output.
Python literal round trip Original / libc6 / usage-python3-json-roundtrip Passed
Serializes and reloads a structured Python literal with Python and verifies the decoded values survive round trip.
Python os strerror Original / libc6 / usage-python3-minimal-os-strerror-batch11 Passed
Python locale.localeconv() under LC_ALL=C reports POSIX defaults Original / libc6 / usage-python3-minimal-r10-locale-localeconv-c Passed
Sets LC_ALL=C and queries Python's locale.localeconv() for the decimal point and thousands separator, verifying they equal the POSIX libc localeconv values (dot and empty string).
python3 strftime formats a fixed UTC epoch via libc strftime Original / libc6 / usage-python3-minimal-r11-strftime-utc-fixed Passed
Calls time.strftime with a known UTC struct_time built from a fixed epoch and verifies the formatted ISO string matches the expected value exercising python3 wrapping libc strftime.
python3 datetime.fromisoformat parses and round-trips an ISO-8601 timestamp Original / libc6 / usage-python3-minimal-r14-datetime-fromisoformat Passed
Constructs a fixed UTC datetime via datetime.datetime.fromisoformat, asserts each component (year, month, day, hour, minute, second, microsecond, tzinfo offset) matches the source string, and asserts dt.isoformat() yields the same string back, exercising the libc-backed time library bindings.
python3 os.statvfs returns positive total/used/free for /tmp Original / libc6 / usage-python3-minimal-r15-shutil-disk-usage-positive Passed
Calls os.statvfs('/tmp') in a single-shot python3 invocation, derives total/used/free from f_blocks, f_bavail, f_bfree, f_frsize, asserts each field is a positive integer, and asserts used + free <= total (filesystem accounting invariant) — exercising the libc statvfs binding directly. shutil.disk_usage is a thin wrapper over the same call but lives in the python3 package, not python3-minimal.
python3 time.gmtime decomposes a fixed epoch into a known UTC tuple Original / libc6 / usage-python3-minimal-r18-time-gmtime-fixed-epoch Passed
Invokes python3 -c with time.gmtime(1700000000) and asserts the year/month/day/hour/minute/second fields equal 2023/11/14/22/13/20 — locking in libc-backed gmtime for a deterministic epoch.
python3 os.getpid() returns a positive integer that matches the current process namespace Original / libc6 / usage-python3-minimal-r19-os-getpid-positive Passed
Invokes python3 -c "import os; print(os.getpid())" and asserts the captured integer is greater than zero and consists entirely of digits - locking in libc getpid() exposure through the python os module.
python3 os.uname().sysname equals "Linux" on the ubuntu container Original / libc6 / usage-python3-minimal-r20-os-uname-sysname-linux Passed
Invokes python3 -c "import os; print(os.uname().sysname)" inside the Ubuntu 24.04 container and asserts the captured sysname string equals "Linux" - locking in libc-backed uname syscall exposure through python3 os.uname.
python3 os.confstr exposes glibc runtime info Original / libc6 / usage-python3-os-confstr-libc-version Passed
Calls os.confstr('CS_GNU_LIBC_VERSION') to read the GNU libc release string at runtime and confirms the response begins with 'glibc'.
python3 os.listdir sorted Original / libc6 / usage-python3-os-listdir-sorted Passed
Lists a directory through Python os.listdir and verifies the sorted entry names produced by the runtime.
Python pathlib runtime Original / libc6 / usage-python3-pathlib-runtime Passed
python3 pbkdf2_hmac known-answer Original / libc6 / usage-python3-pbkdf2-kat Passed
Derives a key with hashlib.pbkdf2_hmac against an RFC 6070 known-answer vector and verifies the hex digest exactly.
python3 struct.calcsize("=Q") reports 8 bytes on Ubuntu 24.04 Original / libc6 / usage-python3-r16-struct-calcsize-equal-q Passed
Asks the full python3 interpreter for the size of "=Q" (standard, no padding, unsigned 64-bit) and asserts the answer is 8, locking in the standard-layout struct width that libc-aligned struct packing relies on.
python3 hashlib.sha256("abc") matches the NIST FIPS 180 test vector Original / libc6 / usage-python3-r17-hashlib-sha256-known-vector Passed
Runs python3 -c with hashlib.sha256(b"abc").hexdigest() and asserts the value equals the canonical NIST FIPS 180 test vector ba7816...f20015ad — locking in libc-backed openssl/hashlib digest for a well-known input.
python3 re.sub collapses each digit run into the literal N Original / libc6 / usage-python3-r17-re-sub-digits-replaced Passed
Runs python3 -c with re.sub(r"\d+","N","a1b2c3") and asserts the output is exactly "aNbNcN", locking in the libc-backed regex digit-class behavior on the full python3 stdlib.
python3 os.path.realpath resolves a symlink to its target via libc Original / libc6 / usage-python3-r18-os-path-realpath-symlink Passed
Creates a target file and a symlink pointing at it, then invokes python3 -c with os.path.realpath against the symlink and asserts the resolved path matches the realpath of the target file — locking in libc-backed readlink chain resolution.
python3 struct.pack with ">I" emits four big-endian bytes for an unsigned int Original / libc6 / usage-python3-r19-struct-pack-int-network Passed
Invokes a one-line python3 program that calls struct.pack(">I", 0x01020304) and prints the resulting bytes as hex, then asserts the captured hex equals "01020304" - locking in libc-backed byte-order conversion via the python struct module.
python3 struct.unpack(">H", b"\x12\x34") recovers 0x1234 Original / libc6 / usage-python3-r20-struct-unpack-roundtrip Passed
Invokes a one-line python3 program that calls struct.unpack(">H", b"\\x12\\x34") and prints the first tuple element in hex, then asserts the captured value equals "0x1234" - locking in libc-backed byte-order unpacking via the python struct module.
python3 urllib.parse.quote escapes a space as "%20" Original / libc6 / usage-python3-r21-urllib-parse-quote-rfc3986 Passed
Invokes python3 -c with urllib.parse.quote on the string "a b" and asserts the result is exactly "a%20b" - locking in libc-backed percent-encoding through python's urllib module, distinct from existing python3 stdlib tests (json, csv, hashlib, struct, ipaddress, base85).
Python runs libc-backed runtime Original / libc6 / usage-python3-runtime Passed
python os.urandom token hex via libc6 getrandom Original / libc6 / usage-python3-secrets-token-hex Passed
Reads 16 random bytes via os.urandom (which is backed by libc6 getrandom on Linux) and verifies the hex-encoded form has exactly 32 lowercase hex characters, exercising the libc6 entropy path that python3-minimal provides.
python3 struct big-endian packing Original / libc6 / usage-python3-struct-pack Passed
Packs a 32-bit integer as big-endian bytes with the python3 struct module and verifies the hex byte order.
sed address range substitute Original / libc6 / usage-sed-address-range-substitute Passed
Applies a sed substitution only to lines 2 through 4 with an address range and verifies that lines outside the range are untouched.
sed y/// transliteration replaces ASCII bytes deterministically Original / libc6 / usage-sed-batch12-y-command-bytewise-translit Passed
Uses sed y/// to transliterate a fixed set of ASCII bytes and verifies the exact mapping is applied character by character.
sed branching with :label and t Original / libc6 / usage-sed-branch-label Passed
Uses sed labels with the t (branch on substitution) command to repeatedly collapse runs of digits into a single hash and verifies the loop terminates with the expected output.
sed capture group replacement Original / libc6 / usage-sed-capture-group Passed
sed deletes blank lines Original / libc6 / usage-sed-delete-blank-lines Passed
sed deletes a specific line by address Original / libc6 / usage-sed-delete-line-address Passed
Uses sed '2 d' to drop the second line of a fixed input and verifies the surviving line count and exact content order.
sed extended regex rewrite Original / libc6 / usage-sed-extended-regex Passed
sed global replace Original / libc6 / usage-sed-global-replace-all Passed
sed global replacement Original / libc6 / usage-sed-global-replace Passed
Rewrites all matching tokens in a stream with sed global substitution and verifies the output text.
sed hold-space line swap Original / libc6 / usage-sed-hold-space-swap Passed
Swaps two adjacent lines using the sed hold space with h and G and verifies the reordered output.
sed insert line Original / libc6 / usage-sed-insert-line Passed
sed s/// numeric flag picks Nth occurrence Original / libc6 / usage-sed-nth-occurrence Passed
Applies a sed substitution with a numeric flag (s/old/new/2) so only the second match per line is replaced and confirms the rest are untouched.
sed print line range Original / libc6 / usage-sed-print-line-range Passed
sed quits early at address Original / libc6 / usage-sed-quit-early Passed
sed [[:digit:]] character class matches ASCII digits Original / libc6 / usage-sed-r10-bracket-class-digit Passed
Uses sed to replace runs of [[:digit:]] with N in a fixed input under LC_ALL=C and verifies only ASCII digits are collapsed (libc isdigit semantics).
sed y transliteration command rotates ASCII letters by three positions Original / libc6 / usage-sed-r11-y-transliterate-rotate Passed
Uses the sed y/abc.../def.../ command to map a 6-character ASCII string and verifies each character is replaced with its 3-position rotation exercising sed character-class transliteration via libc string indexing.
sed -n suppresses default output and only prints matching p commands Original / libc6 / usage-sed-r12-n-print-suppressed Passed
Runs sed -n with /needle/p over a multi-line input and verifies only matching lines are printed via the explicit p command (default output is suppressed).
sed -i with backup suffix rewrites file in place and preserves a .bak copy Original / libc6 / usage-sed-r13-in-place-with-backup Passed
Writes a fixed input file, runs sed --in-place=.bak with a substitution, and asserts the modified file contains the substitution while a sibling .bak file holds the original bytes verbatim.
sed chains multiple -e expressions in declared order Original / libc6 / usage-sed-r14-multiple-e-expressions Passed
Pipes a fixed input through sed with three -e substitution expressions under LC_ALL=C and asserts each substitution is applied in order to produce the expected combined output, exercising sed's libc-backed file streaming and expression script chaining.
sed '$d' deletes only the final line of input Original / libc6 / usage-sed-r15-last-line-dollar-delete Passed
Pipes a fixed four-line input through sed '$d' under LC_ALL=C and asserts the output is the first three lines verbatim — confirming sed's libc-backed line-buffer tracks the last-line ($) address.
sed -E swaps two captured groups using \2\1 backreference order Original / libc6 / usage-sed-r16-extended-regex-backreference-swap Passed
Uses sed -E to match (a)(b) in the input string "ab" and replace it with \2\1, asserting the result is "ba" — locking in sed's extended-regex backreference numbering against a stable, unambiguous fixture.
sed '/PATTERN/d' removes every matching line from a stream Original / libc6 / usage-sed-r17-pattern-line-deletion Passed
Pipes a five-line stream through sed '/drop/d' and asserts the output contains exactly the three non-matching lines in their original order — locking in sed's address-driven d command for line deletion.
sed s/foo/bar/g replaces every occurrence on a line Original / libc6 / usage-sed-r18-substitute-flag-g-replaces-all Passed
Pipes a single-line input "foo foo foo" through sed with the s/foo/bar/g substitution and asserts the captured output equals "bar bar bar" — locking in libc-backed regex global-replace in noble's sed build.
sed y/// transliterates lowercase vowels to digits Original / libc6 / usage-sed-r19-y-transliterate-vowels Passed
Pipes the string "hello world" into sed y/aeiou/12345/, and asserts the captured output equals "h2ll4 w4rld" - locking in libc-backed character-class transliteration via sed.
sed s/foo$/bar/ replaces only end-of-line matches Original / libc6 / usage-sed-r20-substitute-anchored-end Passed
Pipes a three-line input where only one line ends with "foo" through sed 's/foo$/bar/', then asserts the recovered output contains "bar" exactly where the anchored match fired and leaves a non-terminal "foo" untouched - locking in libc-backed end-of-line anchor semantics through sed.
sed = command prints the line number before each input line Original / libc6 / usage-sed-r21-equals-prints-line-number Passed
Pipes a three-line payload through sed = and asserts the output interleaves the line number ("1", "2", "3") before each source line - locking in the = command's line-number emission distinct from existing -n, address, hold-space, and substitution tests.
sed self-reference ampersand replacement Original / libc6 / usage-sed-self-reference-amp Passed
sed transforms stream Original / libc6 / usage-sed-transform Passed
sed transliterate Original / libc6 / usage-sed-transliterate-batch11 Passed
tar appends archive member Original / libc6 / usage-tar-append-archive Passed
tar --numeric-owner --owner=0 --group=0 roundtrip Original / libc6 / usage-tar-batch12-numeric-owner-uid-zero-roundtrip Passed
Creates a tar archive with --numeric-owner --owner=0 --group=0 and verifies tar -tvf shows uid 0 / gid 0 for the entry.
tar create list Original / libc6 / usage-tar-create-list Passed
tar exclude glob omits matches Original / libc6 / usage-tar-exclude-glob Passed
Creates a tar archive with --exclude='*.log' and verifies that .log members are absent from the listing while other members remain.
tar extract single member Original / libc6 / usage-tar-extract-single-member Passed
Extracts only one named member from a tar archive and verifies the other entry was not extracted.
tar gzip archive Original / libc6 / usage-tar-gzip-archive Passed
tar keep-old-files refuses overwrite Original / libc6 / usage-tar-keep-old-files Passed
Extracts a tar archive over an existing file with --keep-old-files and verifies the original payload is preserved.
tar lists archive Original / libc6 / usage-tar-list-archive Passed
tar --mtime fixes archive timestamps Original / libc6 / usage-tar-mtime-reproducible Passed
Builds two archives from the same payload using tar --mtime=@<epoch> --sort=name --owner=0 --group=0 --numeric-owner and asserts the byte streams are identical.
tar pax format round-trips a UTF-8 pathname via libc multibyte Original / libc6 / usage-tar-r10-pax-utf8-pathname-roundtrip Passed
Creates a file with a multi-byte UTF-8 name, archives it with tar --format=pax, extracts it into a fresh directory, and verifies the extracted name and contents match (libc mbrtowc/wcrtomb path).
tar --numeric-owner --owner=0 records uid 0 verbatim in archive metadata Original / libc6 / usage-tar-r11-numeric-owner-uid-zero Passed
Creates a tar with --numeric-owner --owner=0 --group=0 and verifies the archive listing reports owner 0/0 exercising tar libc-getpwuid bypass and explicit numeric ownership.
tar --transform rewrites archive member paths via sed expression Original / libc6 / usage-tar-r12-transform-rename Passed
Creates a tar archive with --transform 's,^src/,renamed/,' and verifies the listing shows entries under the renamed/ prefix while the on-disk source remains under src/.
tar --exclude omits members matching a glob pattern from the archive Original / libc6 / usage-tar-r13-exclude-glob-pattern Passed
Creates a directory of mixed file extensions, builds a tar archive with --exclude='*.log', and asserts the archive listing contains only the non-excluded files.
tar --format=ustar produces a USTAR-magic archive header Original / libc6 / usage-tar-r14-format-ustar Passed
Creates a single-member archive with tar --format=ustar under LC_ALL=C, asserts the archive lists that member, and asserts the tar header at offset 257 contains the canonical "ustar" magic string (no PAX extension, plain USTAR format).
tar -h dereferences a symlink and stores the target file's bytes in the archive Original / libc6 / usage-tar-r15-dereference-symlink-store-target Passed
Creates a 32-byte regular file plus a symlink pointing at it, archives the symlink with tar -h (--dereference) under LC_ALL=C, extracts into a fresh directory, and asserts the extracted entry is a regular file whose contents match the source target byte-for-byte (proving -h followed the link rather than archiving a symlink stub).
tar --transform renames archived members via a sed expression at create time Original / libc6 / usage-tar-r16-transform-rename-strip-prefix Passed
Archives a file at path "src/data.txt" with --transform 's,^src/,renamed/,' and asserts the resulting tar contains "renamed/data.txt" rather than "src/data.txt" — locking in tar's libc-backed string rewrite via member-name transformation.
tar --exclude omits matching members from a created archive Original / libc6 / usage-tar-r17-exclude-pattern-roundtrip Passed
Stages three files under one directory and creates a tar archive with --exclude='*.skip' then asserts the listing contains the kept files but not the excluded one — locking in tar's create-time exclude-pattern matching.
tar -czf and tar -xzf round-trip a directory tree through gzip Original / libc6 / usage-tar-r18-gzip-z-flag-roundtrip Passed
Stages two files under one directory, creates a gzipped tar with -czf, extracts it into a fresh location with -xzf, and asserts both files are restored with matching content — locking in libc-backed tar+gzip stream handling on noble.
tar --numeric-owner restores numeric uid/gid from a created archive Original / libc6 / usage-tar-r19-numeric-owner-restore Passed
Creates a file, archives it with tar --numeric-owner, extracts into a fresh directory, then stats the extracted file and asserts its numeric uid equals the current process uid - locking in libc-backed numeric ownership preservation through tar.
tar --strip-components=1 drops the top-level directory from extracted paths Original / libc6 / usage-tar-r20-strip-components-removes-prefix Passed
Builds a tarball containing pkg/inner/file.txt, extracts it with --strip-components=1 into a fresh directory, and asserts the extracted layout has inner/file.txt at the root and no pkg/ directory - locking in libc-backed path manipulation via tar's component-stripping extraction.
tar archives file Original / libc6 / usage-tar-roundtrip Passed
tar --sort=name deterministic member ordering Original / libc6 / usage-tar-sort-name Passed
Creates two tar archives with --sort=name from differently-ordered inputs and verifies the listings are byte-identical and lexicographically sorted.
tar strip components Original / libc6 / usage-tar-strip-components Passed
Extracts a tar archive with stripped leading path segments and verifies the flattened output file.
tar subdirectory extract Original / libc6 / usage-tar-subdir-extract Passed
tar --to-command streams members to a child process Original / libc6 / usage-tar-to-command-pipe Passed
Extracts an archive with tar --to-command running a small bash filter that captures member contents and the TAR_FILENAME environment variable, verifying tar invokes the helper once per member through libc fork/exec.
tar extract member to stdout Original / libc6 / usage-tar-to-stdout-member-batch11 Passed
tar totals summary on create Original / libc6 / usage-tar-totals-summary Passed
Creates an archive with tar --totals and verifies the totals line on stderr reports a positive byte count.
tar transform member rename Original / libc6 / usage-tar-xform-rename Passed
Creates a tar archive with --transform sed-style renaming and verifies that the listed and extracted member uses the rewritten name.
CVE-2009-5155 libc6 regression Original / libc6 / cve-2009-5155 Passed
Asserts that regcomp returns a structured REG_* error or compiles successfully on alternation patterns that historically tripped an internal assertion in the regex compiler.
CVE-2010-4051 libc6 regression Original / libc6 / cve-2010-4051 Passed
Asserts that regcomp enforces the per-operator RE_DUP_MAX cap (REG_BADBR on (a){65535}) and, under a 256 MiB address-space limit, refuses to silently accept the adjacent-repetition pathological pattern (a){32767}{32767}{32767} — instead returning a structured REG_* error or aborting via the resource limit rather than running away.
CVE-2010-4756 libc6 regression Original / libc6 / cve-2010-4756 Passed
Asserts that glob() bounds its filesystem search on deeply nested patterns with non-trivial directory fan-out — every call returns within a 5-second time budget and a 256 MiB address-space cap rather than walking the full cartesian product of directory entries the way pre-fix glibc did.
CVE-2014-7817 libc6 regression Original / libc6 / cve-2014-7817 Passed
Asserts that wordexp with WRDE_NOCMD refuses to expand a command-substitution payload, returning WRDE_CMDSUB rather than executing the embedded command.
CVE-2015-20109 libc6 regression Original / libc6 / cve-2015-20109 Passed
Asserts that fnmatch on a crafted **(!() pattern returns a structured error or no-match result instead of crashing the caller.
CVE-2015-8776 libc6 regression Original / libc6 / cve-2015-8776 Passed
Asserts that strftime on a struct tm carrying an out-of-range tm_year either returns a bounded result or zero rather than crashing the caller, matching the patched defensive handling.
CVE-2016-10739 libc6 regression Original / libc6 / cve-2016-10739 Passed
Asserts that getaddrinfo with AI_NUMERICHOST rejects an IPv4 string with whitespace and trailing garbage, returning a non-zero error rather than silently accepting the prefix as a valid address.
CVE-2018-20796 libc6 regression Original / libc6 / cve-2018-20796 Passed
Asserts that regexec returns promptly on a battery of pathological ERE patterns matched against a long input, instead of entering uncontrolled recursion in proceed_next_node and consuming unbounded CPU time.
CVE-2020-27618 libc6 regression Original / libc6 / cve-2020-27618 Passed
Asserts that iconv terminates instead of looping forever when an IBM multi-byte conversion is fed an invalid sequence that previously left the decoder without forward progress.
CVE-2020-29562 libc6 regression Original / libc6 / cve-2020-29562 Passed
Asserts that converting from UCS4 with an irreversible character (a code point with no mapping in the target charset) returns a structured EILSEQ rather than tripping an assertion and aborting iconv.
CVE-2021-3326 libc6 regression Original / libc6 / cve-2021-3326 Passed
Asserts that iconv translating crafted ISO-2022-JP-3 input returns a structured error rather than aborting on an internal assertion.
CVE-2026-4046 libc6 regression Original / libc6 / cve-2026-4046 Passed
Asserts that iconv translating malformed bytes from IBM1390 returns a structured EILSEQ-style error rather than aborting via an internal assertion.
glibc dynamic loader symbol Port / libc6 / dlopen-libm-symbol Failed
glibc getaddrinfo localhost Port / libc6 / getaddrinfo-localhost Failed
glibc locale collation Port / libc6 / locale-collation Failed
glibc pthread join Port / libc6 / pthread-thread-join Failed
glibc stdio string conversion Port / libc6 / stdio-string-conversion Failed
bash arithmetic less-than compare Port / libc6 / usage-bash-arith-compare-lt Failed
bash array expansion Port / libc6 / usage-bash-array-expansion Failed
bash array length Port / libc6 / usage-bash-array-length Failed
bash associative array via declare -A Port / libc6 / usage-bash-assoc-array-declare Failed
Builds a bash associative array using declare -A, populates entries, and verifies indexed lookups and the keys-listing expansion.
bash printf %(format)T uses strftime via libc Port / libc6 / usage-bash-batch12-printf-strftime-iso-time Failed
Uses bash's printf %(format)T to render a fixed epoch via libc strftime in UTC and verifies the formatted output equals the expected ISO 8601 string.
bash brace expansion Port / libc6 / usage-bash-brace-expansion Failed
Expands a comma-separated brace list with bash and verifies each generated token appears in the output.
bash parameter case conversion Port / libc6 / usage-bash-case-conversion Failed
Exercises ${var^^} upper-case and ${var,,} lower-case parameter expansions and validates exact results.
bash case dispatch Port / libc6 / usage-bash-case-switch Failed
bash compgen -c command listing Port / libc6 / usage-bash-compgen-command-listing Failed
Uses bash compgen -c to list available commands and verifies common builtins/utilities are present.
bash getopts builtin flag parsing Port / libc6 / usage-bash-getopts-flags Failed
Drives the bash getopts builtin through a short-option string with an argument-bearing flag and a boolean flag, asserting OPTIND advances correctly.
bash here string Port / libc6 / usage-bash-here-string Failed
bash mapfile reads file into array Port / libc6 / usage-bash-mapfile-array Failed
Uses mapfile -t to load lines from a file into an array and verifies element count and content.
bash parameter trim Port / libc6 / usage-bash-parameter-trim Failed
Uses bash parameter expansion to trim a filename suffix and verifies the shortened value.
bash parameter expansion default value Port / libc6 / usage-bash-paramexp-default Failed
Exercises ${var:-default} and ${var:=default} parameter expansion forms to verify libc-backed string substitution semantics on unset and empty variables.
bash parameter expansion global replace Port / libc6 / usage-bash-paramexp-replace Failed
Uses ${var//pattern/repl} to globally replace a substring in a bash variable and verifies the rewritten value byte-for-byte.
bash printf hex format Port / libc6 / usage-bash-printf-hex-format Failed
Formats an integer as hexadecimal with bash printf and verifies the lowercase ff representation.
bash printf quoted shell escape Port / libc6 / usage-bash-printf-quoted-shell Failed
Uses bash printf %q to escape a string with whitespace and special characters and verifies the shell-safe form.
bash printf time format directive Port / libc6 / usage-bash-printf-time-format Failed
Formats a fixed epoch timestamp with the bash printf %(...)T directive in UTC and verifies the rendered date.
bash printf -v variable assignment Port / libc6 / usage-bash-printf-var Failed
Uses bash printf -v to assign a formatted integer into a named variable and verifies the exact rendered text.
bash globstar ** descends through subdirectories via libc readdir Port / libc6 / usage-bash-r10-globstar-recursive-glob Failed
Enables shopt -s globstar and verifies the ** pattern enumerates files at multiple depths in a fixture tree, exercising bash's libc readdir/opendir-backed glob expansion.
bash printf %q escapes shell metacharacters via libc string handling Port / libc6 / usage-bash-r11-printf-pct-q-shell-quote Failed
Uses bash builtin printf %q to shell-quote a string containing spaces single-quotes and dollar signs and verifies the result re-evaluates to the original via eval, exercising bash quoting that goes through libc string routines.
bash printf %*d takes width from argument list via libc Port / libc6 / usage-bash-r12-printf-asterisk-width Failed
Uses bash builtin printf with %*d to read the field width dynamically from the next argument and verifies the produced string is right-justified in a 6-column field via libc.
bash printf %08x zero-pads hex output via libc snprintf Port / libc6 / usage-bash-r12-printf-hex-format-padded Failed
Uses bash builtin printf to format an integer as zero-padded 8-digit hex via libc snprintf and asserts the exact lowercase output for 255 and 4096.
bash read -d '' loads NUL-delimited records via libc read Port / libc6 / usage-bash-r13-read-d-delim-into-array Failed
Builds a NUL-delimited stream of three records, uses bash read -d '' in a while loop to consume them via libc read into an array, and asserts the array length and contents are exact.
bash printf -v writes formatted output to a named variable Port / libc6 / usage-bash-r14-printf-v-assigns-variable Failed
Uses printf -v to assign a formatted string with width and zero-padding directly into a shell variable (no fork, no temporary file), and asserts the variable holds the expected libc-formatted bytes byte-for-byte.
bash readarray -n N reads at most N lines from a longer input Port / libc6 / usage-bash-r14-readarray-n-limit Failed
Writes a six-line input file, runs readarray -t -n 3 to load only the first three lines into an array via libc-backed read, asserts the array has exactly three elements with the expected values, and asserts the file still has six lines on disk to confirm only the array was bounded.
bash printf %q quotes a string with shell metacharacters into a re-parseable form Port / libc6 / usage-bash-r15-printf-q-shell-quote-roundtrip Failed
Uses bash printf %q to quote a string containing spaces, single quotes, and a dollar sign into a shell-safe representation, asserts the encoded form differs from the input, and round-trips it back to the original byte-for-byte by feeding the encoded form to eval as a single-word echo argument.
bash shopt -s extglob enables !(...) negation pattern in pathname expansion Port / libc6 / usage-bash-r15-shopt-extglob-negation Failed
Enables the extglob shell option, builds a directory of three files (a.txt, b.txt, c.log), runs an extglob !(*.log) pathname expansion under LC_ALL=C, sorts the result and asserts only a.txt and b.txt are matched (the .log file excluded) — exercising bash's libc-backed glob with extended-glob semantics.
bash ${VAR:-default} expands to default when variable is empty Port / libc6 / usage-bash-r16-paramexp-default-empty-var Failed
Sets a variable to the empty string and asserts the ${VAR:-default} parameter expansion form yields the default value, locking in the ":-" operator behavior against an empty-but-set variable — distinct from the unset-variable path.
bash printf "%(%Y)T" -1 prints a four-digit current-year-shaped string Port / libc6 / usage-bash-r16-printf-percent-y-current-year-shape Failed
Invokes bash's printf strftime conversion with -1 (now) using "%(%Y)T" and asserts the result is exactly four ASCII digits, locking in GNU printf's strftime format integration without committing to a specific year.
bash associative array stores and retrieves a key-value pair Port / libc6 / usage-bash-r17-assoc-array-roundtrip Failed
Declares an associative array via declare -A, assigns a value under a string key, and asserts the indexed read returns the original value byte-for-byte, locking in the bash 5.x associative-array surface on noble.
bash printf "%05d" zero-pads a small integer to width five Port / libc6 / usage-bash-r18-printf-percent-d-padding Failed
Invokes bash printf with format specifier "%05d" and argument 42, then asserts the captured output equals "00042" — locking in libc-backed integer padding in the bash builtin printf.
bash printf "%x" renders a small integer as lowercase hex without leading zero Port / libc6 / usage-bash-r19-printf-percent-x-hex Failed
Invokes bash printf with format specifier "%x" and argument 255, then asserts the captured output equals the string "ff" - locking in libc-backed lowercase hex conversion via the bash builtin printf.
bash printf "%o" renders decimal 8 as octal "10" Port / libc6 / usage-bash-r20-printf-percent-o-octal Failed
Invokes bash printf with format specifier "%o" and decimal argument 8, then asserts the captured output equals the string "10" - locking in libc-backed octal conversion via the bash builtin printf.
bash ${!name} indirect expansion resolves a variable by name Port / libc6 / usage-bash-r21-indirect-expansion-resolves-var Failed
Sets variable foo=bar and pointer=foo, then asserts ${!pointer} expands to "bar" - locking in the bash indirect-variable-reference operator, a code path not exercised by existing param-expansion tests (default/replace/trim).
bash mapfile -t reads four lines into an array of length 4 Port / libc6 / usage-bash-r21-mapfile-c-callback-counts Failed
Pipes a four-line heredoc into bash mapfile -t and asserts the resulting array length is exactly 4 and the third element equals "gamma" - locking in the line-stripping (-t) and array-size contract of mapfile distinct from existing -d and -n tests.
bash read -d delimiter Port / libc6 / usage-bash-read-delim-null Failed
Splits a NUL-delimited stream with bash read -d "" inside a while loop and verifies each record is captured intact.
bash readarray lines Port / libc6 / usage-bash-readarray-lines-batch11 Failed
Bash executes script Port / libc6 / usage-bash-script-exec Failed
bash substring expansion Port / libc6 / usage-bash-substring-expansion Failed
bash wait -n first child Port / libc6 / usage-bash-wait-first-child Failed
Spawns two background children and verifies bash wait -n returns when the earliest exits.
coreutils basename suffix Port / libc6 / usage-coreutils-basename-suffix Failed
Strips a multi-extension suffix from a path with basename and verifies the shortened filename.
numfmt --grouping under LC_ALL=C is a no-op Port / libc6 / usage-coreutils-batch12-numfmt-grouping-locale-c Failed
Runs numfmt --grouping on a large integer with LC_ALL=C and verifies no thousands separators are inserted (libc nl_langinfo path under POSIX locale).
/usr/bin/printf %.6f matches libc snprintf rounding Port / libc6 / usage-coreutils-batch12-printf-floating-point-precision Failed
Runs /usr/bin/printf with %.6f on a known IEEE-754 value and verifies the formatted output matches the expected libc rounding.
sort under LC_ALL=C uses pure ASCII byte order Port / libc6 / usage-coreutils-batch12-sort-locale-c-ascii-order Failed
Sorts a list of strings with mixed case and digits under LC_ALL=C and verifies the result follows ASCII byte order (digits before uppercase before lowercase).
coreutils comm computes set intersection Port / libc6 / usage-coreutils-comm-intersection Failed
Uses comm -12 on two sorted files to extract lines common to both and verifies the exact intersection.
coreutils csplit splits on regex marker Port / libc6 / usage-coreutils-csplit-pattern Failed
Uses csplit to break a file into sections at every occurrence of a marker line and verifies the resulting numbered output files contain the expected payload counts.
coreutils cut field Port / libc6 / usage-coreutils-cut-field Failed
coreutils cuts delimited fields Port / libc6 / usage-coreutils-cut-fields Failed
Extracts delimited columns with cut and verifies the selected field values are preserved.
coreutils cut multi-field colon delimiter Port / libc6 / usage-coreutils-cut-multi-field Failed
Selects fields 1 and 3 from a colon-delimited record with cut -d: -f1,3 and verifies exact line count and content.
coreutils formats date Port / libc6 / usage-coreutils-date Failed
coreutils factor prime decomposition Port / libc6 / usage-coreutils-factor-primes Failed
Runs coreutils factor on several inputs and verifies the integer factorizations returned through libc arbitrary-precision arithmetic helpers.
coreutils fold width Port / libc6 / usage-coreutils-fold-width Failed
coreutils head -n -K excludes trailing lines Port / libc6 / usage-coreutils-head-exclude-tail Failed
Uses head -n -2 to print all but the last two lines of a fixed input and verifies the surviving line count and contents.
coreutils head lines Port / libc6 / usage-coreutils-head-lines Failed
coreutils joins files Port / libc6 / usage-coreutils-join-files Failed
coreutils nl numbering Port / libc6 / usage-coreutils-nl-lines Failed
coreutils numfmt iec scaling Port / libc6 / usage-coreutils-numfmt-iec Failed
coreutils od unsigned decimal byte dump Port / libc6 / usage-coreutils-od-decimal-bytes Failed
Dumps bytes as unsigned decimals via od -An -tu1 and verifies the resulting numeric stream.
coreutils od hex bytes Port / libc6 / usage-coreutils-od-hex-bytes Failed
coreutils paste columns Port / libc6 / usage-coreutils-paste-columns Failed
coreutils pr merge columns Port / libc6 / usage-coreutils-pr-merge-columns Failed
Merges two text files side-by-side with pr -mt and verifies tokens from both files appear on the same line.
coreutils printf width padding Port / libc6 / usage-coreutils-printf-padding Failed
Formats integers with /usr/bin/printf using zero-pad and right-align width specifiers under LC_ALL=C and verifies the resulting columns.
date -u -d @<epoch> renders deterministic ISO-8601 via libc strftime Port / libc6 / usage-coreutils-r10-date-utc-fixed-epoch-iso Failed
Renders a fixed UNIX epoch through date -u -d @1700000000 with an ISO 8601 format string and verifies the output equals the expected UTC timestamp emitted by libc strftime.
coreutils printf %.3f under LC_ALL=C uses ASCII dot as decimal point Port / libc6 / usage-coreutils-r10-printf-locale-c-decimal-point Failed
Calls /usr/bin/printf with a fixed floating-point value under LC_ALL=C and verifies the formatted result uses the POSIX dot decimal separator delivered by libc localeconv.
coreutils cut -f extracts tab-delimited fields via libc fread Port / libc6 / usage-coreutils-r11-cut-fields-tab-delim Failed
Builds a TSV file with three columns and verifies that cut -f1,3 emits only columns 1 and 3 in tab-delimited form, exercising cut's libc-backed line buffering and field splitting.
coreutils od -An -tx1 dumps raw bytes via libc fread loop Port / libc6 / usage-coreutils-r11-od-canonical-bytes Failed
Pipes a known 5-byte ASCII string through od -An -tx1 -w16 and verifies the hex dump matches the expected ASCII byte values, exercising od's libc fread block-reading path.
coreutils paste -d cycles through delimiter list Port / libc6 / usage-coreutils-r12-paste-delim-list Failed
Pastes three input files together with paste -d',;' and verifies the cycled delimiter list interleaves the columns with comma then semicolon between fields.
coreutils tr -s squeezes runs of a character class Port / libc6 / usage-coreutils-r12-tr-squeeze-repeats Failed
Pipes a string with runs of spaces through tr -s ' ' under LC_ALL=C and verifies consecutive spaces collapse to a single space.
coreutils uniq -c emits adjacent run lengths Port / libc6 / usage-coreutils-r12-uniq-c-counts Failed
Feeds a sorted file with duplicate adjacent lines through uniq -c and verifies the leading count column matches the expected run lengths for each distinct line.
coreutils expand -t 4 substitutes tabs with 4-space stops via libc I/O Port / libc6 / usage-coreutils-r13-expand-tabs-width Failed
Pipes a tab-delimited record through expand -t 4 under LC_ALL=C and asserts each tab is converted to padded spaces such that columns align on the next 4-column stop.
coreutils sort --version-sort orders dotted version strings naturally Port / libc6 / usage-coreutils-r13-sort-version-sort Failed
Feeds a list of dotted release identifiers to sort --version-sort under LC_ALL=C and asserts the output is in natural version order rather than ASCIIbetical order.
coreutils stat -c %s reports exact byte size via libc stat Port / libc6 / usage-coreutils-r13-stat-c-size Failed
Writes a file with a known byte count, runs stat -c %s on it, and asserts the reported size matches the byte count returned by libc stat.
coreutils cut --output-delimiter rewrites the delimiter between selected fields Port / libc6 / usage-coreutils-r14-cut-output-delimiter Failed
Pipes a colon-delimited record through cut -d: -f1,3,5 --output-delimiter='|' under LC_ALL=C and asserts the selected fields are joined with the new pipe delimiter while the unselected fields are dropped.
coreutils numfmt --from=iec 1G expands to 1073741824 bytes Port / libc6 / usage-coreutils-r14-numfmt-from-iec-1g Failed
Runs numfmt --from=iec on the IEC suffixes 1K, 1M, and 1G under LC_ALL=C and asserts each result equals the exact integer byte count (1024, 1048576, 1073741824) rather than a rounded value.
coreutils od -w16 controls bytes-per-line and emits the expected number of data rows Port / libc6 / usage-coreutils-r15-od-w-line-width Failed
Generates a fixed 32-byte payload, runs od -An -tx1 -w16 under LC_ALL=C to dump the bytes in canonical 1-byte hex with a 16-byte line width, and asserts the output has exactly two non-empty data rows of sixteen 2-hex-digit tokens — exercising od's libc-backed buffered I/O and width formatting.
coreutils pr -t suppresses the header and trailer banner around input lines Port / libc6 / usage-coreutils-r15-pr-omit-header-tflag Failed
Pipes a fixed three-line input through pr -t under LC_ALL=C, asserts the output equals the input exactly (no five-line top header, no five-line bottom blank trailer that pr emits by default) — exercising pr's libc-backed line buffering and header-suppression flag.
cut --output-delimiter rewrites the field separator on output Port / libc6 / usage-coreutils-r16-cut-output-delimiter-pipe Failed
Pipes a comma-delimited single line into cut -d, -f1,3 --output-delimiter='|' and asserts the result joins the selected fields with a pipe rather than a comma, locking in the GNU --output-delimiter rewrite that splits the read/write delimiter.
date -u -d converts an epoch into a fixed ISO-8601 UTC string Port / libc6 / usage-coreutils-r18-date-iso-8601-utc Failed
Invokes date -u -d @1700000000 with -Iseconds and asserts the output equals "2023-11-14T22:13:20+00:00" — locking in libc-backed strftime emission for a known epoch in UTC.
wc -c reports the exact byte count of a 1024-byte binary file Port / libc6 / usage-coreutils-r19-wc-byte-count-binary Failed
Generates a 1024-byte binary file with python and runs wc -c against it, then asserts the leading numeric token is exactly 1024 - locking in libc-backed file-size accounting through coreutils wc.
wc -l counts five lines in a five-newline file Port / libc6 / usage-coreutils-r20-wc-line-count Failed
Writes five newline-terminated lines to a tempfile and runs wc -l against it, then asserts the leading numeric token is exactly 5 - locking in libc-backed line-count accounting through coreutils wc.
seq -f "%03g" 1 3 emits zero-padded "001", "002", "003" Port / libc6 / usage-coreutils-r21-seq-format-flag-pads Failed
Runs seq -f "%03g" 1 3 and asserts the three output lines equal exactly "001", "002", "003" - locking in seq's printf-style format flag rendering distinct from prior seq-free coreutils numeric tests.
truncate -s 1024 grows a tiny file to exactly 1024 bytes Port / libc6 / usage-coreutils-r21-truncate-size-zero-pads Failed
Writes a 4-byte file then runs truncate -s 1024 against it, asserting the resulting file size is exactly 1024 bytes - locking in the size-extension code path of truncate which is not covered by existing coreutils tests.
coreutils realpath resolves symlinks Port / libc6 / usage-coreutils-realpath-symlink Failed
Creates a symlink chain and resolves it through realpath, asserting the canonical target path is returned.
coreutils sha256sum digest Port / libc6 / usage-coreutils-sha256sum Failed
coreutils numeric sort Port / libc6 / usage-coreutils-sort-numeric Failed
coreutils sort unique Port / libc6 / usage-coreutils-sort-unique Failed
coreutils version sort Port / libc6 / usage-coreutils-sort-version-batch11 Failed
coreutils sorts text Port / libc6 / usage-coreutils-sort Failed
coreutils stat size format Port / libc6 / usage-coreutils-stat-size-format-batch11 Failed
coreutils stat size Port / libc6 / usage-coreutils-stat-size Failed
coreutils tac reverses line order Port / libc6 / usage-coreutils-tac-reverse Failed
Reverses a five-line input file with tac and verifies both the line order and total line count.
coreutils tail line Port / libc6 / usage-coreutils-tail-lines Failed
coreutils tee append Port / libc6 / usage-coreutils-tee-append Failed
Appends two payloads to the same file via tee -a and verifies both records are preserved in order.
coreutils tr complement-delete keeps alnum Port / libc6 / usage-coreutils-tr-complement-keep Failed
Filters a noisy string with tr -dc to keep only alphanumeric bytes and verifies the resulting payload exactly.
coreutils tr delete digits Port / libc6 / usage-coreutils-tr-delete-digits Failed
Deletes ASCII digits from input with tr -d and verifies only alphabetic characters remain.
coreutils tr squeeze repeated characters Port / libc6 / usage-coreutils-tr-squeeze-repeats Failed
Uses tr -s to collapse runs of repeated characters into a single instance and verifies the output.
coreutils tr uppercase Port / libc6 / usage-coreutils-tr-uppercase Failed
coreutils uniq count Port / libc6 / usage-coreutils-uniq-count Failed
coreutils wc bytes Port / libc6 / usage-coreutils-wc-bytes Failed
coreutils counts lines Port / libc6 / usage-coreutils-wc-lines Failed
find -printf %s reports exact byte size from libc stat Port / libc6 / usage-findutils-batch12-printf-size-bytes Failed
Creates files with known byte sizes and verifies "find -printf '%s\n'" reports those exact sizes (libc stat path).
findutils empty file filter Port / libc6 / usage-findutils-empty-files Failed
findutils traverses files Port / libc6 / usage-findutils-find Failed
find -inum locates files by inode number Port / libc6 / usage-findutils-inum-match Failed
Creates a file plus a hard link, queries its inode via stat, and verifies find -inum lists both names through libc filesystem stat calls.
findutils maxdepth filter Port / libc6 / usage-findutils-maxdepth Failed
findutils -mindepth 2 skips top-level entries Port / libc6 / usage-findutils-mindepth-two Failed
Builds a nested fixture tree and verifies find -mindepth 2 lists exactly the entries below the top-level directories.
findutils mindepth filter Port / libc6 / usage-findutils-mindepth Failed
findutils name pattern Port / libc6 / usage-findutils-name-pattern Failed
findutils perm any-writable filter Port / libc6 / usage-findutils-perm-writable Failed
Uses find -perm /222 to select files with any writable bit and verifies that only the writable fixture is reported.
findutils newer than file Port / libc6 / usage-findutils-print-newer Failed
Filters files newer than a marker with find -newer and verifies only the recently created file is reported.
findutils printf epoch mtime Port / libc6 / usage-findutils-printf-mtime Failed
Sets a fixed mtime on a fixture file and uses find -printf %T@ to read the epoch timestamp back, verifying the value matches.
find prune name Port / libc6 / usage-findutils-prune-name-batch11 Failed
find -printf %m emits the octal permission bits from libc stat Port / libc6 / usage-findutils-r10-printf-perm-octal Failed
Creates a file with mode 0644, runs find with -printf %m, and verifies the emitted octal mode equals 644 — exercising the libc stat path that supplies st_mode.
findutils find -newer compares libc-stat mtime between two files Port / libc6 / usage-findutils-r11-newer-mtime-filter Failed
Creates two files with explicit mtimes one hour apart and verifies find -newer reports only the newer file relative to the older anchor exercising findutils libc stat-based mtime comparison.
findutils find -regex matches files by full path extension Port / libc6 / usage-findutils-r12-regex-extension Failed
Creates a directory of mixed extensions and uses find -regex with the emacs default regex type to select only .log files, asserting only the expected files are returned.
findutils find -type l selects only symbolic links via libc lstat Port / libc6 / usage-findutils-r13-type-l-symlink-filter Failed
Builds a directory containing a regular file, a directory, and a symlink, then runs find -type l and asserts only the symlink is reported.
findutils find -execdir runs the helper from the matched file's directory Port / libc6 / usage-findutils-r14-execdir-basename Failed
Builds a two-level directory tree containing files in the inner subdirectory, runs find with -execdir printf '%s\n' {} \; on .txt members under LC_ALL=C, and asserts the captured arguments are bare './'-prefixed basenames (proof that -execdir changed cwd to the parent of each match before invoking the helper).
findutils find -size 100c selects only files of exactly 100 bytes Port / libc6 / usage-findutils-r15-size-bytes-exact Failed
Creates three fixed-size files (50, 100, 200 bytes), runs find -size 100c -printf '%f\n' under LC_ALL=C, and asserts only the 100-byte file is reported — exercising findutils' libc-backed stat-size predicate.
find -newer selects files modified after a reference touchstone Port / libc6 / usage-findutils-r16-find-newer-by-mtime Failed
Creates a reference file, sleeps briefly, creates a second file, and asserts find -newer reference reports only the later file — locking in the relative-mtime selection that depends on libc stat semantics.
find -prune skips a named subdirectory's contents during traversal Port / libc6 / usage-findutils-r17-prune-skips-subtree Failed
Builds a directory tree with files under both a "keep" subdirectory and a "skip" subdirectory then asserts find with -prune omits everything under skip while still emitting the files under keep — locking in libc-backed traversal pruning.
find -mtime -1 lists a freshly created file in the working tree Port / libc6 / usage-findutils-r18-mtime-zero-recent-files Failed
Creates a fresh file under a temp directory and asserts find with -mtime -1 finds the file by path, locking in libc-backed mtime predicate matching for recently modified files.
find -type f counts only regular files and ignores directories and symlinks Port / libc6 / usage-findutils-r19-find-type-f-counts-files Failed
Builds a tree of three regular files plus one subdirectory plus one symlink, runs find -type f piped to wc -l, and asserts the count equals exactly 3 - locking in libc-backed lstat handling that distinguishes regular files from other inode kinds.
find -type d -empty locates an empty directory among populated peers Port / libc6 / usage-findutils-r20-find-empty-flag-on-empty-dir Failed
Builds a tree with one empty directory and two populated peers, runs find -type d -empty rooted at the tree, and asserts the captured output contains the empty directory path and excludes the populated peers - locking in libc-backed directory iteration through findutils' -empty predicate.
find -printf "%y" emits the type letter for regular files and directories Port / libc6 / usage-findutils-r21-printf-y-type-letter Failed
Builds a directory containing one regular file, then runs find -printf "%y\n" and asserts the captured output contains both "d" (for the directory) and "f" (for the regular file) - locking in the -printf %y format-letter rendering distinct from prior -printf permissions/size tests.
findutils -regextype posix-extended match Port / libc6 / usage-findutils-regex-extended Failed
Filters a directory tree with find -regextype posix-extended using an alternation pattern and confirms only matching paths are emitted.
findutils type filtering Port / libc6 / usage-findutils-type-filter Failed
findutils xargs -I substitutes per item Port / libc6 / usage-findutils-xargs-iarg Failed
Pipes find output through xargs -I{} -n1 to run a per-file command and verifies exact transformed output.
findutils xargs max-args batching Port / libc6 / usage-findutils-xargs-max-args Failed
Pipes five tokens through xargs --max-args=2 and verifies the input is grouped into batches of two per invocation.
findutils xargs -0 null-delimited input Port / libc6 / usage-findutils-xargs-null-input Failed
Pipes find -print0 through xargs -0 to safely handle filenames with spaces and verifies all entries are processed.
gawk asorti sorts associative keys Port / libc6 / usage-gawk-asorti-keys Failed
Builds an associative array in gawk and sorts its keys with asorti under LC_ALL=C, then prints them in order to verify deterministic ordering.
gawk associative array Port / libc6 / usage-gawk-assoc-array Failed
gawk sprintf %.2f under LC_ALL=C uses dot decimal Port / libc6 / usage-gawk-batch12-sprintf-locale-comma-c Failed
Uses gawk sprintf with %.2f under LC_ALL=C and verifies the formatted result uses a dot as decimal separator (libc lconv default for C locale).
gawk CSV aggregation Port / libc6 / usage-gawk-csv-aggregate Failed
gawk field sum Port / libc6 / usage-gawk-csv-sum Failed
gawk ENVIRON array access Port / libc6 / usage-gawk-environ-access Failed
Reads an exported environment variable from gawk via the ENVIRON array and verifies the value is recovered exactly.
gawk sums fields Port / libc6 / usage-gawk-field-sum Failed
gawk gensub backreference rewrite Port / libc6 / usage-gawk-gensub-backref Failed
Rewrites name=value pairs to value:name with gawk gensub backreferences and verifies the transformed output.
gawk getline pairs adjacent lines Port / libc6 / usage-gawk-getline-next Failed
Uses gawk getline to consume the line following each header marker and joins the pair, then verifies the exact joined output.
gawk length() over fields and lines Port / libc6 / usage-gawk-length-string Failed
Computes per-line field counts and the maximum string length across an input via gawk length() to exercise libc-backed string measurement.
gawk match capture array Port / libc6 / usage-gawk-match-capture-array Failed
Captures parenthesised regex groups via gawk match() into an array and verifies each captured field.
gawk distinguishes NR and FNR across files Port / libc6 / usage-gawk-multi-file-fnr Failed
gawk numeric formatting Port / libc6 / usage-gawk-number-format Failed
gawk printf precision Port / libc6 / usage-gawk-printf-precision Failed
Formats one third with gawk printf %.3f and verifies the truncated three-digit precision.
gawk printf zero-padded integer Port / libc6 / usage-gawk-printf-zero-pad Failed
Uses gawk printf "%05d" to format integers with leading zeros and verifies the resulting fixed-width values.
gawk tolower/toupper round-trip ASCII letters under LC_ALL=C Port / libc6 / usage-gawk-r10-tolower-toupper-ascii-roundtrip Failed
Pipes mixed-case ASCII through gawk tolower(toupper($0)) under LC_ALL=C and verifies the result equals the lowercase original (libc tolower/toupper path).
gawk printf %d formats large integers via libc snprintf Port / libc6 / usage-gawk-r11-printf-d-conversion-large Failed
Uses awk BEGIN block printf %d on the value 2147483647 INT32 max and verifies the formatted string round-trips through libc snprintf without overflow truncation.
gawk gsub() replaces every regex match in the record Port / libc6 / usage-gawk-r12-gsub-replace-all Failed
Uses gawk gsub() with a digit-class regex to replace every digit in the input with a hash character and asserts the count of substitutions and the rewritten record.
gawk asort() sorts an unindexed array into ascending order Port / libc6 / usage-gawk-r13-asort-numeric-reorder Failed
Builds a numeric array of unsorted values in gawk, calls asort() to reorder values into a 1-indexed array, and asserts the resulting concatenation matches the expected ascending sequence.
gawk PROCINFO["version"] reports a non-empty version string Port / libc6 / usage-gawk-r14-procinfo-version-key Failed
Reads PROCINFO["version"] in a BEGIN block under LC_ALL=C, asserts the string is non-empty and starts with a digit (gawk version banner), and asserts PROCINFO["pid"] is a positive integer matching the gawk process id from the shell.
gawk printf %c converts a numeric argument to its ASCII character byte Port / libc6 / usage-gawk-r15-printf-c-numeric-to-char Failed
Runs gawk printf "%c" 65 65 66 67 (decimal codepoints for 'A','A','B','C') in a BEGIN block under LC_ALL=C, asserts the printed bytes equal "AABC" — exercising gawk's libc-backed printf integer-to-char conversion.
gawk srand(SEED) makes rand() output deterministic across two invocations Port / libc6 / usage-gawk-r16-srand-determinism-with-seed Failed
Calls gawk BEGIN{srand(1);print rand()} twice and asserts the two outputs are identical floating-point strings, locking in gawk's seeded PRNG determinism.
gawk NR==FNR captures the first file's keys then projects from the second Port / libc6 / usage-gawk-r17-nr-equals-fnr-two-file-merge Failed
Builds two files keyed by their first field, feeds them to gawk in order, and uses the canonical NR==FNR idiom to store the first file's values then emit matched values from the second file — locking in awk's two-pass file-merge semantics.
gawk sprintf "%.3f" rounds a float to three decimals Port / libc6 / usage-gawk-r18-sprintf-precision-float Failed
Invokes gawk with BEGIN { printf "%.3f\n", 1.23456789 } and asserts the output equals "1.235" — locking in libc-backed float formatting in gawk's printf.
gawk substr() extracts a fixed range of characters from a record Port / libc6 / usage-gawk-r19-substr-extract-bytes Failed
Pipes a known string into gawk and prints substr($0, 8, 5), then asserts the captured token equals the expected slice - locking in libc-backed substring extraction via the gawk runtime.
gawk length() returns 11 for the ASCII string "hello world" Port / libc6 / usage-gawk-r20-length-counts-chars Failed
Invokes gawk 'BEGIN{print length("hello world")}' and asserts the captured output is exactly "11" - locking in libc-backed string-length computation through gawk's length() builtin.
gawk split() with a regex separator returns the expected field count Port / libc6 / usage-gawk-r21-split-with-regex-fs Failed
Runs gawk split($0, a, /[,;]/) on the input "one,two;three,four" and asserts the returned field count is 4 and a[3] equals "three" - locking in split()'s regex-separator behavior which is distinct from default FS field-splitting tests.
gawk strftime epoch Port / libc6 / usage-gawk-strftime-epoch-batch11 Failed
gawk uppercase transform Port / libc6 / usage-gawk-string-upper Failed
gawk sum column Port / libc6 / usage-gawk-sum-column Failed
grep prints after-match context Port / libc6 / usage-grep-after-context Failed
Uses grep -A 2 to print two lines following each match and verifies exact line count and content.
grep -L lists files without a match across multiple inputs Port / libc6 / usage-grep-batch12-binary-files-without-match Failed
Runs grep -L over three files (two without the pattern, one with) and verifies the output contains exactly the two non-matching paths in input order.
grep prints before-match context Port / libc6 / usage-grep-before-context Failed
Uses grep -B 2 to emit two lines preceding each match and verifies exact line ordering and count.
grep count matches Port / libc6 / usage-grep-count-match Failed
grep extended alternation Port / libc6 / usage-grep-extended-alternation-batch11 Failed
grep extended regular expression Port / libc6 / usage-grep-extended-regex Failed
grep fixed string Port / libc6 / usage-grep-fixed-string Failed
grep fixed-string whole-line match Port / libc6 / usage-grep-fixed-whole-line Failed
Uses grep -F -x to match exact whole lines literally and confirms partial matches are excluded.
grep recursive include glob Port / libc6 / usage-grep-include-glob Failed
Recursively searches a tree with grep --include="*.txt" and verifies non-matching extensions are skipped.
grep inverted match Port / libc6 / usage-grep-invert-match Failed
grep line number Port / libc6 / usage-grep-line-number Failed
grep --null-data NUL-delimited records Port / libc6 / usage-grep-null-data Failed
Treats input as NUL-separated records with grep --null-data and verifies only matching records are emitted, separated by NUL bytes.
grep only matching Port / libc6 / usage-grep-only-matching Failed
Extracts only the matched substrings with grep -o and verifies each captured token appears.
grep fixed-string pattern file Port / libc6 / usage-grep-pattern-file Failed
Uses grep -F -f to match a haystack against a file of literal patterns and verifies that only the listed entries are reported.
grep -P positive lookahead Port / libc6 / usage-grep-pcre-lookahead Failed
Matches a token followed by a specific suffix using a PCRE positive lookahead and confirms only the prefix portion is reported by grep -oP.
grep perl-compatible regex lookahead Port / libc6 / usage-grep-perl-regex Failed
Uses grep -P with a positive lookahead to extract identifiers preceding an equals sign and verifies the match list.
grep [[:alpha:]] under LC_ALL=C matches only ASCII letters Port / libc6 / usage-grep-r10-class-alpha-c-locale-ascii-only Failed
Greps a mixed ASCII-letter and digit-and-punctuation input under LC_ALL=C using the POSIX [[:alpha:]] class and verifies only ASCII letter lines match (libc isalpha under POSIX locale).
grep -F with multiline pattern matches any of the literal lines Port / libc6 / usage-grep-r11-fixed-string-multiline-pattern Failed
Passes a two-line newline-separated literal pattern to grep -F and verifies it matches lines containing either literal exercising grep multi-pattern handling via libc memchr-based scanning.
grep -z treats input as NUL-separated records and emits NUL-terminated matches Port / libc6 / usage-grep-r13-z-null-data-mode Failed
Builds a NUL-delimited input of three records, runs grep -z to match a single record, and asserts the match output ends with a NUL byte and equals the matched record exactly.
grep -b prefixes each match with its 0-based byte offset Port / libc6 / usage-grep-r15-byte-offset-prefix Failed
Builds a four-line file of fixed bytes, runs grep -b on a pattern that hits the second line, and asserts the output starts with the byte offset of the matching line followed by ':' and the matched line — exercising grep's libc-backed file positioning and -b prefix.
grep -P with a positive lookbehind matches only after the prefix Port / libc6 / usage-grep-r16-pcre-lookbehind-match Failed
Feeds a small fixture into grep -P with the regex (?<=foo-)\\d+ and asserts only the digits following the "foo-" prefix are matched, not bare digits — locking in the PCRE lookbehind support shipping with libpcre-linked grep on Ubuntu 24.04.
grep -A 2 emits two post-match context lines after a hit Port / libc6 / usage-grep-r17-after-context-two-lines Failed
Builds a five-line file with a single "needle" anchor, runs grep -A 2 against it, and asserts the output is exactly the anchor plus the two following lines in order — locking in libc-backed grep post-context selection.
grep -P matches the perl-compatible \d digit class against a mixed line Port / libc6 / usage-grep-r18-perl-regex-digit-class Failed
Builds a three-line input where only the middle line contains digits, runs grep -P '\d+' on it, and asserts the output is exactly the digit-bearing line — locking in PCRE-flavored regular expression support in noble's grep build.
grep -o prints only the matched token, one per line Port / libc6 / usage-grep-r19-only-matching-token Failed
Runs grep -o against a small text where the pattern "fox" appears three times across two lines, and asserts the captured output is exactly three lines each equal to "fox" - locking in libc-backed regex-only-match extraction.
grep -i matches a lowercase pattern against mixed-case input lines Port / libc6 / usage-grep-r20-ignore-case-mixed-input Failed
Builds a three-line file with mixed-case content (Hello, HELLO, world), runs grep -i hello, and asserts exactly two lines match - locking in libc-backed case-insensitive matching via grep -i.
grep -r --include="*.log" restricts recursion to files matching the glob Port / libc6 / usage-grep-r21-recursive-with-include-glob Failed
Builds a directory tree containing a .log file holding a unique token and a .txt file with the same token, runs grep -r --include="*.log" on the directory, and asserts only the .log file's match is reported - locking in --include's filtering interaction with -r recursion (existing include-glob test uses non-recursive grep).
grep matches regex Port / libc6 / usage-grep-regex Failed
grep whole-word match Port / libc6 / usage-grep-word-match Failed
gzip custom suffix roundtrip Port / libc6 / usage-gzip-custom-suffix Failed
Compresses a file using gzip -S with a non-default suffix and verifies decompression restores the original payload.
gzip keep original Port / libc6 / usage-gzip-keep-original Failed
Compresses a file with gzip -k and verifies both the original and compressed files exist with restorable content.
gzip -1 and -9 produce different sizes Port / libc6 / usage-gzip-level-size Failed
Compresses identical input with gzip -1 (fast) and gzip -9 (best) and verifies both decompress back to the original payload while -9 produces output no larger than -1.
gzip list compressed size Port / libc6 / usage-gzip-list-compressed-size-batch11 Failed
gzip -n omits original name and timestamp Port / libc6 / usage-gzip-no-name-flag Failed
Compresses with gzip -n and inspects the gzip header bytes to confirm the FNAME flag is unset and mtime is zero.
gzip compresses and decompresses zero-byte input losslessly Port / libc6 / usage-gzip-r10-empty-input-roundtrip Failed
Pipes zero bytes through gzip then gunzip and verifies the decompressed stream is also zero bytes, exercising libc fread/fwrite at EOF in the gzip pipeline.
gzip --keep retains the original input file alongside the gz Port / libc6 / usage-gzip-r11-keep-flag-preserves-source Failed
Compresses a fixture file with gzip --keep and verifies both the original input file and the new .gz file exist after compression exercising gzip libc-backed file open and rename suppression behavior.
gzip --rsyncable produces a decompressible archive of identical content Port / libc6 / usage-gzip-r12-rsyncable-flag Failed
Compresses a payload with gzip --rsyncable and verifies that gunzip -c restores the exact original bytes (rsyncable changes block boundaries but preserves content).
gzip -l listing exposes header columns and the uncompressed filename Port / libc6 / usage-gzip-r13-list-fields-uncompressed-name Failed
Compresses a known payload with gzip -k, runs gzip -l on the resulting .gz, and asserts both that the header row carries the expected column labels and that the data row references the uncompressed source name.
gzip -n clears the FNAME header bit while default preserves it Port / libc6 / usage-gzip-r14-no-name-flag-strips-orig Failed
Compresses two copies of the same payload — one with gzip -n (suppress name+mtime) and one with default flags (which preserves the FNAME) — and asserts byte 3 (flag byte) of each .gz header has the FNAME bit (0x08) cleared in the -n archive and set in the default archive.
gzip --rsyncable produces a stream that round-trips to identical bytes Port / libc6 / usage-gzip-r16-rsyncable-roundtrip-equal Failed
Compresses a payload with gzip --rsyncable and asserts the decompressed bytes equal the original byte-for-byte, locking in that the rsyncable block-boundary heuristic does not alter the payload content even though it changes the compressed representation.
gzip --best emits a smaller-or-equal archive than --fast for compressible input Port / libc6 / usage-gzip-r17-best-produces-output Failed
Compresses the same large repetitive payload twice — once with --fast and once with --best — and asserts the --best archive is at most as large as the --fast archive while decompressing back to the original SHA-256, locking in the level-9 effectiveness contract.
gzip -k retains the original file alongside the .gz output Port / libc6 / usage-gzip-r18-keep-flag-leaves-source Failed
Creates a small text file, runs gzip -k against it, and asserts both the original file and the new .gz archive coexist in the working directory — locking in the keep-flag's non-destructive contract.
gzip -n strips the original filename from the gzip header Port / libc6 / usage-gzip-r19-n-flag-omits-name Failed
Compresses a named file twice (once with default options, once with -n -c), inspects the gzip header byte at offset 3 of both archives via od, and asserts the -n archive has the FNAME bit (0x08) clear while the default archive has it set - locking in libc-backed header field control via the gzip -n flag.
gzip --fast and gzip --best both produce valid gzip output for the same input Port / libc6 / usage-gzip-r20-decimal-level-fast Failed
Compresses a 4 KiB repeating-pattern payload with gzip --fast and gzip --best independently, then asserts both outputs decompress to the original payload byte-for-byte and both files start with the gzip magic bytes 1f 8b - locking in libc-backed compression-level handling on both ends of the gzip level range.
gzip -c writes a valid archive to stdout while leaving the source file intact Port / libc6 / usage-gzip-r21-stdout-keep-source-and-compressed Failed
Writes a payload, pipes it through gzip -c into a separate .gz, decompresses to verify integrity, and asserts both the source still exists at original size and the decompressed payload matches the source - locking in gzip -c stdout mode's non-destructive behavior on the source distinct from existing keep-flag tests.
gzip recursive directory compress Port / libc6 / usage-gzip-recursive-dir Failed
Compresses every regular file under a directory tree with gzip -r and verifies all members are replaced by .gz files that decompress back to the original payloads.
gzip compresses file Port / libc6 / usage-gzip-roundtrip Failed
gzip stdin round trip Port / libc6 / usage-gzip-stdin-roundtrip Failed
gzip stdout round trip Port / libc6 / usage-gzip-stdout-roundtrip Failed
Compresses to stdout with gzip, decompresses from stdout, and verifies the original payload returns intact.
gzip integrity check Port / libc6 / usage-gzip-test-integrity Failed
gzip zcmp compares two .gz files Port / libc6 / usage-gzip-zcmp-equal Failed
Uses zcmp to compare two gzip-compressed files with identical and differing payloads, verifying exit codes and diff output.
gzip zgrep matches regex inside compressed file Port / libc6 / usage-gzip-zgrep-regex Failed
Compresses a fixed text fixture with gzip and uses zgrep to match a regular expression against it, verifying exact matching lines and count.
python3 base85 encode roundtrip Port / libc6 / usage-python3-base85-encode Failed
Encodes a payload with base64.b85encode and verifies b85decode reproduces the original bytes.
python3 time.strftime via libc strftime in UTC Port / libc6 / usage-python3-batch12-time-strftime-utc Failed
Uses python3 time.strftime to format a fixed epoch in UTC via libc strftime and verifies the output equals the expected ISO 8601 string.
python3 hashlib blake2b known-answer test Port / libc6 / usage-python3-blake2b-kat Failed
Computes BLAKE2b-512 of "abc" via hashlib and compares to the published reference digest.
python3 configparser INI roundtrip Port / libc6 / usage-python3-configparser-roundtrip Failed
Writes and reads an INI file with python3 configparser and verifies the section values survive the roundtrip.
python csv round trip Port / libc6 / usage-python3-csv-roundtrip Failed
python3 ctypes calls libc memcmp on equal and unequal buffers Port / libc6 / usage-python3-ctypes-libc-strlen Failed
Loads libc through ctypes.CDLL using ctypes.util.find_library and invokes memcmp on three buffer pairs (equal, lhs<rhs, lhs>rhs) to verify the FFI bridge returns 0 for equal inputs and a sign-correct nonzero result for unequal inputs. Distinct from the strlen ctypes test in this library.
python3 ctypes calls libc strlen Port / libc6 / usage-python3-ctypes-strlen Failed
Loads libc through ctypes.CDLL, declares argtypes/restype for strlen, and verifies the returned length matches a known byte string measured in Python.
Python file I/O runtime Port / libc6 / usage-python3-file-io Failed
python3 hashlib md5 Port / libc6 / usage-python3-hashlib-md5 Failed
python ipaddress IPv4Address conversion Port / libc6 / usage-python3-ipaddress-ipv4 Failed
Uses ipaddress.IPv4Address to round-trip dotted-quad and integer forms and verifies exact textual output.
Python literal round trip Port / libc6 / usage-python3-json-roundtrip Failed
Serializes and reloads a structured Python literal with Python and verifies the decoded values survive round trip.
Python os strerror Port / libc6 / usage-python3-minimal-os-strerror-batch11 Failed
Python locale.localeconv() under LC_ALL=C reports POSIX defaults Port / libc6 / usage-python3-minimal-r10-locale-localeconv-c Failed
Sets LC_ALL=C and queries Python's locale.localeconv() for the decimal point and thousands separator, verifying they equal the POSIX libc localeconv values (dot and empty string).
python3 strftime formats a fixed UTC epoch via libc strftime Port / libc6 / usage-python3-minimal-r11-strftime-utc-fixed Failed
Calls time.strftime with a known UTC struct_time built from a fixed epoch and verifies the formatted ISO string matches the expected value exercising python3 wrapping libc strftime.
python3 datetime.fromisoformat parses and round-trips an ISO-8601 timestamp Port / libc6 / usage-python3-minimal-r14-datetime-fromisoformat Failed
Constructs a fixed UTC datetime via datetime.datetime.fromisoformat, asserts each component (year, month, day, hour, minute, second, microsecond, tzinfo offset) matches the source string, and asserts dt.isoformat() yields the same string back, exercising the libc-backed time library bindings.
python3 os.statvfs returns positive total/used/free for /tmp Port / libc6 / usage-python3-minimal-r15-shutil-disk-usage-positive Failed
Calls os.statvfs('/tmp') in a single-shot python3 invocation, derives total/used/free from f_blocks, f_bavail, f_bfree, f_frsize, asserts each field is a positive integer, and asserts used + free <= total (filesystem accounting invariant) — exercising the libc statvfs binding directly. shutil.disk_usage is a thin wrapper over the same call but lives in the python3 package, not python3-minimal.
python3 time.gmtime decomposes a fixed epoch into a known UTC tuple Port / libc6 / usage-python3-minimal-r18-time-gmtime-fixed-epoch Failed
Invokes python3 -c with time.gmtime(1700000000) and asserts the year/month/day/hour/minute/second fields equal 2023/11/14/22/13/20 — locking in libc-backed gmtime for a deterministic epoch.
python3 os.getpid() returns a positive integer that matches the current process namespace Port / libc6 / usage-python3-minimal-r19-os-getpid-positive Failed
Invokes python3 -c "import os; print(os.getpid())" and asserts the captured integer is greater than zero and consists entirely of digits - locking in libc getpid() exposure through the python os module.
python3 os.uname().sysname equals "Linux" on the ubuntu container Port / libc6 / usage-python3-minimal-r20-os-uname-sysname-linux Failed
Invokes python3 -c "import os; print(os.uname().sysname)" inside the Ubuntu 24.04 container and asserts the captured sysname string equals "Linux" - locking in libc-backed uname syscall exposure through python3 os.uname.
python3 os.confstr exposes glibc runtime info Port / libc6 / usage-python3-os-confstr-libc-version Failed
Calls os.confstr('CS_GNU_LIBC_VERSION') to read the GNU libc release string at runtime and confirms the response begins with 'glibc'.
python3 os.listdir sorted Port / libc6 / usage-python3-os-listdir-sorted Failed
Lists a directory through Python os.listdir and verifies the sorted entry names produced by the runtime.
Python pathlib runtime Port / libc6 / usage-python3-pathlib-runtime Failed
python3 pbkdf2_hmac known-answer Port / libc6 / usage-python3-pbkdf2-kat Failed
Derives a key with hashlib.pbkdf2_hmac against an RFC 6070 known-answer vector and verifies the hex digest exactly.
python3 struct.calcsize("=Q") reports 8 bytes on Ubuntu 24.04 Port / libc6 / usage-python3-r16-struct-calcsize-equal-q Failed
Asks the full python3 interpreter for the size of "=Q" (standard, no padding, unsigned 64-bit) and asserts the answer is 8, locking in the standard-layout struct width that libc-aligned struct packing relies on.
python3 hashlib.sha256("abc") matches the NIST FIPS 180 test vector Port / libc6 / usage-python3-r17-hashlib-sha256-known-vector Failed
Runs python3 -c with hashlib.sha256(b"abc").hexdigest() and asserts the value equals the canonical NIST FIPS 180 test vector ba7816...f20015ad — locking in libc-backed openssl/hashlib digest for a well-known input.
python3 re.sub collapses each digit run into the literal N Port / libc6 / usage-python3-r17-re-sub-digits-replaced Failed
Runs python3 -c with re.sub(r"\d+","N","a1b2c3") and asserts the output is exactly "aNbNcN", locking in the libc-backed regex digit-class behavior on the full python3 stdlib.
python3 os.path.realpath resolves a symlink to its target via libc Port / libc6 / usage-python3-r18-os-path-realpath-symlink Failed
Creates a target file and a symlink pointing at it, then invokes python3 -c with os.path.realpath against the symlink and asserts the resolved path matches the realpath of the target file — locking in libc-backed readlink chain resolution.
python3 struct.pack with ">I" emits four big-endian bytes for an unsigned int Port / libc6 / usage-python3-r19-struct-pack-int-network Failed
Invokes a one-line python3 program that calls struct.pack(">I", 0x01020304) and prints the resulting bytes as hex, then asserts the captured hex equals "01020304" - locking in libc-backed byte-order conversion via the python struct module.
python3 struct.unpack(">H", b"\x12\x34") recovers 0x1234 Port / libc6 / usage-python3-r20-struct-unpack-roundtrip Failed
Invokes a one-line python3 program that calls struct.unpack(">H", b"\\x12\\x34") and prints the first tuple element in hex, then asserts the captured value equals "0x1234" - locking in libc-backed byte-order unpacking via the python struct module.
python3 urllib.parse.quote escapes a space as "%20" Port / libc6 / usage-python3-r21-urllib-parse-quote-rfc3986 Failed
Invokes python3 -c with urllib.parse.quote on the string "a b" and asserts the result is exactly "a%20b" - locking in libc-backed percent-encoding through python's urllib module, distinct from existing python3 stdlib tests (json, csv, hashlib, struct, ipaddress, base85).
Python runs libc-backed runtime Port / libc6 / usage-python3-runtime Failed
python os.urandom token hex via libc6 getrandom Port / libc6 / usage-python3-secrets-token-hex Failed
Reads 16 random bytes via os.urandom (which is backed by libc6 getrandom on Linux) and verifies the hex-encoded form has exactly 32 lowercase hex characters, exercising the libc6 entropy path that python3-minimal provides.
python3 struct big-endian packing Port / libc6 / usage-python3-struct-pack Failed
Packs a 32-bit integer as big-endian bytes with the python3 struct module and verifies the hex byte order.
sed address range substitute Port / libc6 / usage-sed-address-range-substitute Failed
Applies a sed substitution only to lines 2 through 4 with an address range and verifies that lines outside the range are untouched.
sed y/// transliteration replaces ASCII bytes deterministically Port / libc6 / usage-sed-batch12-y-command-bytewise-translit Failed
Uses sed y/// to transliterate a fixed set of ASCII bytes and verifies the exact mapping is applied character by character.
sed branching with :label and t Port / libc6 / usage-sed-branch-label Failed
Uses sed labels with the t (branch on substitution) command to repeatedly collapse runs of digits into a single hash and verifies the loop terminates with the expected output.
sed capture group replacement Port / libc6 / usage-sed-capture-group Failed
sed deletes blank lines Port / libc6 / usage-sed-delete-blank-lines Failed
sed deletes a specific line by address Port / libc6 / usage-sed-delete-line-address Failed
Uses sed '2 d' to drop the second line of a fixed input and verifies the surviving line count and exact content order.
sed extended regex rewrite Port / libc6 / usage-sed-extended-regex Failed
sed global replace Port / libc6 / usage-sed-global-replace-all Failed
sed global replacement Port / libc6 / usage-sed-global-replace Failed
Rewrites all matching tokens in a stream with sed global substitution and verifies the output text.
sed hold-space line swap Port / libc6 / usage-sed-hold-space-swap Failed
Swaps two adjacent lines using the sed hold space with h and G and verifies the reordered output.
sed insert line Port / libc6 / usage-sed-insert-line Failed
sed s/// numeric flag picks Nth occurrence Port / libc6 / usage-sed-nth-occurrence Failed
Applies a sed substitution with a numeric flag (s/old/new/2) so only the second match per line is replaced and confirms the rest are untouched.
sed print line range Port / libc6 / usage-sed-print-line-range Failed
Prints a numeric line range with sed -n and verifies only the selected lines appear in output.
sed quits early at address Port / libc6 / usage-sed-quit-early Failed
Uses sed q to stop processing after a target line and verifies the truncated output exactly.
sed [[:digit:]] character class matches ASCII digits Port / libc6 / usage-sed-r10-bracket-class-digit Failed
Uses sed to replace runs of [[:digit:]] with N in a fixed input under LC_ALL=C and verifies only ASCII digits are collapsed (libc isdigit semantics).
sed y transliteration command rotates ASCII letters by three positions Port / libc6 / usage-sed-r11-y-transliterate-rotate Failed
Uses the sed y/abc.../def.../ command to map a 6-character ASCII string and verifies each character is replaced with its 3-position rotation exercising sed character-class transliteration via libc string indexing.
sed -n suppresses default output and only prints matching p commands Port / libc6 / usage-sed-r12-n-print-suppressed Failed
Runs sed -n with /needle/p over a multi-line input and verifies only matching lines are printed via the explicit p command (default output is suppressed).
sed -i with backup suffix rewrites file in place and preserves a .bak copy Port / libc6 / usage-sed-r13-in-place-with-backup Failed
Writes a fixed input file, runs sed --in-place=.bak with a substitution, and asserts the modified file contains the substitution while a sibling .bak file holds the original bytes verbatim.
sed chains multiple -e expressions in declared order Port / libc6 / usage-sed-r14-multiple-e-expressions Failed
Pipes a fixed input through sed with three -e substitution expressions under LC_ALL=C and asserts each substitution is applied in order to produce the expected combined output, exercising sed's libc-backed file streaming and expression script chaining.
sed '$d' deletes only the final line of input Port / libc6 / usage-sed-r15-last-line-dollar-delete Failed
Pipes a fixed four-line input through sed '$d' under LC_ALL=C and asserts the output is the first three lines verbatim — confirming sed's libc-backed line-buffer tracks the last-line ($) address.
sed -E swaps two captured groups using \2\1 backreference order Port / libc6 / usage-sed-r16-extended-regex-backreference-swap Failed
Uses sed -E to match (a)(b) in the input string "ab" and replace it with \2\1, asserting the result is "ba" — locking in sed's extended-regex backreference numbering against a stable, unambiguous fixture.
sed '/PATTERN/d' removes every matching line from a stream Port / libc6 / usage-sed-r17-pattern-line-deletion Failed
Pipes a five-line stream through sed '/drop/d' and asserts the output contains exactly the three non-matching lines in their original order — locking in sed's address-driven d command for line deletion.
sed s/foo/bar/g replaces every occurrence on a line Port / libc6 / usage-sed-r18-substitute-flag-g-replaces-all Failed
Pipes a single-line input "foo foo foo" through sed with the s/foo/bar/g substitution and asserts the captured output equals "bar bar bar" — locking in libc-backed regex global-replace in noble's sed build.
sed y/// transliterates lowercase vowels to digits Port / libc6 / usage-sed-r19-y-transliterate-vowels Failed
Pipes the string "hello world" into sed y/aeiou/12345/, and asserts the captured output equals "h2ll4 w4rld" - locking in libc-backed character-class transliteration via sed.
sed s/foo$/bar/ replaces only end-of-line matches Port / libc6 / usage-sed-r20-substitute-anchored-end Failed
Pipes a three-line input where only one line ends with "foo" through sed 's/foo$/bar/', then asserts the recovered output contains "bar" exactly where the anchored match fired and leaves a non-terminal "foo" untouched - locking in libc-backed end-of-line anchor semantics through sed.
sed = command prints the line number before each input line Port / libc6 / usage-sed-r21-equals-prints-line-number Failed
Pipes a three-line payload through sed = and asserts the output interleaves the line number ("1", "2", "3") before each source line - locking in the = command's line-number emission distinct from existing -n, address, hold-space, and substitution tests.
sed self-reference ampersand replacement Port / libc6 / usage-sed-self-reference-amp Failed
Uses sed s/regex/&/g with the & self-reference to wrap each match without losing its content.
sed transforms stream Port / libc6 / usage-sed-transform Failed
sed transliterate Port / libc6 / usage-sed-transliterate-batch11 Failed
tar appends archive member Port / libc6 / usage-tar-append-archive Failed
Appends a new member to an existing tar archive and verifies list mode shows both entries.
tar --numeric-owner --owner=0 --group=0 roundtrip Port / libc6 / usage-tar-batch12-numeric-owner-uid-zero-roundtrip Failed
Creates a tar archive with --numeric-owner --owner=0 --group=0 and verifies tar -tvf shows uid 0 / gid 0 for the entry.
tar create list Port / libc6 / usage-tar-create-list Failed
Creates a tar archive and verifies the member path is listed by the tar client afterward.
tar exclude glob omits matches Port / libc6 / usage-tar-exclude-glob Failed
Creates a tar archive with --exclude='*.log' and verifies that .log members are absent from the listing while other members remain.
tar extract single member Port / libc6 / usage-tar-extract-single-member Failed
Extracts only one named member from a tar archive and verifies the other entry was not extracted.
tar gzip archive Port / libc6 / usage-tar-gzip-archive Failed
tar keep-old-files refuses overwrite Port / libc6 / usage-tar-keep-old-files Failed
Extracts a tar archive over an existing file with --keep-old-files and verifies the original payload is preserved.
tar lists archive Port / libc6 / usage-tar-list-archive Failed
tar --mtime fixes archive timestamps Port / libc6 / usage-tar-mtime-reproducible Failed
Builds two archives from the same payload using tar --mtime=@<epoch> --sort=name --owner=0 --group=0 --numeric-owner and asserts the byte streams are identical.
tar pax format round-trips a UTF-8 pathname via libc multibyte Port / libc6 / usage-tar-r10-pax-utf8-pathname-roundtrip Failed
Creates a file with a multi-byte UTF-8 name, archives it with tar --format=pax, extracts it into a fresh directory, and verifies the extracted name and contents match (libc mbrtowc/wcrtomb path).
tar --numeric-owner --owner=0 records uid 0 verbatim in archive metadata Port / libc6 / usage-tar-r11-numeric-owner-uid-zero Failed
Creates a tar with --numeric-owner --owner=0 --group=0 and verifies the archive listing reports owner 0/0 exercising tar libc-getpwuid bypass and explicit numeric ownership.
tar --transform rewrites archive member paths via sed expression Port / libc6 / usage-tar-r12-transform-rename Failed
Creates a tar archive with --transform 's,^src/,renamed/,' and verifies the listing shows entries under the renamed/ prefix while the on-disk source remains under src/.
tar --exclude omits members matching a glob pattern from the archive Port / libc6 / usage-tar-r13-exclude-glob-pattern Failed
Creates a directory of mixed file extensions, builds a tar archive with --exclude='*.log', and asserts the archive listing contains only the non-excluded files.
tar --format=ustar produces a USTAR-magic archive header Port / libc6 / usage-tar-r14-format-ustar Failed
Creates a single-member archive with tar --format=ustar under LC_ALL=C, asserts the archive lists that member, and asserts the tar header at offset 257 contains the canonical "ustar" magic string (no PAX extension, plain USTAR format).
tar -h dereferences a symlink and stores the target file's bytes in the archive Port / libc6 / usage-tar-r15-dereference-symlink-store-target Failed
Creates a 32-byte regular file plus a symlink pointing at it, archives the symlink with tar -h (--dereference) under LC_ALL=C, extracts into a fresh directory, and asserts the extracted entry is a regular file whose contents match the source target byte-for-byte (proving -h followed the link rather than archiving a symlink stub).
tar --transform renames archived members via a sed expression at create time Port / libc6 / usage-tar-r16-transform-rename-strip-prefix Failed
Archives a file at path "src/data.txt" with --transform 's,^src/,renamed/,' and asserts the resulting tar contains "renamed/data.txt" rather than "src/data.txt" — locking in tar's libc-backed string rewrite via member-name transformation.
tar --exclude omits matching members from a created archive Port / libc6 / usage-tar-r17-exclude-pattern-roundtrip Failed
Stages three files under one directory and creates a tar archive with --exclude='*.skip' then asserts the listing contains the kept files but not the excluded one — locking in tar's create-time exclude-pattern matching.
tar -czf and tar -xzf round-trip a directory tree through gzip Port / libc6 / usage-tar-r18-gzip-z-flag-roundtrip Failed
Stages two files under one directory, creates a gzipped tar with -czf, extracts it into a fresh location with -xzf, and asserts both files are restored with matching content — locking in libc-backed tar+gzip stream handling on noble.
tar --numeric-owner restores numeric uid/gid from a created archive Port / libc6 / usage-tar-r19-numeric-owner-restore Failed
Creates a file, archives it with tar --numeric-owner, extracts into a fresh directory, then stats the extracted file and asserts its numeric uid equals the current process uid - locking in libc-backed numeric ownership preservation through tar.
tar --strip-components=1 drops the top-level directory from extracted paths Port / libc6 / usage-tar-r20-strip-components-removes-prefix Failed
Builds a tarball containing pkg/inner/file.txt, extracts it with --strip-components=1 into a fresh directory, and asserts the extracted layout has inner/file.txt at the root and no pkg/ directory - locking in libc-backed path manipulation via tar's component-stripping extraction.
tar archives file Port / libc6 / usage-tar-roundtrip Failed
tar --sort=name deterministic member ordering Port / libc6 / usage-tar-sort-name Failed
Creates two tar archives with --sort=name from differently-ordered inputs and verifies the listings are byte-identical and lexicographically sorted.
tar strip components Port / libc6 / usage-tar-strip-components Failed
Extracts a tar archive with stripped leading path segments and verifies the flattened output file.
tar subdirectory extract Port / libc6 / usage-tar-subdir-extract Failed
tar --to-command streams members to a child process Port / libc6 / usage-tar-to-command-pipe Failed
Extracts an archive with tar --to-command running a small bash filter that captures member contents and the TAR_FILENAME environment variable, verifying tar invokes the helper once per member through libc fork/exec.
tar extract member to stdout Port / libc6 / usage-tar-to-stdout-member-batch11 Failed
tar totals summary on create Port / libc6 / usage-tar-totals-summary Failed
Creates an archive with tar --totals and verifies the totals line on stderr reports a positive byte count.
tar transform member rename Port / libc6 / usage-tar-xform-rename Failed
Creates a tar archive with --transform sed-style renaming and verifies that the listed and extracted member uses the rewritten name.
CVE-2009-5155 libc6 regression Port / libc6 / cve-2009-5155 Failed
Asserts that regcomp returns a structured REG_* error or compiles successfully on alternation patterns that historically tripped an internal assertion in the regex compiler.
CVE-2010-4051 libc6 regression Port / libc6 / cve-2010-4051 Failed
Asserts that regcomp enforces the per-operator RE_DUP_MAX cap (REG_BADBR on (a){65535}) and, under a 256 MiB address-space limit, refuses to silently accept the adjacent-repetition pathological pattern (a){32767}{32767}{32767} — instead returning a structured REG_* error or aborting via the resource limit rather than running away.
CVE-2010-4756 libc6 regression Port / libc6 / cve-2010-4756 Failed
Asserts that glob() bounds its filesystem search on deeply nested patterns with non-trivial directory fan-out — every call returns within a 5-second time budget and a 256 MiB address-space cap rather than walking the full cartesian product of directory entries the way pre-fix glibc did.
CVE-2014-7817 libc6 regression Port / libc6 / cve-2014-7817 Failed
Asserts that wordexp with WRDE_NOCMD refuses to expand a command-substitution payload, returning WRDE_CMDSUB rather than executing the embedded command.
CVE-2015-20109 libc6 regression Port / libc6 / cve-2015-20109 Failed
Asserts that fnmatch on a crafted **(!() pattern returns a structured error or no-match result instead of crashing the caller.
CVE-2015-8776 libc6 regression Port / libc6 / cve-2015-8776 Failed
Asserts that strftime on a struct tm carrying an out-of-range tm_year either returns a bounded result or zero rather than crashing the caller, matching the patched defensive handling.
CVE-2016-10739 libc6 regression Port / libc6 / cve-2016-10739 Failed
Asserts that getaddrinfo with AI_NUMERICHOST rejects an IPv4 string with whitespace and trailing garbage, returning a non-zero error rather than silently accepting the prefix as a valid address.
CVE-2018-20796 libc6 regression Port / libc6 / cve-2018-20796 Failed
Asserts that regexec returns promptly on a battery of pathological ERE patterns matched against a long input, instead of entering uncontrolled recursion in proceed_next_node and consuming unbounded CPU time.
CVE-2020-27618 libc6 regression Port / libc6 / cve-2020-27618 Failed
Asserts that iconv terminates instead of looping forever when an IBM multi-byte conversion is fed an invalid sequence that previously left the decoder without forward progress.
CVE-2020-29562 libc6 regression Port / libc6 / cve-2020-29562 Failed
Asserts that converting from UCS4 with an irreversible character (a code point with no mapping in the target charset) returns a structured EILSEQ rather than tripping an assertion and aborting iconv.
CVE-2021-3326 libc6 regression Port / libc6 / cve-2021-3326 Failed
Asserts that iconv translating crafted ISO-2022-JP-3 input returns a structured error rather than aborting on an internal assertion.
CVE-2026-4046 libc6 regression Port / libc6 / cve-2026-4046 Failed
Asserts that iconv translating malformed bytes from IBM1390 returns a structured EILSEQ-style error rather than aborting via an internal assertion.