. "$BST_LIB" # BST-TIMEOUT: 1800 # SEVEN python3 starts, and they are the whole cost. One is # # `import', one is the probe, and FIVE are the console # # script -- which cannot share a process with anything, # # because being a separate process reached through argv and # # a pipe is the entire claim it makes. # # # # The conversion work itself is a 156-byte fixture and a # # 1101-rule stylesheet: microseconds beside an interpreter # # start on this arm. 1800 is 99-python3-wcwidth's 1200 plus # # headroom for the four extra starts. # # # # NOT MEASURED ON TARGET YET: this port's first on-target # # run is the batch verify. The measured elapsed replaces # # this note in the test plan rather than in this comment, # # which would cost an image build to keep the shipped suite # # byte-identical. # # python3-ansi2html 1.9.1 (meta-openembedded/meta-python # recipes-devtools/python/python3-ansi2html_1.9.1.bb -- `inherit pypi # python_setuptools_build_meta', PyPI sdist) on the wasm32-hwjs glibc image. # # ============================================================================ # WHAT THE PACKAGE DOES. # ============================================================================ # # Terminal output in, a web page out. ANSI SGR escape sequences -- the bytes a # program writes to colour its own output -- become HTML spans carrying the # matching styles, either as a bare FRAGMENT to paste into a page or as a # COMPLETE DOCUMENT with its own embedded stylesheet. # # So the deliverable is a transformation, and the suite is a table over it: the # fixture holds ONE construct per line -- a foreground colour, a background # colour, bold, underline, a 256-colour foreground index, a 256-colour # background index, all four at once, and a reset -- and each line is asserted # separately. A red then names WHICH construct broke, where a single assertion # over the whole output would only say that 300 bytes differ somewhere. # # `frag-plain' and `frag-after-reset' are the controls of that table: text # outside any escape, and text following a reset, must come through UNWRAPPED. # A converter that wrapped everything would satisfy every colour case above and # fail these two. # # ============================================================================ # THE DOCUMENT MODE, AND THE ONE CLAIM IT HAS TO MAKE. # ============================================================================ # # `doc-undefined-classes' is the case this suite is built around. A full # document carries its own