FLUSTER(1)

πŸ“¦
version 1.0.1+git20231211.d9106f5 Β· 3 versions
, in debian trixie, ubuntu noble, ubuntu questing

✨ FLUSTER(1) ✨

okay so you're looking at the manual page for fluster β€” yes, the fluster(1) one, the video decoder conformance testing queen πŸ‘‘


🌸 NAME 🌸

fluster β€” a testing framework for video decoder conformance πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

fluster [-h] [-r RESOURCES] [-o OUTPUT] [-ne] [-tsd TEST_SUITES_DIR]
{list,l,run,r,download,d,reference,f}

πŸ’œ DESCRIPTION πŸ’œ

so fluster is a testing framework, and it's written in Python, and its whole personality is video decoder conformance. it's literally made of a command-line application that runs a bunch of test suites against the decoders you've got, bestie. 🫢

its whole thing is checking different decoder implementations against known test suites that have known and proven results. like, the receipts are already in the group chat, we're just seeing who matches them. ✨

it was originally designed to check the conformance of H.265/HEVC decoders, but it ALSO supports H.264/AVC, H.266/VVC, VP8, VP9, AV1 and AAC. she's versatile, she's multi-talented, she ate. πŸ”₯


πŸŽ€ OPTIONS πŸŽ€

  • -h, --help β€” show the help message and dip. that's it, that's the whole vibe πŸ™ˆ
  • -r RESOURCES, --resources RESOURCES β€” set the directory where resources are taken from.
  • -o OUTPUT, --output OUTPUT β€” set the directory where test results will be stored.
  • -ne OUTPUT, --no-emoji β€” set this to use plain text instead of emojis. (yes bestie, no emojis. tragic but valid 😭)
  • -tsd TEST_SUITES_DIR, --test-suites-dir TEST_SUITES_DIR β€” set the directory where the test suite will be read from.

πŸ‘‘ FLUSTER COMMANDS πŸ‘‘

🌈 list (l)

Show a list of available test suites and decoders. window shopping, no commitment, iconic. πŸ›οΈ


🧚 run (r)

Run test suites for decoders. this is the main character command fr fr πŸ’…

Options:

  • -j JOBS, --jobs JOBS β€” number of parallel jobs to use. defaults to 1x logical cores. 0 means all logical cores.
  • -t TIMEOUT, --timeout TIMEOUT β€” timeout in secs for each decoding. defaults to 30 secs.
  • -ff, --failfast β€” stop after first fail. no notes, we move on βœ‹
  • -q, --quiet β€” don't show every test run. silence is golden, lowkey.
  • -ts TESTSUITES, --testsuites TESTSUITES β€” run only the specific test suites.
  • -tv TESTVECTORS, --testvectors TESTVECTORS β€” run only the specific test vectors.
  • -d DECODERS, --decoders DECODERS β€” run only the specific decoders.
  • -s, --summary β€” generate a summary in Markdown format for each test suite.
  • -so SUMMARY_OUTPUT, --summary-output SUMMARY_OUTPUT β€” dump summary output to file.
  • -f {md,csv,junitxml}, --format {md,csv,junitxml} β€” specify the format for the summary file. pick your fighter: md, csv or junitxml ⭐
  • -k, --keep β€” keep output files generated during the test. hoarder energy, we love her πŸŽ€
  • -th THRESHOLD, --threshold THRESHOLD β€” set exit code to 2 if threshold tests are not success. exit code is 0 otherwise.
  • -tth TIME_THRESHOLD, --time-threshold TIME_THRESHOLD β€” set exit code to 3 if the test suite takes longer than threshold seconds. exit code is 0 otherwise. she's on a schedule bestie ⏰
  • -v, --verbose β€” show stdout and stderr of commands executed. spill the tea, all of it β˜•

πŸ“ download (d) testsuites

Downloads test suites resources. fetch, but make it conformance testing 🫢

Arguments:

  • testsuites β€” list of testsuites to download. defaults to all.

Options:

  • -j JOBS, --jobs JOBS β€” number of parallel jobs to use. defaults to 2x logical cores. 0 means all logical cores. (yes, 2x here, not 1x β€” read the room πŸ‘€)
  • -k, --keep β€” keep the original downloaded file after extracting. only applicable to compressed files such as .zip, .tar.gz, etc.

πŸ’« reference (r)

Use a specific decoder to set its results for the test suites given. setting the blueprint, being the standard, main character behaviour ngl πŸ’…

Options:

  • -j JOBS, --jobs JOBS β€” number of parallel jobs to use. defaults to 1x logical cores. 0 means all logical cores.
  • -t TIMEOUT, --timeout TIMEOUT β€” timeout in secs for each decoding. defaults to 30 secs.
  • -ff, --failfast β€” stop after first fail.
  • -q, --quiet β€” don't show every test run.
  • -ts TESTSUITES, --testsuites TESTSUITES β€” run only the specific test suites.
  • -tv TESTVECTORS, --testvectors TESTVECTORS β€” run only the specific test vectors.
  • -d DECODERS, --decoders DECODERS β€” run only the specific decoders.
  • -s, --summary β€” generate a summary in Markdown format for each test suite.
  • -so SUMMARY_OUTPUT, --summary-output SUMMARY_OUTPUT β€” dump summary output to file.
  • -f {md,csv,junitxml}, --format {md,csv,junitxml} β€” specify the format for the summary file.
  • -k, --keep β€” keep output files generated during the test.
  • -th THRESHOLD, --threshold THRESHOLD β€” set exit code to 2 if threshold tests are not success. exit code is 0 otherwise.
  • -tth TIME_THRESHOLD, --time-threshold TIME_THRESHOLD β€” set exit code to 3 if the test suite takes longer than threshold seconds. exit code is 0 otherwise.
  • -v, --verbose β€” show stdout and stderr of commands executed.

πŸ’– AUTHORS πŸ’–

fluster is developed by Pablo Marcos Oltra, Andoni Morales Alastruey and contributors. absolute legends, no cap πŸ‘‘

This manual page was written by Christopher Obbard <obbardc@debian.org> for the Debian GNU/Linux system (but may be used by others). shoutout to him, he did that πŸ’…


and that's the whole page bestie ✨ you just read the fluster(1) manual page β€” go run some conformance tests, slay, and remember: the exit codes are 0, 2 and 3, and they mean things πŸŽ€ πŸ’œ πŸ¦‹

πŸ“¦ where this page comes from