giflib Validation

Port build from safelibs/port-giflib at commit 726b13f2a3c5 (release build-726b13f2a3c5)

1Libraries
304Tests
5Source tests
297Usage tests
2Regression tests
304 / 304Port tests passing
0Port tests failing
608 (100%)Evidence casts
1 / 1Port libraries passing

Tests

gif2rgb RGB conversion Original / giflib / gif2rgb-conversion Passed

Converts a sample GIF to raw RGB bytes and compares the fixture length.

Run
Original
Kind
source
Client
none
Duration
0.00s
Tags
cli media
Log

            
gifbuild textual round trip Original / giflib / gifbuild-roundtrip Passed

Dumps a GIF to textual form and rebuilds an equivalent GIF stream.

Run
Original
Kind
source
Client
none
Duration
0.00s
Tags
cli roundtrip
Log

            
giftext metadata inspection Original / giflib / giftext-metadata Passed

Inspects GIF metadata from an upstream sample with the giftext tool.

Run
Original
Kind
source
Client
none
Duration
0.00s
Tags
cli metadata
Log

            
Interlaced GIF fixture handling Original / giflib / interlaced-fixture-handling Passed

Converts an interlaced GIF fixture and compares the expected RGB output.

Run
Original
Kind
source
Client
none
Duration
0.00s
Tags
cli media
Log

            
Malformed GIF rejection Original / giflib / malformed-gif-rejection Passed

Confirms truncated GIF input is rejected by an installed giflib tool.

Run
Original
Kind
source
Client
none
Duration
0.00s
Tags
cli negative
Log

            
giftext fire image marker Original / giflib / usage-giflib-tools-batch11-fire-image-marker Passed

Runs giftext on the fire fixture and checks image markers are emitted.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
gif2rgb fire equal planar channels Original / giflib / usage-giflib-tools-batch11-fire-planar-equal-channels Passed

Converts the fire fixture to planar RGB and checks equal channel sizes.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
gifbuild fire RGB parity Original / giflib / usage-giflib-tools-batch11-gifbuild-fire-rgb-compare Passed

Rebuilds the fire fixture from gifbuild text and compares the RGB output.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
gifclrmp treescap rows Original / giflib / usage-giflib-tools-batch11-gifclrmp-treescap-row-count Passed

Lists the treescap color map and checks multiple color rows are emitted.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
giffix grid RGB output Original / giflib / usage-giflib-tools-batch11-giffix-grid-rgb-output Passed

Repairs the grid fixture with giffix and checks RGB conversion still produces data.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
gifbuild grid dump size Original / giflib / usage-giflib-tools-batch11-grid-build-dump-size Passed

Dumps the grid fixture with gifbuild and checks textual screen data is produced.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
gif2rgb grid RGB byte count Original / giflib / usage-giflib-tools-batch11-grid-rgb-byte-count Passed

Converts the grid fixture to packed RGB and checks the byte count is channel-aligned.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
giftext grid screen size Original / giflib / usage-giflib-tools-batch11-grid-screen-size Passed

Runs giftext on the grid fixture and checks screen size metadata is present.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
giftext interlaced image marker Original / giflib / usage-giflib-tools-batch11-interlaced-image-marker Passed

Runs giftext on the interlaced fixture and checks image markers are emitted.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
gif2rgb treescap RGB output Original / giflib / usage-giflib-tools-batch11-treescap-rgb-nonempty Passed

Converts the treescap fixture to packed RGB and checks bytes are produced.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
gif2rgb output size matches treescap pixel count Original / giflib / usage-giflib-tools-batch12-gif2rgb-treescap-rgb-size-equals-wxhx3 Passed

Runs gif2rgb -1 on the treescap GIF and verifies the raw RGB byte count equals width*height*3 reported by giftext.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb
Log

            
gif2rgb treescap RGB output divides evenly by row*3 Original / giflib / usage-giflib-tools-batch12-gif2rgb-treescap-row-stride Passed

Runs gif2rgb -1 on the treescap GIF and confirms the RGB byte count is an exact multiple of the screen width times 3 (row-stride invariant).

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb
Log

            
gifbuild -d emits screen width and height for fire Original / giflib / usage-giflib-tools-batch12-gifbuild-fire-version-line Passed

Runs gifbuild -d on the fire fixture and verifies the textual dump contains "screen width" and "screen height" header lines.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild
Log

            
gifbuild treescap dump-then-build is byte-stable on second pass Original / giflib / usage-giflib-tools-batch12-gifbuild-treescap-roundtrip-byte-equal Passed

Dumps treescap GIF with gifbuild -d, builds it back, dumps and rebuilds again, and confirms two consecutive rebuilt GIFs are byte identical.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild roundtrip
Log

            
gifclrmp -s on fire dumps 256-entry palette Original / giflib / usage-giflib-tools-batch12-gifclrmp-fire-dump-palette-count Passed

Runs gifclrmp -s on the fire fixture and verifies the dumped palette has exactly 256 entries (one per color slot).

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp
Log

            
giffix produces a recognizable GIF from a clean source Original / giflib / usage-giflib-tools-batch12-giffix-fire-passthrough Passed

Runs giffix on a non-interlaced fixture and verifies the output is a non-empty file that the file(1) magic database recognizes as GIF image data.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix
Log

            
giftext reports treescap screen size Original / giflib / usage-giflib-tools-batch12-giftext-treescap-screen-size Passed

Runs giftext on the treescap GIF and confirms the screen size header line is present in the output.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext
Log

            
giftool -x 3 sets disposal mode to restore-previous Original / giflib / usage-giflib-tools-batch12-giftool-disposal-mode-three Passed

Applies giftool -x 3 (restore-previous disposal mode) to fire.gif and verifies gifbuild dump shows "disposal mode 3" on every graphics control extension.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -p 0,0 sets origin position Original / giflib / usage-giflib-tools-batch12-giftool-set-position-zero-zero Passed

Runs giftool with -p 0,0 on the fire GIF and verifies the resulting GIF still parses with file(1) and gifbuild dump shows the position.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -s 200,100 sets logical screen size Original / giflib / usage-giflib-tools-batch12-giftool-set-screen-200x100 Passed

Applies giftool -s 200,100 to fire.gif and verifies gifbuild dump reports "screen width 200" and "screen height 100".

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
gif2rgb 2x2 four-pixel RGB roundtrip Original / giflib / usage-giflib-tools-gif2rgb-2x2-rgb-roundtrip Passed

Synthesizes a deterministic 12-byte RGB stream representing four distinct pixels, encodes it into a 2x2 GIF with gif2rgb -s 2 2, decodes the GIF back to RGB with gif2rgb -1, and verifies the decoded stream is exactly 12 bytes and that giftext reports a 2x2 logical screen for the encoded GIF.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb roundtrip
Log

            
giflib-tools gif2rgb convert Original / giflib / usage-giflib-tools-gif2rgb-convert Passed

Runs giflib-tools gif2rgb convert on a GIF fixture and checks image metadata.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
gif2rgb 1x1 RGB roundtrip Original / giflib / usage-giflib-tools-gif2rgb-encode-1x1 Passed

Synthesizes a 3-byte RGB triplet, encodes it into a 1x1 GIF with gif2rgb -s, decodes the GIF back to RGB, and verifies the decoded stream is exactly three bytes wide and tall and that giftext reports a 1x1 logical screen.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb roundtrip
Log

            
gif2rgb fire output is an exact integer number of frame bytes Original / giflib / usage-giflib-tools-gif2rgb-fire-bytes-frame-multiple Passed

Decodes the multi-frame fire.gif with gif2rgb -1 into a single RGB stream and verifies the byte count is exactly width*height*3 multiplied by an integer between 1 and the frame count reported by gifbuild, ensuring gif2rgb is emitting whole frames worth of pixel data with no slack.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb animation
Log

            
gif2rgb fire RGB compare Original / giflib / usage-giflib-tools-gif2rgb-fire-compare Passed

Exercises gif2rgb fire rgb compare through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
giflib-tools gif2rgb fire fixture Original / giflib / usage-giflib-tools-gif2rgb-fire-fixture Passed

Converts the fire GIF fixture with gif2rgb and verifies the exact RGB byte stream.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
gif2rgb fire interleaved frame window size Original / giflib / usage-giflib-tools-gif2rgb-fire-frame-n-window Passed

Decodes the multi-frame fire.gif with gif2rgb -1 into a single composited RGB stream and verifies the byte size matches exactly width*height*3 for one composed frame, with at least one non-zero pixel byte present, exercising the gif2rgb interleaved decode path.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb animation
Log

            
gif2rgb fire output spans at least one full frame Original / giflib / usage-giflib-tools-gif2rgb-fire-frames-byte-floor Passed

Decodes the largest fixture fire.gif with gif2rgb -1, reads its width and height from giftext, and asserts the produced RGB byte stream contains at least one full frame worth of pixels (width*height*3 bytes) and is an exact multiple of the per-row stride.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb geometry
Log

            
gif2rgb planar decode of fire animation produces distinct R and B channels Original / giflib / usage-giflib-tools-gif2rgb-fire-middle-frame Passed

Decodes fire.gif using gif2rgb -o (planar RGB output) and confirms the resulting per-channel R, G, and B files each have width*height bytes, contain at least one non-zero byte, and that the R channel differs from the B channel for the rendered fire palette.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb animation
Log

            
gif2rgb fire planar sizes Original / giflib / usage-giflib-tools-gif2rgb-fire-planar-size Passed

Converts the fire fixture to planar RGB output with gif2rgb and verifies all three channel files have equal non-zero size.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gif2rgb
Log

            
gif2rgb fire planar output Original / giflib / usage-giflib-tools-gif2rgb-fire-planar Passed

Converts fire.gif to planar RGB files and verifies each channel file exists.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif conversion
Log

            
gif2rgb fire RGB bytes Original / giflib / usage-giflib-tools-gif2rgb-fire-rgb-bytes Passed

Converts the fire.gif fixture to an RGB byte stream with gif2rgb and verifies that non-empty RGB output is produced.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gif2rgb
Log

            
gif2rgb fire RGB output is a multiple of width*3 Original / giflib / usage-giflib-tools-gif2rgb-fire-row-stride Passed

Decodes the multi-frame fire.gif into a packed RGB stream with gif2rgb -1, reads the logical screen width from giftext, and asserts the produced RGB byte count is an exact multiple of width*3 so every emitted scanline is fully populated.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb geometry
Log

            
gif2rgb fire RGB size Original / giflib / usage-giflib-tools-gif2rgb-fire-size Passed

Converts fire.gif to a single RGB file and checks the byte count is nonzero.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif conversion
Log

            
gif2rgb grid planar equal channels Original / giflib / usage-giflib-tools-gif2rgb-grid-planar-equal-channels Passed

Decodes gifgrid.gif with gif2rgb planar output and verifies that the R, G, and B planes have equal nonzero byte sizes.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gif2rgb
Log

            
gif2rgb grid planar size Original / giflib / usage-giflib-tools-gif2rgb-grid-planar-size Passed

Converts gifgrid.gif to planar RGB files with gif2rgb and verifies the three color planes have matching nonzero sizes.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif image
Log

            
gif2rgb grid planar output Original / giflib / usage-giflib-tools-gif2rgb-grid-planar Passed

Converts gifgrid.gif to planar RGB files and verifies each channel file exists.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif conversion
Log

            
gif2rgb grid RGB output Original / giflib / usage-giflib-tools-gif2rgb-grid-rgb Passed

Converts gifgrid.gif to a single RGB file and checks the byte count is nonzero.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif conversion
Log

            
gif2rgb -1 stream output for gifgrid matches width times height times three Original / giflib / usage-giflib-tools-gif2rgb-grid-stream-mode-size Passed

Decodes gifgrid.gif with gif2rgb -1 into a single concatenated RGB byte stream, parses the screen width and height from giftext, and asserts the resulting file is exactly width*height*3 bytes long, validating the single-frame stream-mode pixel budget.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb stream
Log

            
gif2rgb interlaced planar output Original / giflib / usage-giflib-tools-gif2rgb-interlaced-planar Passed

Exercises gif2rgb interlaced planar output through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
gif2rgb interlaced RGB bytes Original / giflib / usage-giflib-tools-gif2rgb-interlaced-rgb-bytes Passed

Converts the interlaced treescap fixture to an RGB byte stream with gif2rgb and verifies that non-empty RGB output is produced.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gif2rgb
Log

            
gif2rgb interlaced conversion Original / giflib / usage-giflib-tools-gif2rgb-interlaced Passed

Converts an interlaced GIF fixture to RGB bytes and compares the expected output.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif conversion
Log

            
giflib-tools gif2rgb planar output Original / giflib / usage-giflib-tools-gif2rgb-planar Passed

Converts a GIF fixture into separate RGB planes with gif2rgb and verifies all channel files are produced.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
gif2rgb -c 16 -o writes three equal-size R/G/B planes for fire.gif Original / giflib / usage-giflib-tools-gif2rgb-quantize-planar-equal-bytes Passed

Runs gif2rgb -c 16 -o <prefix> on fire.gif (without -1) and verifies the tool emits exactly three planar files (.R, .G, .B) each with byte count equal to width*height (1800 for 30x60), exercising the color-quantization path that is otherwise untested in usage coverage.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb quantize planar
Log

            
gif2rgb -c 4 -1 -o produces a single concatenated RGB stream of W*H*3 bytes Original / giflib / usage-giflib-tools-gif2rgb-quantize-stream-byte-count Passed

Runs gif2rgb -c 4 -1 -o <file> on fire.gif and verifies that exactly one output file is produced (no .R/.G/.B planar split) whose byte count equals width*height*3 = 5400, anchoring the quantize+stream combination of flags.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb quantize stream
Log

            
gif2rgb -s converts RGB stream back to GIF Original / giflib / usage-giflib-tools-gif2rgb-rgb-to-gif-roundtrip Passed

Decodes a fixture to raw RGB triplets, then uses gif2rgb -s to encode that stream back into a GIF whose dimensions and decoded byte count match the original.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb
Log

            
gif2rgb treescap RGB byte count equals width*height*3 Original / giflib / usage-giflib-tools-gif2rgb-treescap-pixel-count Passed

Decodes treescap.gif into a packed RGB byte stream with gif2rgb -1, parses width and height from giftext, and asserts the produced RGB output is exactly width*height*3 bytes long.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb geometry
Log

            
gif2rgb planar channel sizes equal width*height for treescap Original / giflib / usage-giflib-tools-gif2rgb-treescap-planar-channel-bytes Passed

Decodes treescap.gif into separate R/G/B planar files with gif2rgb -o, queries the screen size with giftext, and verifies each of the three channel files is exactly width*height bytes long, matching the structural invariant that planar output emits one byte per pixel per channel.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb planar
Log

            
gif2rgb treescap planar output Original / giflib / usage-giflib-tools-gif2rgb-treescap-planar Passed

Converts the treescap fixture to planar RGB output with gif2rgb and verifies the three channel files exist.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gif2rgb
Log

            
gif2rgb treescap interlaced rgb compare Original / giflib / usage-giflib-tools-gif2rgb-treescap-rgb-compare Passed

Decodes treescap-interlaced.gif with gif2rgb -1 and verifies the RGB output bytes match the recorded fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gif2rgb
Log

            
gif2rgb treescap RGB size Original / giflib / usage-giflib-tools-gif2rgb-treescap-rgb-size Passed

Converts treescap.gif to packed RGB output with gif2rgb and verifies the emitted byte stream is nonempty.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif image
Log

            
gifbuild dump build dump is byte-stable Original / giflib / usage-giflib-tools-gifbuild-double-roundtrip-stable Passed

Dumps a GIF with gifbuild -d, rebuilds the binary GIF, dumps it again, and verifies that the second textual dump is byte-identical to the first to confirm the gifbuild text format is a stable fixed point.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild roundtrip
Log

            
giflib-tools gifbuild dump Original / giflib / usage-giflib-tools-gifbuild-dump Passed

Runs giflib-tools gifbuild dump on a GIF fixture and checks image metadata.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
gifbuild fire dump build dump is byte-stable Original / giflib / usage-giflib-tools-gifbuild-fire-double-roundtrip Passed

Dumps the animated fire.gif with gifbuild -d, rebuilds the binary GIF, dumps it again, strips the source-filename comments, and verifies the two structural dumps are byte-identical and contain the expected screen width header.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild roundtrip animation
Log

            
gifbuild fire dump lines Original / giflib / usage-giflib-tools-gifbuild-fire-dump-lines Passed

Dumps fire.gif with gifbuild and verifies the textual description contains content.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif roundtrip
Log

            
gifbuild fire extension records Original / giflib / usage-giflib-tools-gifbuild-fire-extension-lines Passed

Dumps the animated fire.gif with gifbuild -d and verifies the textual description contains the multiple per-frame image-block headers emitted for an animated GIF.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild animation
Log

            
gifbuild dump emits exactly one graphics control per fire frame Original / giflib / usage-giflib-tools-gifbuild-fire-gcb-frame-equal Passed

Dumps the animated fire.gif with gifbuild -d and asserts the count of "graphics control" extension blocks is exactly equal to the count of "image # N" headers, cross-verifying the frame count against giftool -f, so we are confirming a strict 1:1 pairing rather than just the presence of GCBs.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild animation
Log

            
gifbuild dump pairs a graphics control with each animated frame Original / giflib / usage-giflib-tools-gifbuild-fire-gcb-precedes-image Passed

Dumps the animated fire.gif with gifbuild -d, scans the textual record stream, and asserts that every "image # N" header has a "graphics control" block emitted ahead of it, confirming gifbuild reports the per-frame timing extension on a real animation rather than just the global header.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild animation
Log

            
gifbuild dump frame count matches giftext Original / giflib / usage-giflib-tools-gifbuild-fire-image-frame-count Passed

Counts the per-frame image headers gifbuild -d emits for fire.gif and asserts the count agrees with the number of Image # records giftext reports for the same animated input.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild animation
Log

            
gifbuild fire roundtrip colormap Original / giflib / usage-giflib-tools-gifbuild-fire-roundtrip-colormap Passed

Dumps and rebuilds the fire fixture with gifbuild and verifies the rebuilt GIF still exposes a color map through gifclrmp.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifbuild
Log

            
gifbuild fire roundtrip screen size Original / giflib / usage-giflib-tools-gifbuild-fire-roundtrip-screen-size Passed

Roundtrips fire.gif through gifbuild dump and rebuild, then verifies that the rebuilt giftext output reports Screen Size.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifbuild
Log

            
gifbuild fire round trip Original / giflib / usage-giflib-tools-gifbuild-fire-roundtrip Passed

Dumps and rebuilds fire.gif with gifbuild and validates the rebuilt GIF metadata.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif roundtrip
Log

            
gifbuild grid dump Original / giflib / usage-giflib-tools-gifbuild-grid-dump Passed

Dumps gifgrid.gif with gifbuild and checks for image records in the text form.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
gifbuild rebuilt gifgrid.gif still terminates with 0x3b Original / giflib / usage-giflib-tools-gifbuild-grid-rebuilt-trailer-byte Passed

Dumps gifgrid.gif via gifbuild -d, rebuilds it through gifbuild, and asserts the rebuilt stream is a recognized GIF whose final byte is the mandatory 0x3b trailer marker, complementing the existing trailer check on treescap.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild trailer
Log

            
gifbuild grid round trip color map Original / giflib / usage-giflib-tools-gifbuild-grid-roundtrip-colormap Passed

Exercises gifbuild grid round trip color map through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
gifbuild grid roundtrip screen Original / giflib / usage-giflib-tools-gifbuild-grid-roundtrip-screen Passed

Dumps gifgrid.gif to gifbuild text, rebuilds it, and verifies screen metadata from the rebuilt GIF.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifbuild
Log

            
gifbuild grid round trip Original / giflib / usage-giflib-tools-gifbuild-grid-roundtrip Passed

Dumps and rebuilds gifgrid.gif with gifbuild and verifies the rebuilt GIF metadata remains readable.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif roundtrip
Log

            
gifbuild interlace flag dump Original / giflib / usage-giflib-tools-gifbuild-interlace-flag Passed

Dumps plain and interlaced treescap fixtures with gifbuild and verifies only the interlaced dump reports the interlace flag.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifbuild
Log

            
gifbuild interlaced dump Original / giflib / usage-giflib-tools-gifbuild-interlaced-dump Passed

Exercises gifbuild interlaced dump through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
gifbuild interlaced round trip Original / giflib / usage-giflib-tools-gifbuild-interlaced-roundtrip Passed

Dumps and rebuilds the interlaced treescap fixture with gifbuild and verifies the rebuilt GIF metadata.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif roundtrip
Log

            
giflib-tools gifbuild roundtrip Original / giflib / usage-giflib-tools-gifbuild-roundtrip Passed

Dumps a GIF fixture to gifbuild text and rebuilds it to verify the client can round trip image structure.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
gifbuild dump records fire screen dimensions Original / giflib / usage-giflib-tools-gifbuild-screen-size-line Passed

Dumps fire.gif with gifbuild -d and verifies the screen width and height keywords in the textual description match the known 30x60 logical screen of the fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild
Log

            
gifbuild rebuild ends with GIF trailer byte Original / giflib / usage-giflib-tools-gifbuild-trailer-byte Passed

Rebuilds a GIF from a gifbuild text dump and verifies that the final byte of the encoded output is 0x3B, the mandatory GIF stream trailer.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild
Log

            
gifbuild treescap dump Original / giflib / usage-giflib-tools-gifbuild-treescap-dump Passed

Dumps treescap.gif with gifbuild and checks for image records in the text form.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
gifbuild dump on treescap-interlaced has matching image and screen records Original / giflib / usage-giflib-tools-gifbuild-treescap-interlaced-dump-counts Passed

Dumps the treescap-interlaced.gif fixture with gifbuild -d and asserts the dump contains exactly one screen-width record, exactly one image header line, an image with a non-zero bits-per-pixel record, and concludes with the trailer keyword, exercising gifbuild's structural rendering of a single-frame interlaced fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild interlace
Log

            
gifbuild treescap roundtrip color map Original / giflib / usage-giflib-tools-gifbuild-treescap-roundtrip-colormap Passed

Roundtrips treescap.gif through gifbuild dump and rebuild, then verifies that gifclrmp on the rebuilt gif emits a palette row.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifbuild
Log

            
gifbuild dump line count is identical before and after a roundtrip Original / giflib / usage-giflib-tools-gifbuild-treescap-roundtrip-line-parity Passed

Dumps treescap.gif with gifbuild -d, rebuilds the GIF from that dump by piping it back through gifbuild, dumps the rebuilt GIF a second time, and asserts the two textual descriptions have identical line counts and identical numbers of "image # N" headers and "terminator" markers, confirming that the dump-build-dump cycle is line-parity stable.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild roundtrip
Log

            
gifbuild treescap roundtrip screen Original / giflib / usage-giflib-tools-gifbuild-treescap-roundtrip-screen Passed

Dumps treescap.gif to gifbuild text, rebuilds it, and verifies screen metadata from the rebuilt GIF.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifbuild
Log

            
gifbuild treescap round trip Original / giflib / usage-giflib-tools-gifbuild-treescap-roundtrip Passed

Dumps and rebuilds treescap.gif with gifbuild and validates the rebuilt GIF metadata.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif roundtrip
Log

            
gifbuild dump terminates with the trailer record Original / giflib / usage-giflib-tools-gifbuild-treescap-trailer-line Passed

Dumps treescap.gif with gifbuild -d and asserts the textual dump terminates with the GIF stream trailer record gifbuild emits at end-of-file, ensuring the dump is structurally complete and not truncated mid-record.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild structure
Log

            
gifclrmp dump and -l reload roundtrip Original / giflib / usage-giflib-tools-gifclrmp-dump-reload-roundtrip Passed

Dumps the global color map with gifclrmp, reloads it via gifclrmp -l, and confirms the dumped map is identical after the round trip.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp colormap
Log

            
gifclrmp gamma transform preserves fire.gif frame count Original / giflib / usage-giflib-tools-gifclrmp-fire-frame-count-preserved Passed

Applies a gamma colormap transform via gifclrmp -g 1.5 to the multi-frame fire.gif fixture, then counts the image records emitted by gifbuild -d on the transformed stream and asserts the count matches the source animation, ensuring the colormap rewrite leaves the frame structure intact.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp animation
Log

            
gifclrmp -s dumps the global colormap of fire.gif Original / giflib / usage-giflib-tools-gifclrmp-fire-image-select Passed

Runs gifclrmp -s on the multi-frame fire.gif to dump its global colormap as text and verifies the dump contains at least two palette rows whose first row parses as "<index> <r> <g> <b>" with r,g,b in [0,255], confirming gifclrmp produces a well-formed palette dump for a multi-frame GIF.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette
Log

            
gifclrmp fire palette row Original / giflib / usage-giflib-tools-gifclrmp-fire-palette-row Passed

Prints the fire.gif color map with gifclrmp and verifies that at least one palette row is emitted.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifclrmp
Log

            
gifclrmp fire palette Original / giflib / usage-giflib-tools-gifclrmp-fire Passed

Prints the fire.gif color map with gifclrmp and checks indexed RGB rows.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif palette
Log

            
gifclrmp -g applies a gamma transform to the palette Original / giflib / usage-giflib-tools-gifclrmp-grid-gamma-palette Passed

Dumps the gifgrid.gif palette with gifclrmp -s as a baseline, applies a non-trivial gamma value with gifclrmp -g 2.2 to produce a transformed GIF, dumps that GIF's palette, and verifies the row count is preserved while at least one channel value in the palette has changed, demonstrating gifclrmp performed a real per-channel transformation rather than a no-op copy.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette
Log

            
gifclrmp -l swaps the gifgrid palette with one dumped from fire Original / giflib / usage-giflib-tools-gifclrmp-grid-load-fire-palette Passed

Dumps the fire.gif color map with gifclrmp -s, applies that palette to gifgrid.gif via gifclrmp -l, and confirms the resulting GIF reports a colormap whose first content row matches the fire palette row, exercising a cross-fixture palette transplant.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp colormap
Log

            
gifclrmp grid palette row Original / giflib / usage-giflib-tools-gifclrmp-grid-palette-row Passed

Prints the gifgrid.gif color map with gifclrmp and verifies that at least one palette row is emitted.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifclrmp
Log

            
gifclrmp -l reloads a modified palette Original / giflib / usage-giflib-tools-gifclrmp-grid-reload-modified Passed

Dumps the gifgrid.gif color map with gifclrmp -s, edits one palette row to a known RGB triple, reloads that palette with gifclrmp -l, and confirms the reloaded GIF round-trips through gifclrmp -s yielding the modified row verbatim.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp colormap
Log

            
gifclrmp grid palette Original / giflib / usage-giflib-tools-gifclrmp-grid Passed

Prints the gifgrid.gif color map with gifclrmp and checks indexed RGB rows.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif palette
Log

            
gifclrmp -i 5 -g rewrites only image #5 while -g alone rewrites the whole map Original / giflib / usage-giflib-tools-gifclrmp-image-index-vs-global Passed

Applies the same gamma value via gifclrmp twice on fire.gif -- once globally with -g 0.5 and once scoped to a single frame with -i 5 -g 0.5 -- and verifies the two outputs differ from each other and from the original, that both remain parseable GIFs with the original frame count and screen size, anchoring the per-image scoping behavior of -i.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp gamma image-index
Log

            
gifclrmp interlaced fixture Original / giflib / usage-giflib-tools-gifclrmp-interlaced Passed

Prints the color map for the interlaced treescap fixture with gifclrmp and verifies a palette row is emitted.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifclrmp
Log

            
giflib-tools gifclrmp map Original / giflib / usage-giflib-tools-gifclrmp-map Passed

Runs giflib-tools gifclrmp map on a GIF fixture and checks image metadata.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
gifclrmp -s on treescap-interlaced emits a power-of-two palette Original / giflib / usage-giflib-tools-gifclrmp-treescap-interlaced-palette-shape Passed

Dumps the global color map of the treescap-interlaced.gif fixture with gifclrmp -s, asserts the row count is one of the GIF-permitted palette sizes (2, 4, 8, 16, 32, 64, 128 or 256), and verifies every dump line matches the expected "index R G B" four-token shape with each channel a 0-255 byte.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp colormap interlace
Log

            
gifclrmp treescap colormap Original / giflib / usage-giflib-tools-gifclrmp-treescap Passed

Lists treescap.gif color map entries with gifclrmp and verifies numeric color rows are emitted.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giflib-tools giffix copy Original / giflib / usage-giflib-tools-giffix-copy Passed

Runs giflib-tools giffix copy on a GIF fixture and checks image metadata.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
giffix recovers from a flipped byte after the GIF trailer Original / giflib / usage-giflib-tools-giffix-corrupt-extension-byte Passed

Copies treescap.gif, flips a single byte appended after the trailer to simulate corruption beyond the legitimate stream, and confirms giffix produces output that giftext can still parse, demonstrating that a stray post-trailer byte does not derail the recovery path.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix repair
Log

            
giffix strips trailing junk bytes after a GIF trailer Original / giflib / usage-giflib-tools-giffix-corrupt-gcb-byte Passed

Appends 96 zero bytes after the canonical 0x3B trailer of a copy of treescap.gif to simulate trailing garbage, runs giffix on the dirty stream, and verifies the recovered output is recognized as GIF data, ends with the canonical 0x3B trailer byte, and parses through giftext.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix repair
Log

            
giffix on already-clean treescap.gif preserves giftext metadata Original / giflib / usage-giflib-tools-giffix-fire-clean-idempotent Passed

Pipes the already-well-formed treescap.gif fixture through giffix and asserts the giftext header decoding (screen size, GIF version) of the giffix output matches the source, demonstrating giffix is a no-op-equivalent on healthy non-interlaced inputs.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix idempotent
Log

            
giffix giftext output Original / giflib / usage-giflib-tools-giffix-fire-giftext Passed

Exercises giffix giftext output through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
giffix fire screen size Original / giflib / usage-giflib-tools-giffix-fire-screen-size Passed

Repairs fire.gif with giffix and verifies that giftext on the fixed gif still reports Screen Size.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giffix
Log

            
giffix grid color map Original / giflib / usage-giflib-tools-giffix-grid-colormap Passed

Runs giffix on gifgrid.gif and verifies the repaired stream still exposes palette data.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif repair
Log

            
giffix grid screen header Original / giflib / usage-giflib-tools-giffix-grid-screen Passed

Runs giffix on the grid fixture and verifies the repaired GIF still exposes screen metadata through giftext.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giffix
Log

            
giffix grid copy Original / giflib / usage-giflib-tools-giffix-grid Passed

Runs giffix on a non-interlaced GIF fixture and verifies the repaired stream is readable.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif repair
Log

            
giffix color map Original / giflib / usage-giflib-tools-giffix-interlaced-colormap Passed

Exercises giffix color map through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
giffix interlaced fixture Original / giflib / usage-giflib-tools-giffix-interlaced Passed

Repairs the interlaced treescap fixture with giffix and verifies the fixed GIF remains readable by giftext.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif repair
Log

            
giffix trims 256-byte trailing tail Original / giflib / usage-giflib-tools-giffix-large-trailing-junk Passed

Appends 256 deterministic junk bytes after the GIF trailer of fire.gif, runs giffix on the dirty stream, and confirms the repaired output is no larger than the original byte count and still parses through giftext.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix repair
Log

            
giffix tolerates trailing garbage Original / giflib / usage-giflib-tools-giffix-trailing-junk Passed

Appends 16 bytes of garbage after the GIF trailer and confirms giffix produces output that giftext still parses, demonstrating the recovery path is not derailed by stray trailing bytes.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix repair
Log

            
giffix treescap colormap Original / giflib / usage-giflib-tools-giffix-treescap-colormap Passed

Runs giffix on the treescap fixture and verifies the fixed GIF still exposes a color map through gifclrmp.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giffix
Log

            
giffix treescap screen size Original / giflib / usage-giflib-tools-giffix-treescap-screen-size Passed

Repairs the treescap.gif fixture with giffix and verifies that giftext can still read screen metadata from the result.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giffix
Log

            
giffix treescap copy Original / giflib / usage-giflib-tools-giffix-treescap Passed

Runs giffix on treescap.gif and verifies the repaired stream is readable.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif repair
Log

            
giffix tolerates trailing junk after GIF trailer Original / giflib / usage-giflib-tools-giffix-truncated-trailer Passed

Appends junk bytes after the GIF trailer of a fixture, runs giffix to clean the stream, and confirms giftext can still parse the screen descriptor on the repaired output.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix repair
Log

            
giffix -v on a clean non-interlaced fixture matches the bare giffix output Original / giflib / usage-giflib-tools-giffix-verbose-flag-noninterlaced Passed

Runs giffix with and without -v on the non-interlaced gifgrid.gif fixture, captures stdout, stderr and exit code for each, and verifies both invocations succeed (exit 0), produce byte-identical stdout, and write nothing to stderr -- confirming the -v flag is silent on a fixture that needs no repair narration.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix verbose
Log

            
giffix removes zero-bytes appended after the GIF trailer Original / giflib / usage-giflib-tools-giffix-zeroed-trailer Passed

Copies treescap.gif, appends 64 zero bytes after the canonical 0x3B trailer so the stream has trailing garbage past the terminator, runs giffix on the dirty file, and verifies the repaired output is recognized as GIF data, ends with the canonical 0x3B trailer, and parses through giftext.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix repair
Log

            
giftext reports only the final -b after a giftool background chain Original / giflib / usage-giflib-tools-giftext-bg-chain-final-index Passed

Pipes treescap.gif through giftool -b 5, then giftool -b 9, and verifies giftext on the final stream reports BackGround = 9 with no remaining BackGround = 5 record, demonstrating that successive -b transforms overwrite the screen background field rather than accumulating.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool giftext pipeline
Log

            
giflib-tools giftext color map Original / giflib / usage-giflib-tools-giftext-colormap Passed

Uses giftext to dump the GIF color map from a fixture and verifies color table output is present.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
giftext -e dumps GIF89 graphics control blocks with Disposal Mode lines Original / giflib / usage-giflib-tools-giftext-extension-disposal-modes Passed

Runs giftext -e on fire.gif (an animated multi-frame GIF89 fixture) and asserts the extension-block listing contains GIF89 graphics control records carrying Disposal Mode and DelayTime lines, with the Disposal Mode count matching the frame count reported by giftext on the same fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext extensions
Log

            
giftext fire background field Original / giflib / usage-giflib-tools-giftext-fire-background Passed

Exercises giftext fire background field through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
giftext fire bits per pixel Original / giflib / usage-giflib-tools-giftext-fire-bits-per-pixel Passed

Reads fire.gif with giftext and verifies that the BitsPerPixel header field is emitted.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext fire color count Original / giflib / usage-giflib-tools-giftext-fire-color-count Passed

Dumps fire.gif colormap text with giftext and verifies numeric color table rows are present.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext fire color resolution Original / giflib / usage-giflib-tools-giftext-fire-color-resolution Passed

Exercises giftext fire color resolution through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
giftext fire color map row Original / giflib / usage-giflib-tools-giftext-fire-colormap-row Passed

Prints the fire.gif color map with giftext -c and verifies that at least one numeric palette row is emitted.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext fire color map Original / giflib / usage-giflib-tools-giftext-fire-colormap Passed

Reads fire.gif with giftext color map output and checks palette metadata.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext fire GIF header Original / giflib / usage-giflib-tools-giftext-fire-header Passed

Reads fire.gif with giftext and checks screen metadata.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext fire image count Original / giflib / usage-giflib-tools-giftext-fire-image-count Passed

Dumps fire.gif with giftext and verifies image records are reported in the textual metadata output.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext fire emits per-frame Image headers Original / giflib / usage-giflib-tools-giftext-fire-multi-frame-headers Passed

Runs giftext on the animated fire.gif fixture and asserts more than one Image #N header is emitted with strictly increasing sequence numbers starting at 1.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext animation
Log

            
giftext fire screen size Original / giflib / usage-giflib-tools-giftext-fire-screen-size Passed

Reads the fire.gif fixture with giftext and verifies that screen-size metadata is emitted.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext grid background Original / giflib / usage-giflib-tools-giftext-grid-background Passed

Reads the gifgrid fixture with giftext and verifies the background field is reported.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext grid bits per pixel Original / giflib / usage-giflib-tools-giftext-grid-bits-per-pixel Passed

Reads the gifgrid fixture with giftext and verifies that the bits-per-pixel metadata line is emitted.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext grid Global Color Map Original / giflib / usage-giflib-tools-giftext-grid-color-map Passed

Prints the gifgrid.gif color map with giftext -c and verifies that the Global Color Map heading is emitted.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext grid color resolution Original / giflib / usage-giflib-tools-giftext-grid-color-resolution Passed

Dumps gifgrid.gif with giftext and verifies the color resolution field is present.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext grid color map Original / giflib / usage-giflib-tools-giftext-grid-colormap Passed

Reads gifgrid.gif with giftext color map output and checks palette metadata.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext grid screen header Original / giflib / usage-giflib-tools-giftext-grid-screen Passed

Reads gifgrid.gif with giftext and checks screen metadata.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext emits exactly one Image #N header for gifgrid.gif Original / giflib / usage-giflib-tools-giftext-grid-single-image-record Passed

Runs giftext on the single-frame gifgrid.gif and asserts there is exactly one Image #N record (with N starting at 1) on stdout, anchoring the headerless single-image case alongside the existing fire.gif multi-frame coverage.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext
Log

            
giflib-tools giftext headers Original / giflib / usage-giflib-tools-giftext-headers Passed

Runs giflib-tools giftext headers on a GIF fixture and checks image metadata.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
giftext interlaced bits per pixel Original / giflib / usage-giflib-tools-giftext-interlaced-bits-per-pixel Passed

Reads treescap-interlaced.gif with giftext and verifies that the BitsPerPixel header field is emitted.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext interlaced color map Original / giflib / usage-giflib-tools-giftext-interlaced-colormap Passed

Exercises giftext interlaced color map through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
giflib-tools giftext interlaced fixture Original / giflib / usage-giflib-tools-giftext-interlaced-fixture Passed

Inspects an interlaced GIF fixture with giftext and verifies image metadata output.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
giftext interlaced header Original / giflib / usage-giflib-tools-giftext-interlaced-header Passed

Reads an interlaced GIF fixture with giftext and checks screen metadata.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext interlaced screen size Original / giflib / usage-giflib-tools-giftext-interlaced-screen-size Passed

Reads the interlaced treescap fixture with giftext and verifies that screen-size metadata is emitted.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext -z dumps decompressed LZW code rows for every image Original / giflib / usage-giflib-tools-giftext-lz-codes-block Passed

Runs giftext -z on fire.gif and verifies the output contains a substantial number of decompressed-code offset rows (matching ^[0-9a-f]+: with three-digit code tokens) and ends with the standard "GIF file terminated normally." sentinel, exercising the -z decompressed-code dump mode that is otherwise uncovered.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext lz
Log

            
giftext -p ends with the GIF terminated normally trailer line Original / giflib / usage-giflib-tools-giftext-pixel-mode-trailer Passed

Runs giftext -p on fire.gif to dump pixel-level information and verifies the output's final non-empty line is the literal "GIF file terminated normally." sentinel that giftext writes only when the input parsed cleanly to EOF, anchoring the pixel-dump completion behavior.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext pixels
Log

            
giftext describes a synthesized 1x1 GIF correctly Original / giflib / usage-giflib-tools-giftext-synth-1x1-color-count Passed

Synthesizes a single-pixel RGB triple, encodes it into a 1x1 GIF with gif2rgb -s, and asserts giftext reports the minimal screen size and the presence of an image record, exercising the giftext metadata path on the smallest possible GIF.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext minimal
Log

            
giftext treescap background Original / giflib / usage-giflib-tools-giftext-treescap-background Passed

Reads the treescap fixture with giftext and verifies the background field is reported.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext treescap bits per pixel Original / giflib / usage-giflib-tools-giftext-treescap-bits-per-pixel Passed

Reads treescap.gif with giftext and verifies that the BitsPerPixel header field is emitted.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext treescap color resolution Original / giflib / usage-giflib-tools-giftext-treescap-color-resolution Passed

Reads the treescap fixture with giftext and verifies the color resolution metadata is reported.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext treescap color map Original / giflib / usage-giflib-tools-giftext-treescap-colormap Passed

Exercises giftext treescap color map through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
giftext treescap image records Original / giflib / usage-giflib-tools-giftext-treescap-images Passed

Reads treescap.gif with giftext and checks image descriptor output.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext -v verbose mode is accepted and produces parseable output Original / giflib / usage-giflib-tools-giftext-verbose-mode Passed

Runs giftext with the -v verbose flag on gifgrid.gif and confirms the tool exits zero, emits the standard descriptive blocks (Screen Size, BackGround, and Image # records) on stdout, and that the verbose run produces a line count at least as large as the non-verbose run, demonstrating verbose mode is recognized and additive rather than rejected.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext verbose
Log

            
giftool -b 0 lands as screen background 0 Original / giflib / usage-giflib-tools-giftool-background-zero-dump Passed

Forces the screen background index to 0 with giftool -b on treescap.gif and confirms gifbuild -d reports screen background 0 in its textual dump.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool gifbuild
Log

            
giftool -b 7 -d 30 -x 2 chains background, delay and disposal in one invocation Original / giflib / usage-giflib-tools-giftool-bg-delay-disposal-chain Passed

Pipes fire.gif through a single giftool invocation that simultaneously sets the screen background index (-b 7), the per-frame delay (-d 30), and the per-frame disposal mode (-x 2), then asserts giftext shows BackGround = 7, every DelayTime line equals 30, and every Disposal Mode line equals 2 with both per-frame counts matching the frame count.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool chain
Log

            
giftool -b applied twice with the same value is idempotent Original / giflib / usage-giflib-tools-giftool-bg-roundtrip-idempotent Passed

Pipes treescap.gif through giftool -b 3 and then through a second giftool -b 3 invocation and verifies the two outputs are byte-identical and giftext reports BackGround = 3, demonstrating idempotence of the background-index transform under repeated application.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool idempotent
Log

            
giftool combines -b and -i in one pass Original / giflib / usage-giflib-tools-giftool-combined-bg-interlace Passed

Invokes giftool with both -b for the screen background index and -i to set the interlace flag on the same input and verifies giftext records both transformations on the resulting GIF.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool combines -d and -p in one invocation Original / giflib / usage-giflib-tools-giftool-delay-position-combo Passed

Invokes giftool with -d 50 and -p 2,3 in a single command on gifgrid.gif and verifies gifbuild dumps the requested delay 50 and an image with left 2 and top 3, confirming both transforms were applied in one pass without one clobbering the other.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool combo
Log

            
giftool -x 2 sets disposal mode 2 on every fire.gif frame Original / giflib / usage-giflib-tools-giftool-disposal-mode-set Passed

Pipes fire.gif through giftool -x 2 to set the per-frame disposal mode to 2 (restore-to-background), captures giftext -e on the result, and verifies that every Disposal Mode line in the output reads "Disposal Mode: 2" with the count matching the frame count, exercising the previously uncovered -x flag.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool disposal
Log

            
giftool -i marks images interlaced Original / giflib / usage-giflib-tools-giftool-enable-interlace Passed

Sets the interlace flag on a non-interlaced fixture via giftool -i and confirms giftext reports the image as interlaced.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool interlace
Log

            
giftool -b and -d combined on animated fire fixture Original / giflib / usage-giflib-tools-giftool-fire-bg-delay-chain Passed

Pipes the multi-frame fire.gif through giftool with both a -b background index and a -d delay value in a single invocation, then asserts the gifbuild dump shows the new delay and giftext records the new background index, exercising two independent giftool transforms on an animated input.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool animation
Log

            
giftool chains -b then -p across the fire animation Original / giflib / usage-giflib-tools-giftool-fire-bg-position-chain Passed

Pipes the multi-frame fire.gif through giftool -b 7 to set the screen background index, then through a second giftool -p 0,0 invocation, and verifies giftext reports BackGround = 7 while gifbuild dumps every animated frame with image left 0 and image top 0, demonstrating that a -b transform survives a follow-up -p pass on an animated stream.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline animation
Log

            
giftool -b followed by giftool -s preserves animation frame count Original / giflib / usage-giflib-tools-giftool-fire-bg-then-screen-roundtrip Passed

Sets the background index of fire.gif with giftool -b 5, then resizes the logical screen to 256,128 with a second giftool -s invocation, and verifies giftext reports BackGround = 5 with Width = 256, Height = 128 while gifbuild -d enumerates the same animation frame count as the source.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool animation
Log

            
giftool -i 0 clears the interlace flag on every fire.gif frame Original / giflib / usage-giflib-tools-giftool-fire-clear-interlace-flag Passed

Confirms the multi-frame fire.gif fixture has its Image is Interlaced flag set on every frame, runs giftool -i 0 on it, and asserts every interlace marker is gone from the result while the screen size and frame count are preserved -- complementing the existing single-frame treescap-interlaced clear-flag coverage with a multi-frame case.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool interlace
Log

            
giftool -s on fire.gif rewrites screen size while preserving frame count Original / giflib / usage-giflib-tools-giftool-fire-screen-resize-frames-preserved Passed

Resizes the logical screen of the multi-frame fire.gif to 320x240 with giftool -s, verifies giftext reports the new screen size and that the frame count emitted by gifbuild -d matches the original animation frame count, ensuring -s rewrites only the screen descriptor.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool animation screen
Log

            
giftool -s pipeline followed by giftool -f reports the rewritten screen Original / giflib / usage-giflib-tools-giftool-fire-screen-then-format-shows-new-size Passed

Resizes fire.gif logical screen to 200,100 with giftool -s, pipes the result into a second giftool -f '%s' invocation, and asserts every emitted line reports the new screen-size token 200,100, confirming -f reads the just-written screen descriptor across a pipe boundary.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline format
Log

            
giftool -f lists every frame after a giftool -d transform Original / giflib / usage-giflib-tools-giftool-format-frame-list-pipeline Passed

Pipes fire.gif through giftool -d 75, then asks a second giftool -f invocation to emit one line per frame with index and dimensions, and confirms the post-transform stream still enumerates every animated frame and that gifbuild reports the new delay on those frames.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline animation
Log

            
giftool -f emits exactly one frame line for the single-image gifgrid fixture Original / giflib / usage-giflib-tools-giftool-format-grid-frame-count Passed

Runs giftool -f '%n %wx%h\n' against gifgrid.gif and asserts the listing has exactly one row whose frame index is 1 and whose width-by-height matches the screen size giftext extracts, anchoring the %n directive on a non-animated fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f counts animation frames Original / giflib / usage-giflib-tools-giftool-format-image-count Passed

Uses giftool -f to emit one line per image in the multi-frame fire fixture and verifies the expected frame count.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool animation
Log

            
giftool -f formatter prints screen size Original / giflib / usage-giflib-tools-giftool-format-screen-size Passed

Exercises the giftool -f format directive to print version and screen size cookies for a single-image fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -f reports GIF87a version and screen size Original / giflib / usage-giflib-tools-giftool-format-version-token Passed

Asks giftool -f to print the version cookie and screen-size pair for a GIF87a fixture and confirms the emitted tokens match the expected values, exercising the %v and %s format directives together.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -b N updates background index on gifgrid Original / giflib / usage-giflib-tools-giftool-grid-bg-single-param Passed

Reads the original BackGround index reported by giftext for gifgrid.gif, picks a sentinel index distinct from that value, runs giftool -b sentinel as the only transform, and confirms giftext on the result reports BackGround = sentinel and that the rewritten file is still recognized as GIF data.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool single-param
Log

            
giftool -f emits per-frame dimensions for gifgrid Original / giflib / usage-giflib-tools-giftool-grid-format-dimensions Passed

Asks giftool -f to print %w %h for every frame in gifgrid.gif, cross-checks the line count against the gifbuild image header count, and verifies each line parses as two positive integers whose product matches the screen-size product reported by giftext.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool chains interlace then delay Original / giflib / usage-giflib-tools-giftool-interlace-delay-chain Passed

Pipes treescap.gif through giftool -i 1 and then a second giftool -d 100 invocation, then verifies gifbuild reports both interlace and the delay 100 in the resulting GIF.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
giftool no-op preserves GIF screen dimensions Original / giflib / usage-giflib-tools-giftool-noop-copy Passed

Pipes a fixture through giftool with no transforms and confirms the copy is a valid GIF whose screen size matches the source as reported by giftext.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -p position survives a follow-up giftool -f format extraction Original / giflib / usage-giflib-tools-giftool-position-format-combo Passed

Pipes treescap.gif through giftool -p 6,9 to set the image origin, then through a second giftool -f invocation that emits a custom format line per frame, and confirms the format pass enumerates the expected number of frames while gifbuild dumps the new image left 6 and image top 9 coordinates on the positioned stream.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
giftool -p 0,0 anchors the image to the origin Original / giflib / usage-giflib-tools-giftool-position-origin-reset Passed

First moves an image origin to a non-zero position with giftool -p 5,7, pipes that result through giftool -p 0,0 to reset, and verifies the final gifbuild dump shows image left 0 and image top 0 with no remnant of the intermediate offset.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
giftool -p then -b chained over two passes preserves both transforms Original / giflib / usage-giflib-tools-giftool-position-then-bg-chain Passed

Pipes treescap.gif through giftool -p 4,5 and then through giftool -b 2 in a second invocation, then verifies gifbuild -d shows image left 4 and image top 5 on the resulting frame and giftext reports BackGround = 2, exercising independent composition of the position and background transforms.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool chain
Log

            
giftool exits non-zero with a GIF-LIB read error on empty stdin Original / giflib / usage-giflib-tools-giftool-rejects-empty-stdin Passed

Invokes giftool -d 0 with /dev/null as stdin, captures its exit code and stderr, and asserts the tool exits with a non-zero status while emitting the canonical "GIF-LIB error: Failed to read from given file." diagnostic, anchoring giftool's empty-input failure mode.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool error
Log

            
giftool -b updates background color index Original / giflib / usage-giflib-tools-giftool-set-background Passed

Rewrites the logical screen background color index with giftool -b and verifies the new index appears in giftext output.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -d sets graphics control delay Original / giflib / usage-giflib-tools-giftool-set-delay Passed

Applies a giftool -d delay value and confirms gifbuild dumps the requested delay in the graphics control extension.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -p sets image origin Original / giflib / usage-giflib-tools-giftool-set-position Passed

Moves the image descriptor origin with giftool -p and confirms gifbuild dumps the requested left and top coordinates.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -s applied twice with the same dimensions is byte-stable Original / giflib / usage-giflib-tools-giftool-set-screen-idempotent-resize Passed

Pipes treescap.gif through giftool -s 80,60 and feeds the result back through giftool -s 80,60 a second time, then asserts both outputs are byte-identical and giftext reports Width = 80, Height = 60 on the doubly-resized stream, demonstrating idempotence of the screen-descriptor rewrite.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool idempotent
Log

            
giftool -s rewrites logical screen size Original / giflib / usage-giflib-tools-giftool-set-screen-size Passed

Resizes the logical screen descriptor with giftool -s and verifies giftext reports the new width and height.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -d sets per-frame delay Original / giflib / usage-giflib-tools-giftool-set-transparency Passed

Applies a giftool -d delay value to a GIF fixture and verifies the resulting graphics control extension reports the requested delay in the gifbuild text dump.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -i 0 clears interlace on an already-interlaced fixture Original / giflib / usage-giflib-tools-giftool-treescap-interlaced-clear-flag Passed

Confirms the treescap-interlaced.gif fixture is in fact interlaced via giftext, runs giftool -i 0 to clear the per-image interlace flag, and verifies the resulting GIF parses without the Image is Interlaced marker while preserving its screen size, exercising the inverse of giftool -i 1.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool interlace
Log

            
gif2rgb -c 16 -1 -o produces width*height*3 RGB bytes for fire.gif Original / giflib / usage-giflib-tools-r10-gif2rgb-quantize-16-rgb-size-fire Passed

Runs gif2rgb -c 16 -1 -o to quantize fire.gif into a 16-color RGB stream and verifies the resulting raw RGB byte count equals width*height*3 reported by giftext, exercising the color-quantization output path while preserving raw-image dimensions.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb quantize
Log

            
gifclrmp -g 1.0 then -s on fire.gif yields a 256-entry palette dump Original / giflib / usage-giflib-tools-r10-gifclrmp-identity-gamma-256-palette Passed

Applies gifclrmp -g 1.0 (identity gamma) to fire.gif, then dumps the palette of the resulting GIF with gifclrmp -s and confirms the dump has exactly 256 entries each carrying three RGB integers, exercising the gamma-mutation path with an identity transform.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp gamma
Log

            
chained giftool -p calls let the last position override the first Original / giflib / usage-giflib-tools-r10-giftool-double-position-last-wins Passed

Pipes fire.gif through giftool -p 5,5 then giftool -p 11,13 and confirms the final %p format readout reports 11,13 on every frame, exercising chained-pipeline override semantics for the position field.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
giftool -f %a reports default zero pixel-aspect byte for fire.gif Original / giflib / usage-giflib-tools-r10-giftool-format-aspect-default-zero Passed

Runs giftool -f '%a\n' against fire.gif and confirms the pixel aspect byte cookie evaluates to 0 on every frame, exercising the %a format directive against the unset aspect-ratio header field.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %x emits per-frame disposal mode for fire.gif Original / giflib / usage-giflib-tools-r10-giftool-format-disposal-x-token Passed

Asks giftool -f '%x\n' to print the GIF89 disposal mode for every frame of fire.gif and confirms the values are uniformly 1 (do-not-dispose), the encoded mode in the fixture's graphics control extensions.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %z prints zero color-table sort flag for fire.gif Original / giflib / usage-giflib-tools-r10-giftool-format-sort-flag-default-zero Passed

Runs giftool -f '%z\n' against the fire.gif fixture and confirms the per-image color-table sort flag is uniformly 0, exercising the %z format directive against an unsorted-palette source.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %u prints zero user-input flag for unmodified fire.gif Original / giflib / usage-giflib-tools-r10-giftool-format-user-input-default-zero Passed

Runs giftool -f '%u\n' on the fire.gif fixture without any prior modification and confirms the per-frame user-input flag is uniformly 0, exercising the %u format directive's default-state output.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -d 50 sets every fire.gif frame to a 50-cs delay Original / giflib / usage-giflib-tools-r10-giftool-set-delay-50-uniform Passed

Pipes fire.gif through giftool -d 50 and confirms a follow-up giftool -f '%d\n' pass reports a uniform delay of 50 centiseconds across every frame, exercising the delay-mutation path against the multi-frame fire fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
giftool -u 1 sets the GCB user-input flag on every frame Original / giflib / usage-giflib-tools-r10-giftool-set-userinput-flag-on Passed

Pipes fire.gif through giftool -u 1 to enable the graphics control extension user-input flag, then re-reads the flag through giftool -f '%u\n' and confirms every frame now reports 1, exercising the user-input mutation path.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
giftool -d 0 zeroes the GCB delay on every frame of fire.gif Original / giflib / usage-giflib-tools-r10-giftool-zero-delay-clears-all-frames Passed

Pipes fire.gif through giftool -d 0 to clear the per-frame delay, then re-reads the delay through a second giftool -f '%d\n' pass and confirms every frame reports delay=0 instead of the original 5-centisecond value.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
gif2rgb without -1 emits separate R/G/B files for treescap Original / giflib / usage-giflib-tools-r11-gif2rgb-three-channel-files-treescap Passed

Runs gif2rgb -o on the treescap fixture (40x40) and verifies it writes three sibling channel files <out>.R, <out>.G, <out>.B, each exactly 1600 bytes (one byte per pixel per channel).

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb channels
Log

            
gifbuild -h prints version banner and usage line Original / giflib / usage-giflib-tools-r11-gifbuild-help-banner-version Passed

Invokes gifbuild -h, which exits zero on noble, and verifies the printed banner names the binary, includes a "Version" string, and contains the documented "Usage: gifbuild" line.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild help
Log

            
gifclrmp -s on treescap dumps a sixteen-entry palette Original / giflib / usage-giflib-tools-r11-gifclrmp-treescap-sixteen-entries Passed

Runs gifclrmp -s on the treescap fixture (BitsPerPixel=4) and verifies the dumped palette has exactly 16 lines, each three space-separated decimal channel values within 0..255.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette
Log

            
giftext -c lists exactly sixteen global colormap entries for treescap Original / giflib / usage-giflib-tools-r11-giftext-c-colormap-treescap-sixteen Passed

Runs giftext -c on the treescap fixture and counts colormap rows of the form "<idx>: <r>h <g>h <b>h" in the global color map block, asserting exactly 16 entries (matches BitsPerPixel=4).

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext colormap
Log

            
giftext -e fire reports application, comment, and graphics control extensions Original / giflib / usage-giflib-tools-r11-giftext-extension-blocks-fire Passed

Runs giftext -e on the fire fixture and verifies the report enumerates the GIF89 application (Ext Code 255), comment (254), and graphics control (249) extension blocks the file is known to carry.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext extensions
Log

            
giftext -p emits hex-offset prefixed pixmap rows for treescap Original / giflib / usage-giflib-tools-r11-giftext-pixmap-treescap-offset-prefix Passed

Runs giftext -p on the treescap fixture and verifies the pixmap section contains at least 40 lines whose left margin is a five-hex-digit offset followed by a colon, matching the per-row stride formatting.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext pixmap
Log

            
giftool -f %h reports image height 60 for every fire frame Original / giflib / usage-giflib-tools-r11-giftool-format-height-fire-sixty Passed

Runs giftool -f '%h\n' on the multi-frame fire fixture and asserts every emitted line equals "60", confirming the per-frame image height matches the screen height across all animation frames.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %w reports image width 30 for every fire frame Original / giflib / usage-giflib-tools-r11-giftool-format-width-fire-thirty Passed

Runs giftool -f '%w\n' on the multi-frame fire fixture and asserts every emitted line equals "30", confirming the per-frame image width matches the screen width across all animation frames.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -b 7 rewrites the screen background index on treescap Original / giflib / usage-giflib-tools-r11-giftool-set-background-seven-treescap Passed

Pipes treescap through giftool -b 7 and verifies the resulting GIF reports "screen background 7" in gifbuild -d output, exercising the background-index header rewriter.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool background
Log

            
giftool -x 0 clears disposal mode on every fire frame Original / giflib / usage-giflib-tools-r11-giftool-set-disposal-zero-fire Passed

Pipes the multi-frame fire fixture through giftool -x 0 and uses gifbuild -d to confirm every frame's "disposal mode" line collapses to mode 0, distinct from the file's source disposal mode 1.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool disposal
Log

            
gif2rgb -1 stream output is divisible by 3 for treescap.gif Original / giflib / usage-giflib-tools-r12-gif2rgb-treescap-stream-byte-multiple Passed

Decodes treescap.gif via gif2rgb -1 into a single concatenated RGB byte stream and confirms the byte count is a positive multiple of 3 (one byte per channel triplet).

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb stream
Log

            
gifclrmp -s on fire.gif yields RGB triples within 0..255 Original / giflib / usage-giflib-tools-r12-gifclrmp-fire-palette-rgb-bounds Passed

Dumps the fire.gif palette via gifclrmp -s and asserts every row contains at least three numeric values, each in the 0..255 byte-range, exercising the palette dump formatter.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette
Log

            
giftext on treescap.gif reports the same image count as giftool Original / giflib / usage-giflib-tools-r12-giftext-treescap-image-count Passed

Counts "Image" header sections in giftext output for treescap.gif and asserts the count equals the per-frame line count from giftool -f '%n\n', cross-checking the two readers agree on frame count.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext cross-check
Log

            
giftool -f %n emits a strictly increasing image index per frame Original / giflib / usage-giflib-tools-r12-giftool-format-image-index-monotonic Passed

Runs giftool -f '%n\n' on fire.gif and confirms the resulting image-index column is monotonically increasing by exactly 1 each line, exercising the per-frame iteration counter.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %s emits the logical screen size as an x,y pair Original / giflib / usage-giflib-tools-r12-giftool-format-screen-size-pair Passed

Runs giftool -f '%s\n' on fire.gif and asserts every line matches the WxH pair (digit,digit) format and that all lines report the same screen size.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %v reports a GIF87a or GIF89a version per frame for fire.gif Original / giflib / usage-giflib-tools-r12-giftool-format-version-string Passed

Asks giftool -f '%v\n' to print the GIF version string for every frame of fire.gif and confirms the output is a non-empty list of GIF8[79]a values, exercising the version-format cookie path.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %wx%h yields per-frame dimensions bounded by the screen size Original / giflib / usage-giflib-tools-r12-giftool-format-width-height-match-screen Passed

Runs giftool -f '%w %h\n' on fire.gif and asserts each per-frame width and height is positive and not greater than the screen-descriptor width/height parsed via giftool -f '%s\n'.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
gifbuild -d on fire.gif reports interlaced frames Original / giflib / usage-giflib-tools-r12-giftool-interlace-flag-on-then-format Passed

Runs gifbuild -d on fire.gif (which is interlaced) and asserts the textual dump mentions the "interlaced" keyword on at least one frame, exercising the giflib gifbuild text-dump path. (giftool's per-frame interlace mutation flag is unreliable on giflib 5.2.2 — bare "-i N" prints "unknown operation mode"; the gifbuild reader-side dump is the stable surface for exercising the interlace bit.)

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild interlace
Log

            
giftool -d 50 sets per-frame delay readable via %d Original / giflib / usage-giflib-tools-r12-giftool-set-aspect-byte-roundtrip Passed

Runs giftool -d 50 on fire.gif to set every frame's graphic-control delay to 50 (0.5 s), then re-reads the value through giftool -f '%d\n' and confirms every emitted line reports 50, exercising the per-frame delay mutation round-trip. (The -a aspect flag prints "unknown operation mode" on giflib 5.2.2; -d is the documented per-frame mutation surface.)

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
giftool -b 7 sets the screen background color index Original / giflib / usage-giflib-tools-r12-giftool-set-bgcolor-index-roundtrip Passed

Applies giftool -b 7 to fire.gif to set the logical-screen background color index, then re-reads the field via giftool -f '%b\n' and confirms every frame reports 7.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
gif2rgb -1 fire.gif emits 3 * w * h bytes for the first frame Original / giflib / usage-giflib-tools-r13-gif2rgb-fire-stream-rgb-channel-bytes Passed

Decodes fire.gif via gif2rgb -1 into a stream RGB file and asserts the byte count equals 3 * first_frame_width * first_frame_height, exercising the RGB-per-pixel stream emission. (gif2rgb -1 emits a single frame's pixels regardless of frame count on giflib 5.2.2.)

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb stream
Log

            
gifbuild -d on treescap emits one image directive per frame Original / giflib / usage-giflib-tools-r13-gifbuild-treescap-image-line-count-matches-frames Passed

Runs gifbuild -d on treescap.gif and counts top-level "image" directives in the dump, asserting the count equals the per-frame count reported by giftool -f '%n\n', confirming the dump and tool agree on frame count.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild dump
Log

            
gifclrmp -l with the original palette preserves treescap frame count Original / giflib / usage-giflib-tools-r13-gifclrmp-treescap-frame-count-preserved Passed

Dumps treescap.gif's palette with gifclrmp -s, reloads the same palette via gifclrmp -l, and verifies the per-frame count reported by giftool -f '%n\n' is unchanged from the input fixture, exercising the colormap-translation pipeline at frame-count granularity.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette
Log

            
giffix on treescap.gif preserves the logical screen size Original / giflib / usage-giflib-tools-r13-giffix-fire-screen-size-preserved Passed

Runs giffix over treescap.gif (non-interlaced; giffix refuses interlaced inputs with "Cannot fix interlaced images.") and confirms the output is still recognised as a GIF and reports the same screen size via giftool -f '%s\n' as the input, exercising giffix's clean-pass-through path.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix screen
Log

            
giftext per-image dimension line count matches giftool frame count Original / giflib / usage-giflib-tools-r13-giftext-fire-image-pixel-mode-line Passed

Runs giftext on the fire fixture and asserts the number of per-image "Width = ..., Height = ..." dimension lines equals both the count of "Image #N:" headers and the per-frame line count from giftool -f '%n\n', confirming the giftext per-image emitter is consistent.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext headers
Log

            
giftext on fire.gif emits a Screen Size line with positive dimensions Original / giflib / usage-giflib-tools-r13-giftext-fire-version-line Passed

Runs plain giftext on fire.gif and asserts the screen-descriptor section names a "Screen Size" line whose width and height parse as positive integers, exercising the giftext header-section formatter.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext screen
Log

            
giftool -f %d emits a non-negative integer delay for treescap frames Original / giflib / usage-giflib-tools-r13-giftool-format-delay-default-treescap Passed

Runs giftool -f '%d\n' on treescap.gif and asserts every line is a non-negative integer parseable as a hundredth-of-a-second delay value.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %u reports zero user-input flag for every treescap frame Original / giflib / usage-giflib-tools-r13-giftool-format-userinput-default-zero-treescap Passed

Runs giftool -f '%u\n' on treescap.gif and asserts every line is the digit 0, confirming the default user-input flag is unset on the fixture's frames, exercising the format cookie %u path.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -d 25 forces every fire frame to a 25 cs delay Original / giflib / usage-giflib-tools-r13-giftool-set-delay-25-fire Passed

Pipes fire.gif through giftool -d 25 then reads back per-frame delays via giftool -f '%d\n' and asserts every line equals 25, exercising the global delay setter.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool delay
Log

            
giftool -p 5,7 sets every frame's position and giftool -f reads it back Original / giflib / usage-giflib-tools-r13-giftool-set-position-fire-roundtrip Passed

Pipes fire.gif through giftool -p 5,7 to set each frame's image-left/top to 5,7, then reads back via giftool -f '%p\n' and confirms every line reports the assigned 5,7 pair.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
gif2rgb -1 fire stream byte count is integer multiple of frame_bytes within [1, frames] Original / giflib / usage-giflib-tools-r14-gif2rgb-fire-frames-times-pixels-times-three Passed

Decodes fire.gif via gif2rgb -1 and asserts the RGB stream byte count divides cleanly by frame_bytes (Wxhx3) using the screen dimensions reported by giftext, and the resulting multiple is in the closed interval [1, frames] where frames is reported by giftool -f '%n\n', exercising the full-frame emission contract on a multi-frame fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb math
Log

            
gifbuild dump-then-build preserves treescap.gif image count Original / giflib / usage-giflib-tools-r14-gifbuild-treescap-image-count-roundtrip Passed

Dumps treescap.gif via gifbuild -d, rebuilds it via gifbuild, and verifies giftool -f '%n\n' reports the same per-frame count for the rebuilt GIF as for the original, exercising the parse-then-rebuild path at frame-count granularity.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild roundtrip
Log

            
gifclrmp dump-then-reload preserves treescap palette row count and frame count Original / giflib / usage-giflib-tools-r14-gifclrmp-output-flag-treescap-roundtrip Passed

Dumps treescap.gif's palette via gifclrmp -s, reloads the same palette via gifclrmp -l, and asserts the post-mapping GIF dump has the same number of palette rows AND that the frame count reported by giftool -f '%n\n' is unchanged from the input fixture, exercising the colormap-translation pipeline.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette
Log

            
giffix on treescap with appended junk emits a GIF whose body matches the original prefix Original / giflib / usage-giflib-tools-r14-giffix-treescap-trailing-junk-clean Passed

Builds a corrupt fixture by appending stray bytes to a copy of treescap.gif (a non-interlaced fixture giffix supports), runs giffix, and verifies the output is recognised as a GIF whose first <orig_size> bytes equal the original fixture, demonstrating giffix recovered the original payload.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix recovery
Log

            
giftext -c on fire.gif lists a Global Color Map with >=8 indexed RGB rows Original / giflib / usage-giflib-tools-r14-giftext-fire-global-color-map-rows Passed

Runs giftext -c on fire.gif and asserts the output contains a "Global Color Map" header followed by at least 8 numeric rows. giflib 5.2.x emits each row as "<idx>:\t<r>, <g>, <b>"; older builds use bare space-separated columns. Accept either layout via a permissive index-prefixed regex.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext colormap
Log

            
giftext -e on fire.gif emits a GIF89 graphics control marker per frame Original / giflib / usage-giflib-tools-r14-giftext-fire-graphic-control-extension-line Passed

Runs giftext -e on the fire animation fixture and asserts the count of "GIF89 graphics control" extension markers equals the per-frame count reported by giftool -f '%n\n', confirming the GCB extension is enumerated once per image record.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext extension
Log

            
giftool -f '%w %h' reports treescap dimensions on every frame Original / giflib / usage-giflib-tools-r14-giftool-format-info-pair-treescap Passed

Runs giftool -f '%w %h\n' against treescap.gif and asserts every per-frame line is "40 40" (treescap is a static 40x40 frame), exercising the per-frame width and height format directives in tandem.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f compound cookie line emits per-frame width, height, position for fire.gif Original / giflib / usage-giflib-tools-r14-giftool-format-transparent-default-fire Passed

Runs giftool -f '%w %h %p\n' against fire.gif and asserts each line matches the "W H X,Y" compound shape with positive integers for W/H and a comma-separated coordinate pair for the position cookie, exercising compound directive parsing.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -b sets background color index readable via -f %b Original / giflib / usage-giflib-tools-r14-giftool-set-aspect-fire-roundtrip Passed

Pipes fire.gif through giftool -b 5 to overwrite the logical screen descriptor's background color index, then reads it back via giftool -f '%b\n' and asserts every emitted line reports 5, exercising a screen-descriptor mutation round-trip. (giftool's -a aspect flag prints "unknown operation mode" on giflib 5.2.2; the -b background index path is the documented mutation surface.)

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool aspect
Log

            
giftool fed its own output preserves fire.gif image and screen geometry Original / giflib / usage-giflib-tools-r14-giftool-set-loopcount-fire-roundtrip Passed

Pipes fire.gif through giftool with no flags (a no-op copy) and verifies the output is a structurally valid GIF whose per-frame count, screen size, and per-frame width/height (as reported by giftool -f) all match the input fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool identity
Log

            
gif2rgb -1 treescap.gif row stride equals width*3 across all rows Original / giflib / usage-giflib-tools-r15-gif2rgb-treescap-row-stride-equals-width-times-three Passed

Decodes treescap.gif via gif2rgb -1, derives screen width from giftext, and asserts the total RGB byte count is exactly width*height*3*N for some integer N>=1, confirming each row contributes exactly width*3 bytes (no padding) on a non-animated fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb stride
Log

            
gifbuild dump-then-build preserves fire.gif logical screen size Original / giflib / usage-giflib-tools-r15-gifbuild-fire-roundtrip-screen-size Passed

Dumps fire.gif via gifbuild -d, rebuilds it via gifbuild, and asserts the rebuilt GIF reports the same logical screen size (giftool -f '%s\n', deduplicated) as the original, exercising the parse-then-rebuild path at screen-geometry granularity.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild roundtrip
Log

            
gifclrmp -s on fire.gif emits exactly 256 palette rows Original / giflib / usage-giflib-tools-r15-gifclrmp-fire-palette-256-rows Passed

Dumps fire.gif's global palette via gifclrmp -s and asserts the output has exactly 256 rows (the GIF87a/89a maximum global colormap size for an 8-bit-per-pixel encoded animation), exercising the palette-extraction path on a multi-frame fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette
Log

            
giffix on a clean treescap.gif preserves frame count exactly Original / giflib / usage-giflib-tools-r15-giffix-treescap-noop-frame-count-preserved Passed

Runs giffix against a pristine treescap.gif (a non-interlaced fixture giffix supports) without any prior corruption and asserts giftool reports the same frame count for the giffix output as for the input, exercising giffix's pass-through behaviour on already-valid input.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix passthrough
Log

            
giftext treescap.gif emits one Image record header per frame Original / giflib / usage-giflib-tools-r15-giftext-treescap-image-record-count Passed

Runs giftext on treescap.gif and asserts the count of "Image #" record headers equals the per-frame count reported by giftool -f '%n\n', confirming giftext enumerates one record per image descriptor.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext image-record
Log

            
giftool -f '%n' on fire.gif emits a contiguous frame index sequence Original / giflib / usage-giflib-tools-r15-giftool-format-frame-index-zero-based Passed

Runs giftool -f '%n\n' against fire.gif and asserts the output is a contiguous strictly-increasing integer sequence with the same number of frames as fire.gif (giftool 5.2.2 emits 1-based indices, earlier versions 0-based — accept either start, just require contiguity).

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %v reports a single uniform GIF version across all fire.gif frames Original / giflib / usage-giflib-tools-r15-giftool-format-version-fire-uniform Passed

Runs giftool -f '%v\n' against fire.gif and asserts the deduplicated version string is exactly one value (GIF87a or GIF89a) — i.e. giftool reports the same file-level version on every frame line, exercising the per-frame version cookie's uniformity invariant.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -x 2 sets disposal mode background on every treescap frame Original / giflib / usage-giflib-tools-r15-giftool-set-disposal-two-treescap Passed

Pipes treescap.gif through giftool -x 2 to set disposal mode 2 (restore-to-background) on every frame, then reads back via giftool -f '%x\n' and asserts every line equals "2", exercising the disposal-mode setter at a non-default value.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool disposal
Log

            
giftool -p 0,0 on treescap pins every frame to origin Original / giflib / usage-giflib-tools-r15-giftool-set-position-zero-treescap Passed

Pipes treescap.gif through giftool -p 0,0, reads back via giftool -f '%p\n', and asserts every line equals "0,0", exercising the position setter at the origin on a non-interlaced fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool position
Log

            
giftool -u 1 sets the user-input flag on every treescap frame Original / giflib / usage-giflib-tools-r15-giftool-set-userinput-one-treescap Passed

Pipes treescap.gif through giftool -u 1 to set the GCB user-input flag on every frame, then reads back via giftool -f '%u\n' and asserts every line equals "1", exercising the user-input setter on a non-interlaced fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool userinput
Log

            
gif2rgb -1 gifgrid.gif byte count divisible by width*3 Original / giflib / usage-giflib-tools-r16-gif2rgb-grid-bytes-divisible-stride Passed

Decodes gifgrid.gif via gif2rgb -1 and asserts the emitted RGB byte count is positive, divisible by width*3 (no row padding) and divisible by width*height*3 (whole-frame multiple), exercising the stride contract on the synthetic grid fixture distinct from the treescap and fire cases.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb stride
Log

            
gif2rgb -1 treescap.gif emits exactly width*height*3 bytes per frame Original / giflib / usage-giflib-tools-r16-gif2rgb-treescap-pixel-byte-count Passed

Decodes treescap.gif via gif2rgb -1, derives width and height from giftext, and asserts the total RGB byte count is a positive integer multiple of width*height*3 with the multiple equal to the frame count reported by giftool -f '%n\n', exercising the full-frame byte-count contract on a non-interlaced fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb bytes
Log

            
giftool -b 3 fire.gif round-trips through giftool -f '%b\n' Original / giflib / usage-giflib-tools-r16-giftool-background-roundtrip-three Passed

Applies giftool -b 3 to fire.gif to overwrite the logical-screen background color index, reads it back via giftool -f '%b\n', and asserts every emitted line equals "3", exercising the background-index mutation surface at a non-default value.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool background
Log

            
giftool -d 15 fire.gif round-trips through giftool -f '%d\n' Original / giflib / usage-giflib-tools-r16-giftool-delay-mutation-fire-fifteen Passed

Pipes fire.gif through giftool -d 15 to overwrite per-frame delay-time, then reads back via giftool -f '%d\n' and asserts every line reports 15 centiseconds, exercising the delay setter at a value distinct from those used by other batches (5, 25, 50, 75).

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool delay
Log

            
giftool -x 1 treescap.gif sets disposal mode "do-not-dispose" on every frame Original / giflib / usage-giflib-tools-r16-giftool-disposal-treescap-one Passed

Pipes treescap.gif (non-interlaced) through giftool -x 1 to set disposal mode 1 (do-not-dispose) on every frame, then reads back via giftool -f '%x\n' and asserts every line equals "1", exercising the disposal setter at value 1 complementing existing 0/2/3 cases.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool disposal
Log

            
giftool -f '%v %s' treescap.gif emits version cookie and screen size jointly Original / giflib / usage-giflib-tools-r16-giftool-format-screen-and-version-pair Passed

Runs giftool with a multi-token format string "%v %s\n" against treescap.gif and asserts every emitted line is of the form "GIF8[79]a <W>,<H>" with positive width and height, exercising the simultaneous %v + %s emission contract (giftool renders %s as "W,H").

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -p 12,3 treescap.gif round-trips through giftool -f '%p\n' Original / giflib / usage-giflib-tools-r16-giftool-position-treescap-twelve-three Passed

Pipes treescap.gif (non-interlaced) through giftool -p 12,3 to set per-frame image-left/top, then reads back via giftool -f '%p\n' and asserts every line equals "12,3", exercising the position setter at a non-origin offset distinct from existing 0,0/5,7/6,9 cases.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool position
Log

            
giftool -u 0 fire.gif clears the user-input flag on every frame Original / giflib / usage-giflib-tools-r16-giftool-userinput-fire-zero Passed

Pipes fire.gif through giftool -u 0 to clear the graphics-control-block user-input flag on every frame, then re-reads via giftool -f '%u\n' and confirms every frame reports 0, exercising the user-input clear path complementing the existing -u 1 set test.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool userinput
Log

            
gif2rgb -1 -o on treescap.gif emits a non-empty raster and prints to stderr without GIF header Original / giflib / usage-giflib-tools-r17-gif2rgb-treescap-version-banner Passed

Runs gif2rgb -1 -o on treescap.gif to extract the first frame as a raw RGB raster, asserts the output file is non-empty and does NOT start with the ASCII bytes "GIF" (because the raster is raw pixels, not a GIF stream), exercising the raw-output side of the GIF reader.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb raster
Log

            
gifbuild round-trip through treescap.gif preserves the per-frame count Original / giflib / usage-giflib-tools-r17-gifbuild-treescap-roundtrip-frame-count Passed

Dumps treescap.gif via gifbuild -d, reconstructs via gifbuild, and asserts the rebuilt GIF reports the same per-frame count under giftool -f '%n\n' as the source, exercising the textual-dump-and-rebuild pipeline.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild roundtrip
Log

            
gifclrmp -s on treescap.gif emits a palette dump with at least 16 entry rows Original / giflib / usage-giflib-tools-r17-gifclrmp-treescap-sixteen-palette-bytes Passed

Runs gifclrmp -s on treescap.gif to dump the palette as text and asserts the output contains at least 16 non-empty lines, exercising the palette emission on the known treescap fixture without pinning the exact line count.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette
Log

            
giftext on treescap.gif mentions a Color Map entry Original / giflib / usage-giflib-tools-r17-giftext-treescap-color-map-mention Passed

Runs giftext on treescap.gif and asserts the rendered report contains the literal substring "Color Map", exercising the palette section emission distinct from per-image and screen-size sections.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext palette
Log

            
giftool -d 5 treescap.gif emits uniform delay across all frames Original / giflib / usage-giflib-tools-r17-giftool-delay-five-treescap-uniform Passed

Pipes treescap.gif through giftool -d 5 to set every frame delay-time to 5 centiseconds, then reads back via giftool -f '%d\n' and asserts every line equals "5", exercising the per-frame delay setter at a value distinct from prior batches.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool delay
Log

            
giftool -i 1 on treescap.gif round-trips through giftext interlace marker Original / giflib / usage-giflib-tools-r17-giftool-interlace-on-treescap-roundtrip Passed

Pipes treescap.gif through giftool -i 1 to turn the interlace flag on, then runs giftext on the output and asserts the report mentions "Interlaced" for the image record, exercising the interlace setter on a non-interlaced fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool interlace
Log

            
giftool -p 0,0 on treescap.gif preserves screen size and frame count Original / giflib / usage-giflib-tools-r17-giftool-position-zero-treescap-noop Passed

Pipes treescap.gif through giftool -p 0,0 to set image-block position to the origin, then asserts the screen-size string and per-frame count emitted by giftool -f match the input, exercising the position setter as an effective no-op for already-origin frames.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool position
Log

            
gif2rgb -1 -o on fire.gif emits a raster sized as a multiple of three bytes Original / giflib / usage-giflib-tools-r18-gif2rgb-fire-output-size-multiple-of-three Passed

Runs gif2rgb -1 -o on fire.gif to extract the first frame as a raw RGB raster and asserts the output file size is divisible by 3 because each pixel occupies exactly three RGB bytes, exercising the raster packing invariant on the multi-frame animation fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb raster r18
Log

            
gif2rgb -c 32 -1 -o on treescap.gif produces width*height*3 RGB bytes Original / giflib / usage-giflib-tools-r18-gif2rgb-quantize-32-treescap-stream-bytes Passed

Runs gif2rgb -c 32 -1 -o on treescap.gif to quantize the image to 32 colors as a single concatenated RGB stream and asserts the resulting raw byte count equals 40*40*3 (4800) bytes, exercising the quantize-plus-stream output path with a color count not covered by existing tests on this fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb quantize r18
Log

            
gifbuild -d on fire.gif emits a non-empty textual dump Original / giflib / usage-giflib-tools-r18-gifbuild-fire-dump-non-empty Passed

Runs gifbuild -d on fire.gif to produce the textual dump representation and asserts the dump file is non-empty and contains the GIF version identifier string at the start of the output, exercising the dump-only side of the gifbuild round-trip.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild dump r18
Log

            
gifclrmp -s on treescap.gif emits palette lines with four integer columns each Original / giflib / usage-giflib-tools-r18-gifclrmp-treescap-palette-three-columns Passed

Runs gifclrmp -s on treescap.gif to dump the colormap in text form, asserts the dump file is non-empty and that every line contains exactly four whitespace-separated numeric tokens corresponding to index plus RGB triple, exercising the textual colormap extractor row invariant.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette r18
Log

            
giftext on fire.gif emits at least as many Image lines as giftool reports frames Original / giflib / usage-giflib-tools-r18-giftext-fire-image-record-count Passed

Runs giftext on fire.gif and counts lines containing the literal substring "Image ", then compares against the giftool -f '%n\n' frame count and asserts the giftext image-record count is greater than or equal to the frame count, exercising the per-image section emission on a multi-frame fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext image-record r18
Log

            
giftext on fire.gif emits a Screen Size header line Original / giflib / usage-giflib-tools-r18-giftext-fire-screen-size-line Passed

Runs giftext on fire.gif and asserts the report contains the literal substring "Screen Size" (case-insensitive), exercising the global screen descriptor section emission distinct from the color map section.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext screen-size r18
Log

            
giftool -b 0 on treescap.gif emits a valid GIF with preserved screen size Original / giflib / usage-giflib-tools-r18-giftool-background-zero-treescap-roundtrip Passed

Pipes treescap.gif through giftool -b 0 to set the background color index to 0, then asserts the result is a valid GIF stream whose unique giftool -f '%s\n' screen-size string matches the input, exercising the background-index setter without changing screen geometry.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool background r18
Log

            
giftool -d 10 on fire.gif emits uniform delay across all frames Original / giflib / usage-giflib-tools-r18-giftool-delay-ten-fire-uniform Passed

Pipes fire.gif through giftool -d 10 to set every frame delay-time to 10 centiseconds, then reads back via giftool -f '%d\n' and asserts every line equals "10", exercising the per-frame delay setter on a multi-frame animation fixture distinct from prior single-value tests.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool delay r18
Log

            
giftool -i 0 on fire.gif preserves GIF magic and frame count Original / giflib / usage-giflib-tools-r18-giftool-interlace-off-fire-roundtrip Passed

Pipes fire.gif through giftool -i 0 to turn the interlace flag off and asserts the result is a valid GIF stream whose per-frame count emitted by giftool -f '%n\n' equals the input frame count, exercising the interlace clear operation on a multi-frame fixture.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool interlace r18
Log

            
giftool -p 5,5 on treescap.gif emits a valid GIF and preserves frame count Original / giflib / usage-giflib-tools-r18-giftool-position-five-treescap-roundtrip Passed

Pipes treescap.gif through giftool -p 5,5 to set image-block position to (5,5), then asserts the result is recognised as a GIF stream by file and that giftool -f '%n\n' frame-count matches the input, exercising the position setter at a non-origin coordinate.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool position r18
Log

            
gif2rgb -c 16 -1 -o on treescap.gif still emits a 4800-byte raster (40x40x3) Original / giflib / usage-giflib-tools-r19-gif2rgb-color-reduce-16-treescap-size Passed

Runs gif2rgb -c 16 -1 -o on treescap.gif to request a 16-colour reduction and asserts the output raster file is still exactly 4800 bytes (width 40 * height 40 * 3 bytes per pixel), exercising the -c color-reduction option as a size-preserving operation distinct from previously tested invocations.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb color-reduce r19
Log

            
gif2rgb -1 -o on gifgrid.gif emits a 30000-byte raster equal to width*height*3 Original / giflib / usage-giflib-tools-r19-gif2rgb-gifgrid-raster-size-30000 Passed

Runs gif2rgb -1 -o on the 100x100 gifgrid.gif fixture and asserts the output file size equals exactly 30000 bytes which is width*height*3 for a single-frame extract, exercising the raster sizing invariant on the grid fixture distinct from prior treescap and fire size tests.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb raster r19
Log

            
gifbuild -d on treescap.gif emits a "screen colors 128" line Original / giflib / usage-giflib-tools-r19-gifbuild-treescap-screen-colors-128 Passed

Runs gifbuild -d on treescap.gif and asserts the produced text dump contains the literal line "screen colors 128", exercising the dump representation of the colour-resolution-derived screen colours field for the treescap fixture which advertises 7-bit colour resolution.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild screen-colors r19
Log

            
gifbuild -d on treescap.gif emits a "screen width 40" line in its dump Original / giflib / usage-giflib-tools-r19-gifbuild-treescap-screen-width-40 Passed

Runs gifbuild -d on treescap.gif and asserts the produced dump contains the literal line "screen width 40", exercising the dump representation of the screen-width header field on the 40x40 fixture distinct from prior dump line-count tests.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild dump r19
Log

            
gifclrmp -s on gifgrid.gif emits exactly eight palette rows Original / giflib / usage-giflib-tools-r19-gifclrmp-gifgrid-eight-palette-rows Passed

Runs gifclrmp -s on the gifgrid.gif fixture (which uses an 8-entry global colour map) and asserts the textual palette dump contains exactly 8 newline-terminated rows, exercising the colormap extractor row count on a small-palette fixture distinct from the 16-row treescap and 256-row fire dumps.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette r19
Log

            
giftext on fire.gif emits per-frame "Disposal Mode:" lines Original / giflib / usage-giflib-tools-r19-giftext-fire-disposal-mode-line Passed

Runs giftext on fire.gif and asserts the rendered report contains at least one line starting with the literal "Disposal Mode:", exercising the graphics-control-extension disposal-field emission on the multi-frame animation fixture distinct from screen-size and color-map section tests.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext disposal r19
Log

            
giftext on gifgrid.gif reports a 100x100 screen size line Original / giflib / usage-giflib-tools-r19-giftext-gifgrid-screen-size-100x100 Passed

Runs giftext on gifgrid.gif and asserts the rendered output contains the literal substring "Screen Size - Width = 100, Height = 100", exercising the screen-size header emission on the 100x100 grid fixture distinct from the treescap and fire fixtures.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext screen-size r19
Log

            
giftool -b 5 on treescap.gif updates the BackGround value reported by giftext Original / giflib / usage-giflib-tools-r19-giftool-background-five-treescap-giftext Passed

Pipes treescap.gif through giftool -b 5 to set the screen background colour index to 5, then asserts giftext on the result emits a line containing the literal substring "BackGround = 5", exercising the background index setter as seen through the textual report.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool background r19
Log

            
giftool -x 2 on fire.gif yields gifbuild dump lines with "disposal mode 2" Original / giflib / usage-giflib-tools-r19-giftool-disposal-two-fire-gifbuild-dump Passed

Pipes fire.gif through giftool -x 2 to set the disposal field on each frame to 2 (restore-to-background), then runs gifbuild -d and asserts the dump contains at least one "disposal mode 2" line, exercising the disposal setter through the gifbuild text dump.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool disposal r19
Log

            
giftool -i 1 on treescap.gif flips the giftext interlace label to interlaced Original / giflib / usage-giflib-tools-r19-giftool-interlace-on-treescap-giftext Passed

Pipes treescap.gif through giftool -i 1 to enable the interlace flag (the input is non-interlaced), then runs giftext and asserts the rendered output contains the literal "Image is Interlaced." line, exercising the interlace setter through the textual report distinct from gifbuild dump-based tests.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool interlace r19
Log

            
gif2rgb -1 -o 0 on fire.gif emits exactly 5400 bytes (30x60x3) for frame zero Original / giflib / usage-giflib-tools-r20-gif2rgb-fire-frame-zero-byte-count Passed

Runs gif2rgb -1 -o on the multi-frame fire.gif fixture targeting frame zero by default first-frame mode and asserts the produced raster is exactly 5400 bytes (width 30 * height 60 * 3 bytes per pixel), exercising the explicit single-first-frame raster size on fire distinct from prior treescap and gifgrid size tests.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb frame-zero r20
Log

            
gifbuild dump/rebuild on gifgrid.gif converges to a fixed point after the first rebuild Original / giflib / usage-giflib-tools-r20-gifbuild-gifgrid-three-rebuild-byte-equal Passed

Pipes gifgrid.gif through two successive gifbuild dump-rebuild cycles and asserts the second and third rebuilt GIF files are byte-for-byte identical, exercising convergence of the dump-and-rebuild round-trip after the first canonicalisation pass on the gifgrid fixture distinct from prior double-roundtrip tests on fire/treescap.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild idempotent r20
Log

            
gifbuild -d on treescap.gif emits a "screen height 40" line Original / giflib / usage-giflib-tools-r20-gifbuild-treescap-screen-height-40 Passed

Runs gifbuild -d on the 40x40 treescap.gif fixture and asserts the dump contains the literal line "screen height 40", exercising the screen-height field in the textual dump distinct from the existing r19 "screen width 40" assertion.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild screen-height r20
Log

            
gifclrmp -s on treescap.gif emits palette rows with values within 0-255 Original / giflib / usage-giflib-tools-r20-gifclrmp-treescap-rgb-bounds Passed

Runs gifclrmp -s on the treescap.gif fixture and asserts every emitted palette row contains exactly three space-separated integers each in the byte range [0,255], exercising the palette-byte range invariant on treescap distinct from prior row-count or column-count tests.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette-bounds r20
Log

            
giffix on treescap.gif yields a file whose gifbuild dump has the same image-record count Original / giflib / usage-giflib-tools-r20-giffix-fire-image-count-preserved Passed

Runs giffix on the single-frame treescap.gif fixture and asserts the resulting file's gifbuild dump contains exactly the same number of "image # N" header lines as the original (1), exercising image-record count preservation across a clean-input giffix pass distinct from prior tests focused on screen-size or palette preservation.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix image-count r20
Log

            
giftext on gifgrid.gif emits a "Color Resolution" line Original / giflib / usage-giflib-tools-r20-giftext-gifgrid-color-resolution-line Passed

Runs giftext on the gifgrid.gif fixture and asserts the produced report contains the literal substring "ColorResolution", exercising the textual color-resolution field rendering on the gifgrid fixture distinct from prior fire/treescap color resolution tests.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext color-resolution r20
Log

            
giftool -b 12 on treescap.gif yields giftext "BackGround = 12" Original / giflib / usage-giflib-tools-r20-giftool-set-background-12-treescap Passed

Pipes treescap.gif through giftool -b 12 to set the background colour index and runs giftext on the result, asserting the giftext output contains the literal "BackGround = 12" line, exercising the background-index setter with the value 12 (distinct from prior 0, 5, 7, and 9 cases) read through giftext rather than gifbuild dump.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool background r20
Log

            
giftool -d 30 on fire.gif sets every frame delay to 30 via giftool -f '%d' Original / giflib / usage-giflib-tools-r20-giftool-set-delay-30-fire-uniform Passed

Pipes fire.gif through giftool -d 30 to set the frame-delay field to 30 centiseconds, reads back via giftool -f '%d\n' and asserts every line equals "30", exercising the per-frame uniform delay setter on the multi-frame fire fixture with a distinctive value not previously asserted (existing tests cover 5, 10, 15, 25, 50).

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool delay r20
Log

            
giftool -p 7,11 on treescap.gif sets image left=7 and top=11 in the gifbuild dump Original / giflib / usage-giflib-tools-r20-giftool-set-position-7-11-treescap Passed

Pipes treescap.gif through giftool -p 7,11 to set the image origin and runs gifbuild -d, asserting the dump contains both "image left 7" and "image top 11" lines, exercising the image-origin setter with non-symmetric coordinates distinct from prior 0,0 and 12,3 cases.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool position r20
Log

            
giftool -s 50,50 on treescap.gif followed by gifbuild dump shows "screen width 50" Original / giflib / usage-giflib-tools-r20-giftool-set-screen-size-50x50-format Passed

Pipes treescap.gif through giftool -s 50,50 to set the logical screen size and then runs gifbuild -d on the result, asserting the dump contains both literal lines "screen width 50" and "screen height 50", exercising the screen-size setter through the gifbuild dump distinct from prior 200x100, 20x20, and other screen-size cases.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool screen-size r20
Log

            
gif2rgb -o on fire.gif emits .R, .G, .B planar files of equal positive size Original / giflib / usage-giflib-tools-r21-gif2rgb-fire-planar-rgb-bytes-equal Passed

Runs gif2rgb -o without -1 against fire.gif (multi-frame, 30x60) producing the planar .R/.G/.B sidecar files and asserts each file exists, all three are the same positive size, and the size equals the per-frame pixel count times the number of frames (33 frames * 30 * 60 = 59400 bytes per plane), exercising the planar tri-file output mode size invariant.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb planar r21
Log

            
gifbuild -d on fire.gif dump first non-comment line contains the screen width directive Original / giflib / usage-giflib-tools-r21-gifbuild-fire-dump-version-line Passed

Runs gifbuild -d on fire.gif and asserts the first non-comment non-blank line is exactly "screen width 30", exercising the gifbuild dump structural shape that opens with the screen-descriptor directive on fire distinct from prior screen-size-line tests that only checked presence anywhere in the dump.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild dump-shape r21
Log

            
gifbuild -d on treescap.gif dump contains exactly one "screen width 40" line Original / giflib / usage-giflib-tools-r21-gifbuild-treescap-dump-screen-width-40 Passed

Runs gifbuild -d on treescap.gif and asserts the dump contains exactly one line matching the literal "screen width 40" (treescap is 40x40 single-screen-descriptor), exercising the gifbuild dump screen-width emission uniqueness on the treescap fixture distinct from prior screen-width tests that did not check uniqueness.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild screen-width r21
Log

            
gifclrmp -g 1.0 on fire.gif applied twice converges to a fixed-point GIF Original / giflib / usage-giflib-tools-r21-gifclrmp-fire-identity-gamma-byte-equal Passed

Applies gifclrmp -g 1.0 (identity gamma) to fire.gif once, then applies it a second time to the result, and asserts the second and third outputs are byte-for-byte identical (the identity-gamma transform is idempotent after the first canonicalisation pass), exercising the gamma fixed-point property distinct from the existing 256-palette-row identity-gamma test.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp gamma idempotent r21
Log

            
gifclrmp -s on gifgrid.gif palette dump first row begins with index 0 Original / giflib / usage-giflib-tools-r21-gifclrmp-gifgrid-palette-first-row-zero-prefix Passed

Runs gifclrmp -s on gifgrid.gif and asserts the first non-empty line of the palette dump starts with the literal token "0" (index zero) followed by whitespace and three integer RGB values, exercising the index-prefix shape of the palette dump on gifgrid distinct from prior row-count and palette-bytes tests.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette gifgrid r21
Log

            
giffix on gifgrid.gif produces output of the same byte size as the input Original / giflib / usage-giflib-tools-r21-giffix-gifgrid-output-equals-input-size Passed

Runs giffix on the clean gifgrid.gif fixture and asserts the output file size equals the input file size (giffix downgrades the version magic but does not add/remove payload bytes on a clean input), exercising the giffix output-size invariant on gifgrid distinct from prior frame-count-preserved and trailing-junk-clean tests on other fixtures.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix noop r21
Log

            
giftext on treescap.gif is deterministic across two consecutive invocations Original / giflib / usage-giflib-tools-r21-giftext-determinism-two-runs Passed

Runs giftext on treescap.gif twice and asserts the two stdout captures are byte-for-byte identical (parsing the same GIF must produce the same textual dump on the same machine), exercising the giftext output-determinism invariant distinct from prior single-invocation content tests.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext determinism r21
Log

            
giftext -c on treescap.gif reports Global Color Map "Sort Flag: off" Original / giflib / usage-giflib-tools-r21-giftext-treescap-sort-flag-off Passed

Runs giftext -c on treescap.gif (the -c flag enables colormap dumping with the sort-flag line) and asserts the textual dump contains the literal line "Sort Flag: off", exercising the giftext narrative emission of the color-table sort-flag bit distinct from the existing giftool -f %z numeric format-code test on fire.gif.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext sort-flag r21
Log

            
giftool -b 3 then -b 0 on treescap.gif yields background index 0 in giftool -f %b Original / giflib / usage-giflib-tools-r21-giftool-set-bgcolor-3-then-clear-format-zero Passed

Chains two giftool -b invocations against treescap.gif (first sets background to 3, then resets to 0) and asserts giftool -f %b reports 0 for every frame in the final output, exercising the background-index setter override behavior distinct from prior single-setter-only background tests.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool background chain r21
Log

            
giftool -d 30 applied twice on fire.gif is byte-for-byte identical to applying once Original / giflib / usage-giflib-tools-r21-giftool-set-delay-idempotent-twice Passed

Pipes fire.gif through giftool -d 30 once, then pipes the result through giftool -d 30 a second time, and asserts the two output GIFs are byte-for-byte identical, exercising the idempotence of the per-frame delay setter on a multi-frame fixture distinct from the prior single-application delay-setter tests.

Run
Original
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool delay idempotent r21
Log

            
CVE-2005-2974 giflib regression Original / giflib / cve-2005-2974 Passed

Asserts that gif2rgb rejects a crafted truncated GIF without a NULL-pointer crash, surfacing a documented decode error in bounded time.

Run
Original
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve decoder dos
Log

            
CVE-2019-15133 giflib regression Original / giflib / cve-2019-15133 Passed

Asserts that DGifSlurp rejects a GIF whose image descriptor declares zero height instead of triggering a divide-by-zero exception inside the decoder.

Run
Original
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve decoder divide-by-zero dos
Log

            
gif2rgb RGB conversion Port / giflib / gif2rgb-conversion Passed

Converts a sample GIF to raw RGB bytes and compares the fixture length.

Run
Port
Kind
source
Client
none
Duration
0.00s
Tags
cli media
Log

            
gifbuild textual round trip Port / giflib / gifbuild-roundtrip Passed

Dumps a GIF to textual form and rebuilds an equivalent GIF stream.

Run
Port
Kind
source
Client
none
Duration
0.00s
Tags
cli roundtrip
Log

            
giftext metadata inspection Port / giflib / giftext-metadata Passed

Inspects GIF metadata from an upstream sample with the giftext tool.

Run
Port
Kind
source
Client
none
Duration
0.00s
Tags
cli metadata
Log

            
Interlaced GIF fixture handling Port / giflib / interlaced-fixture-handling Passed

Converts an interlaced GIF fixture and compares the expected RGB output.

Run
Port
Kind
source
Client
none
Duration
0.00s
Tags
cli media
Log

            
Malformed GIF rejection Port / giflib / malformed-gif-rejection Passed

Confirms truncated GIF input is rejected by an installed giflib tool.

Run
Port
Kind
source
Client
none
Duration
0.00s
Tags
cli negative
Log

            
giftext fire image marker Port / giflib / usage-giflib-tools-batch11-fire-image-marker Passed

Runs giftext on the fire fixture and checks image markers are emitted.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
gif2rgb fire equal planar channels Port / giflib / usage-giflib-tools-batch11-fire-planar-equal-channels Passed

Converts the fire fixture to planar RGB and checks equal channel sizes.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
gifbuild fire RGB parity Port / giflib / usage-giflib-tools-batch11-gifbuild-fire-rgb-compare Passed

Rebuilds the fire fixture from gifbuild text and compares the RGB output.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
gifclrmp treescap rows Port / giflib / usage-giflib-tools-batch11-gifclrmp-treescap-row-count Passed

Lists the treescap color map and checks multiple color rows are emitted.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
giffix grid RGB output Port / giflib / usage-giflib-tools-batch11-giffix-grid-rgb-output Passed

Repairs the grid fixture with giffix and checks RGB conversion still produces data.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
gifbuild grid dump size Port / giflib / usage-giflib-tools-batch11-grid-build-dump-size Passed

Dumps the grid fixture with gifbuild and checks textual screen data is produced.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
gif2rgb grid RGB byte count Port / giflib / usage-giflib-tools-batch11-grid-rgb-byte-count Passed

Converts the grid fixture to packed RGB and checks the byte count is channel-aligned.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
giftext grid screen size Port / giflib / usage-giflib-tools-batch11-grid-screen-size Passed

Runs giftext on the grid fixture and checks screen size metadata is present.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
giftext interlaced image marker Port / giflib / usage-giflib-tools-batch11-interlaced-image-marker Passed

Runs giftext on the interlaced fixture and checks image markers are emitted.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
gif2rgb treescap RGB output Port / giflib / usage-giflib-tools-batch11-treescap-rgb-nonempty Passed

Converts the treescap fixture to packed RGB and checks bytes are produced.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif cli
Log

            
gif2rgb output size matches treescap pixel count Port / giflib / usage-giflib-tools-batch12-gif2rgb-treescap-rgb-size-equals-wxhx3 Passed

Runs gif2rgb -1 on the treescap GIF and verifies the raw RGB byte count equals width*height*3 reported by giftext.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb
Log

            
gif2rgb treescap RGB output divides evenly by row*3 Port / giflib / usage-giflib-tools-batch12-gif2rgb-treescap-row-stride Passed

Runs gif2rgb -1 on the treescap GIF and confirms the RGB byte count is an exact multiple of the screen width times 3 (row-stride invariant).

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb
Log

            
gifbuild -d emits screen width and height for fire Port / giflib / usage-giflib-tools-batch12-gifbuild-fire-version-line Passed

Runs gifbuild -d on the fire fixture and verifies the textual dump contains "screen width" and "screen height" header lines.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild
Log

            
gifbuild treescap dump-then-build is byte-stable on second pass Port / giflib / usage-giflib-tools-batch12-gifbuild-treescap-roundtrip-byte-equal Passed

Dumps treescap GIF with gifbuild -d, builds it back, dumps and rebuilds again, and confirms two consecutive rebuilt GIFs are byte identical.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild roundtrip
Log

            
gifclrmp -s on fire dumps 256-entry palette Port / giflib / usage-giflib-tools-batch12-gifclrmp-fire-dump-palette-count Passed

Runs gifclrmp -s on the fire fixture and verifies the dumped palette has exactly 256 entries (one per color slot).

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp
Log

            
giffix produces a recognizable GIF from a clean source Port / giflib / usage-giflib-tools-batch12-giffix-fire-passthrough Passed

Runs giffix on a non-interlaced fixture and verifies the output is a non-empty file that the file(1) magic database recognizes as GIF image data.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix
Log

            
giftext reports treescap screen size Port / giflib / usage-giflib-tools-batch12-giftext-treescap-screen-size Passed

Runs giftext on the treescap GIF and confirms the screen size header line is present in the output.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext
Log

            
giftool -x 3 sets disposal mode to restore-previous Port / giflib / usage-giflib-tools-batch12-giftool-disposal-mode-three Passed

Applies giftool -x 3 (restore-previous disposal mode) to fire.gif and verifies gifbuild dump shows "disposal mode 3" on every graphics control extension.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -p 0,0 sets origin position Port / giflib / usage-giflib-tools-batch12-giftool-set-position-zero-zero Passed

Runs giftool with -p 0,0 on the fire GIF and verifies the resulting GIF still parses with file(1) and gifbuild dump shows the position.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -s 200,100 sets logical screen size Port / giflib / usage-giflib-tools-batch12-giftool-set-screen-200x100 Passed

Applies giftool -s 200,100 to fire.gif and verifies gifbuild dump reports "screen width 200" and "screen height 100".

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
gif2rgb 2x2 four-pixel RGB roundtrip Port / giflib / usage-giflib-tools-gif2rgb-2x2-rgb-roundtrip Passed

Synthesizes a deterministic 12-byte RGB stream representing four distinct pixels, encodes it into a 2x2 GIF with gif2rgb -s 2 2, decodes the GIF back to RGB with gif2rgb -1, and verifies the decoded stream is exactly 12 bytes and that giftext reports a 2x2 logical screen for the encoded GIF.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb roundtrip
Log

            
giflib-tools gif2rgb convert Port / giflib / usage-giflib-tools-gif2rgb-convert Passed

Runs giflib-tools gif2rgb convert on a GIF fixture and checks image metadata.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
gif2rgb 1x1 RGB roundtrip Port / giflib / usage-giflib-tools-gif2rgb-encode-1x1 Passed

Synthesizes a 3-byte RGB triplet, encodes it into a 1x1 GIF with gif2rgb -s, decodes the GIF back to RGB, and verifies the decoded stream is exactly three bytes wide and tall and that giftext reports a 1x1 logical screen.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb roundtrip
Log

            
gif2rgb fire output is an exact integer number of frame bytes Port / giflib / usage-giflib-tools-gif2rgb-fire-bytes-frame-multiple Passed

Decodes the multi-frame fire.gif with gif2rgb -1 into a single RGB stream and verifies the byte count is exactly width*height*3 multiplied by an integer between 1 and the frame count reported by gifbuild, ensuring gif2rgb is emitting whole frames worth of pixel data with no slack.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb animation
Log

            
gif2rgb fire RGB compare Port / giflib / usage-giflib-tools-gif2rgb-fire-compare Passed

Exercises gif2rgb fire rgb compare through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
giflib-tools gif2rgb fire fixture Port / giflib / usage-giflib-tools-gif2rgb-fire-fixture Passed

Converts the fire GIF fixture with gif2rgb and verifies the exact RGB byte stream.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
gif2rgb fire interleaved frame window size Port / giflib / usage-giflib-tools-gif2rgb-fire-frame-n-window Passed

Decodes the multi-frame fire.gif with gif2rgb -1 into a single composited RGB stream and verifies the byte size matches exactly width*height*3 for one composed frame, with at least one non-zero pixel byte present, exercising the gif2rgb interleaved decode path.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb animation
Log

            
gif2rgb fire output spans at least one full frame Port / giflib / usage-giflib-tools-gif2rgb-fire-frames-byte-floor Passed

Decodes the largest fixture fire.gif with gif2rgb -1, reads its width and height from giftext, and asserts the produced RGB byte stream contains at least one full frame worth of pixels (width*height*3 bytes) and is an exact multiple of the per-row stride.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb geometry
Log

            
gif2rgb planar decode of fire animation produces distinct R and B channels Port / giflib / usage-giflib-tools-gif2rgb-fire-middle-frame Passed

Decodes fire.gif using gif2rgb -o (planar RGB output) and confirms the resulting per-channel R, G, and B files each have width*height bytes, contain at least one non-zero byte, and that the R channel differs from the B channel for the rendered fire palette.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb animation
Log

            
gif2rgb fire planar sizes Port / giflib / usage-giflib-tools-gif2rgb-fire-planar-size Passed

Converts the fire fixture to planar RGB output with gif2rgb and verifies all three channel files have equal non-zero size.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gif2rgb
Log

            
gif2rgb fire planar output Port / giflib / usage-giflib-tools-gif2rgb-fire-planar Passed

Converts fire.gif to planar RGB files and verifies each channel file exists.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif conversion
Log

            
gif2rgb fire RGB bytes Port / giflib / usage-giflib-tools-gif2rgb-fire-rgb-bytes Passed

Converts the fire.gif fixture to an RGB byte stream with gif2rgb and verifies that non-empty RGB output is produced.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gif2rgb
Log

            
gif2rgb fire RGB output is a multiple of width*3 Port / giflib / usage-giflib-tools-gif2rgb-fire-row-stride Passed

Decodes the multi-frame fire.gif into a packed RGB stream with gif2rgb -1, reads the logical screen width from giftext, and asserts the produced RGB byte count is an exact multiple of width*3 so every emitted scanline is fully populated.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb geometry
Log

            
gif2rgb fire RGB size Port / giflib / usage-giflib-tools-gif2rgb-fire-size Passed

Converts fire.gif to a single RGB file and checks the byte count is nonzero.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif conversion
Log

            
gif2rgb grid planar equal channels Port / giflib / usage-giflib-tools-gif2rgb-grid-planar-equal-channels Passed

Decodes gifgrid.gif with gif2rgb planar output and verifies that the R, G, and B planes have equal nonzero byte sizes.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gif2rgb
Log

            
gif2rgb grid planar size Port / giflib / usage-giflib-tools-gif2rgb-grid-planar-size Passed

Converts gifgrid.gif to planar RGB files with gif2rgb and verifies the three color planes have matching nonzero sizes.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif image
Log

            
gif2rgb grid planar output Port / giflib / usage-giflib-tools-gif2rgb-grid-planar Passed

Converts gifgrid.gif to planar RGB files and verifies each channel file exists.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif conversion
Log

            
gif2rgb grid RGB output Port / giflib / usage-giflib-tools-gif2rgb-grid-rgb Passed

Converts gifgrid.gif to a single RGB file and checks the byte count is nonzero.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif conversion
Log

            
gif2rgb -1 stream output for gifgrid matches width times height times three Port / giflib / usage-giflib-tools-gif2rgb-grid-stream-mode-size Passed

Decodes gifgrid.gif with gif2rgb -1 into a single concatenated RGB byte stream, parses the screen width and height from giftext, and asserts the resulting file is exactly width*height*3 bytes long, validating the single-frame stream-mode pixel budget.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb stream
Log

            
gif2rgb interlaced planar output Port / giflib / usage-giflib-tools-gif2rgb-interlaced-planar Passed

Exercises gif2rgb interlaced planar output through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
gif2rgb interlaced RGB bytes Port / giflib / usage-giflib-tools-gif2rgb-interlaced-rgb-bytes Passed

Converts the interlaced treescap fixture to an RGB byte stream with gif2rgb and verifies that non-empty RGB output is produced.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gif2rgb
Log

            
gif2rgb interlaced conversion Port / giflib / usage-giflib-tools-gif2rgb-interlaced Passed

Converts an interlaced GIF fixture to RGB bytes and compares the expected output.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif conversion
Log

            
giflib-tools gif2rgb planar output Port / giflib / usage-giflib-tools-gif2rgb-planar Passed

Converts a GIF fixture into separate RGB planes with gif2rgb and verifies all channel files are produced.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
gif2rgb -c 16 -o writes three equal-size R/G/B planes for fire.gif Port / giflib / usage-giflib-tools-gif2rgb-quantize-planar-equal-bytes Passed

Runs gif2rgb -c 16 -o <prefix> on fire.gif (without -1) and verifies the tool emits exactly three planar files (.R, .G, .B) each with byte count equal to width*height (1800 for 30x60), exercising the color-quantization path that is otherwise untested in usage coverage.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb quantize planar
Log

            
gif2rgb -c 4 -1 -o produces a single concatenated RGB stream of W*H*3 bytes Port / giflib / usage-giflib-tools-gif2rgb-quantize-stream-byte-count Passed

Runs gif2rgb -c 4 -1 -o <file> on fire.gif and verifies that exactly one output file is produced (no .R/.G/.B planar split) whose byte count equals width*height*3 = 5400, anchoring the quantize+stream combination of flags.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb quantize stream
Log

            
gif2rgb -s converts RGB stream back to GIF Port / giflib / usage-giflib-tools-gif2rgb-rgb-to-gif-roundtrip Passed

Decodes a fixture to raw RGB triplets, then uses gif2rgb -s to encode that stream back into a GIF whose dimensions and decoded byte count match the original.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb
Log

            
gif2rgb treescap RGB byte count equals width*height*3 Port / giflib / usage-giflib-tools-gif2rgb-treescap-pixel-count Passed

Decodes treescap.gif into a packed RGB byte stream with gif2rgb -1, parses width and height from giftext, and asserts the produced RGB output is exactly width*height*3 bytes long.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb geometry
Log

            
gif2rgb planar channel sizes equal width*height for treescap Port / giflib / usage-giflib-tools-gif2rgb-treescap-planar-channel-bytes Passed

Decodes treescap.gif into separate R/G/B planar files with gif2rgb -o, queries the screen size with giftext, and verifies each of the three channel files is exactly width*height bytes long, matching the structural invariant that planar output emits one byte per pixel per channel.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb planar
Log

            
gif2rgb treescap planar output Port / giflib / usage-giflib-tools-gif2rgb-treescap-planar Passed

Converts the treescap fixture to planar RGB output with gif2rgb and verifies the three channel files exist.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gif2rgb
Log

            
gif2rgb treescap interlaced rgb compare Port / giflib / usage-giflib-tools-gif2rgb-treescap-rgb-compare Passed

Decodes treescap-interlaced.gif with gif2rgb -1 and verifies the RGB output bytes match the recorded fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gif2rgb
Log

            
gif2rgb treescap RGB size Port / giflib / usage-giflib-tools-gif2rgb-treescap-rgb-size Passed

Converts treescap.gif to packed RGB output with gif2rgb and verifies the emitted byte stream is nonempty.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif image
Log

            
gifbuild dump build dump is byte-stable Port / giflib / usage-giflib-tools-gifbuild-double-roundtrip-stable Passed

Dumps a GIF with gifbuild -d, rebuilds the binary GIF, dumps it again, and verifies that the second textual dump is byte-identical to the first to confirm the gifbuild text format is a stable fixed point.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild roundtrip
Log

            
giflib-tools gifbuild dump Port / giflib / usage-giflib-tools-gifbuild-dump Passed

Runs giflib-tools gifbuild dump on a GIF fixture and checks image metadata.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
gifbuild fire dump build dump is byte-stable Port / giflib / usage-giflib-tools-gifbuild-fire-double-roundtrip Passed

Dumps the animated fire.gif with gifbuild -d, rebuilds the binary GIF, dumps it again, strips the source-filename comments, and verifies the two structural dumps are byte-identical and contain the expected screen width header.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild roundtrip animation
Log

            
gifbuild fire dump lines Port / giflib / usage-giflib-tools-gifbuild-fire-dump-lines Passed

Dumps fire.gif with gifbuild and verifies the textual description contains content.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif roundtrip
Log

            
gifbuild fire extension records Port / giflib / usage-giflib-tools-gifbuild-fire-extension-lines Passed

Dumps the animated fire.gif with gifbuild -d and verifies the textual description contains the multiple per-frame image-block headers emitted for an animated GIF.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild animation
Log

            
gifbuild dump emits exactly one graphics control per fire frame Port / giflib / usage-giflib-tools-gifbuild-fire-gcb-frame-equal Passed

Dumps the animated fire.gif with gifbuild -d and asserts the count of "graphics control" extension blocks is exactly equal to the count of "image # N" headers, cross-verifying the frame count against giftool -f, so we are confirming a strict 1:1 pairing rather than just the presence of GCBs.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild animation
Log

            
gifbuild dump pairs a graphics control with each animated frame Port / giflib / usage-giflib-tools-gifbuild-fire-gcb-precedes-image Passed

Dumps the animated fire.gif with gifbuild -d, scans the textual record stream, and asserts that every "image # N" header has a "graphics control" block emitted ahead of it, confirming gifbuild reports the per-frame timing extension on a real animation rather than just the global header.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild animation
Log

            
gifbuild dump frame count matches giftext Port / giflib / usage-giflib-tools-gifbuild-fire-image-frame-count Passed

Counts the per-frame image headers gifbuild -d emits for fire.gif and asserts the count agrees with the number of Image # records giftext reports for the same animated input.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild animation
Log

            
gifbuild fire roundtrip colormap Port / giflib / usage-giflib-tools-gifbuild-fire-roundtrip-colormap Passed

Dumps and rebuilds the fire fixture with gifbuild and verifies the rebuilt GIF still exposes a color map through gifclrmp.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifbuild
Log

            
gifbuild fire roundtrip screen size Port / giflib / usage-giflib-tools-gifbuild-fire-roundtrip-screen-size Passed

Roundtrips fire.gif through gifbuild dump and rebuild, then verifies that the rebuilt giftext output reports Screen Size.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifbuild
Log

            
gifbuild fire round trip Port / giflib / usage-giflib-tools-gifbuild-fire-roundtrip Passed

Dumps and rebuilds fire.gif with gifbuild and validates the rebuilt GIF metadata.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif roundtrip
Log

            
gifbuild grid dump Port / giflib / usage-giflib-tools-gifbuild-grid-dump Passed

Dumps gifgrid.gif with gifbuild and checks for image records in the text form.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
gifbuild rebuilt gifgrid.gif still terminates with 0x3b Port / giflib / usage-giflib-tools-gifbuild-grid-rebuilt-trailer-byte Passed

Dumps gifgrid.gif via gifbuild -d, rebuilds it through gifbuild, and asserts the rebuilt stream is a recognized GIF whose final byte is the mandatory 0x3b trailer marker, complementing the existing trailer check on treescap.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild trailer
Log

            
gifbuild grid round trip color map Port / giflib / usage-giflib-tools-gifbuild-grid-roundtrip-colormap Passed

Exercises gifbuild grid round trip color map through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
gifbuild grid roundtrip screen Port / giflib / usage-giflib-tools-gifbuild-grid-roundtrip-screen Passed

Dumps gifgrid.gif to gifbuild text, rebuilds it, and verifies screen metadata from the rebuilt GIF.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifbuild
Log

            
gifbuild grid round trip Port / giflib / usage-giflib-tools-gifbuild-grid-roundtrip Passed

Dumps and rebuilds gifgrid.gif with gifbuild and verifies the rebuilt GIF metadata remains readable.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif roundtrip
Log

            
gifbuild interlace flag dump Port / giflib / usage-giflib-tools-gifbuild-interlace-flag Passed

Dumps plain and interlaced treescap fixtures with gifbuild and verifies only the interlaced dump reports the interlace flag.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifbuild
Log

            
gifbuild interlaced dump Port / giflib / usage-giflib-tools-gifbuild-interlaced-dump Passed

Exercises gifbuild interlaced dump through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
gifbuild interlaced round trip Port / giflib / usage-giflib-tools-gifbuild-interlaced-roundtrip Passed

Dumps and rebuilds the interlaced treescap fixture with gifbuild and verifies the rebuilt GIF metadata.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif roundtrip
Log

            
giflib-tools gifbuild roundtrip Port / giflib / usage-giflib-tools-gifbuild-roundtrip Passed

Dumps a GIF fixture to gifbuild text and rebuilds it to verify the client can round trip image structure.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
gifbuild dump records fire screen dimensions Port / giflib / usage-giflib-tools-gifbuild-screen-size-line Passed

Dumps fire.gif with gifbuild -d and verifies the screen width and height keywords in the textual description match the known 30x60 logical screen of the fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild
Log

            
gifbuild rebuild ends with GIF trailer byte Port / giflib / usage-giflib-tools-gifbuild-trailer-byte Passed

Rebuilds a GIF from a gifbuild text dump and verifies that the final byte of the encoded output is 0x3B, the mandatory GIF stream trailer.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild
Log

            
gifbuild treescap dump Port / giflib / usage-giflib-tools-gifbuild-treescap-dump Passed

Dumps treescap.gif with gifbuild and checks for image records in the text form.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
gifbuild dump on treescap-interlaced has matching image and screen records Port / giflib / usage-giflib-tools-gifbuild-treescap-interlaced-dump-counts Passed

Dumps the treescap-interlaced.gif fixture with gifbuild -d and asserts the dump contains exactly one screen-width record, exactly one image header line, an image with a non-zero bits-per-pixel record, and concludes with the trailer keyword, exercising gifbuild's structural rendering of a single-frame interlaced fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild interlace
Log

            
gifbuild treescap roundtrip color map Port / giflib / usage-giflib-tools-gifbuild-treescap-roundtrip-colormap Passed

Roundtrips treescap.gif through gifbuild dump and rebuild, then verifies that gifclrmp on the rebuilt gif emits a palette row.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifbuild
Log

            
gifbuild dump line count is identical before and after a roundtrip Port / giflib / usage-giflib-tools-gifbuild-treescap-roundtrip-line-parity Passed

Dumps treescap.gif with gifbuild -d, rebuilds the GIF from that dump by piping it back through gifbuild, dumps the rebuilt GIF a second time, and asserts the two textual descriptions have identical line counts and identical numbers of "image # N" headers and "terminator" markers, confirming that the dump-build-dump cycle is line-parity stable.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild roundtrip
Log

            
gifbuild treescap roundtrip screen Port / giflib / usage-giflib-tools-gifbuild-treescap-roundtrip-screen Passed

Dumps treescap.gif to gifbuild text, rebuilds it, and verifies screen metadata from the rebuilt GIF.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifbuild
Log

            
gifbuild treescap round trip Port / giflib / usage-giflib-tools-gifbuild-treescap-roundtrip Passed

Dumps and rebuilds treescap.gif with gifbuild and validates the rebuilt GIF metadata.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif roundtrip
Log

            
gifbuild dump terminates with the trailer record Port / giflib / usage-giflib-tools-gifbuild-treescap-trailer-line Passed

Dumps treescap.gif with gifbuild -d and asserts the textual dump terminates with the GIF stream trailer record gifbuild emits at end-of-file, ensuring the dump is structurally complete and not truncated mid-record.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild structure
Log

            
gifclrmp dump and -l reload roundtrip Port / giflib / usage-giflib-tools-gifclrmp-dump-reload-roundtrip Passed

Dumps the global color map with gifclrmp, reloads it via gifclrmp -l, and confirms the dumped map is identical after the round trip.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp colormap
Log

            
gifclrmp gamma transform preserves fire.gif frame count Port / giflib / usage-giflib-tools-gifclrmp-fire-frame-count-preserved Passed

Applies a gamma colormap transform via gifclrmp -g 1.5 to the multi-frame fire.gif fixture, then counts the image records emitted by gifbuild -d on the transformed stream and asserts the count matches the source animation, ensuring the colormap rewrite leaves the frame structure intact.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp animation
Log

            
gifclrmp -s dumps the global colormap of fire.gif Port / giflib / usage-giflib-tools-gifclrmp-fire-image-select Passed

Runs gifclrmp -s on the multi-frame fire.gif to dump its global colormap as text and verifies the dump contains at least two palette rows whose first row parses as "<index> <r> <g> <b>" with r,g,b in [0,255], confirming gifclrmp produces a well-formed palette dump for a multi-frame GIF.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette
Log

            
gifclrmp fire palette row Port / giflib / usage-giflib-tools-gifclrmp-fire-palette-row Passed

Prints the fire.gif color map with gifclrmp and verifies that at least one palette row is emitted.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifclrmp
Log

            
gifclrmp fire palette Port / giflib / usage-giflib-tools-gifclrmp-fire Passed

Prints the fire.gif color map with gifclrmp and checks indexed RGB rows.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif palette
Log

            
gifclrmp -g applies a gamma transform to the palette Port / giflib / usage-giflib-tools-gifclrmp-grid-gamma-palette Passed

Dumps the gifgrid.gif palette with gifclrmp -s as a baseline, applies a non-trivial gamma value with gifclrmp -g 2.2 to produce a transformed GIF, dumps that GIF's palette, and verifies the row count is preserved while at least one channel value in the palette has changed, demonstrating gifclrmp performed a real per-channel transformation rather than a no-op copy.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette
Log

            
gifclrmp -l swaps the gifgrid palette with one dumped from fire Port / giflib / usage-giflib-tools-gifclrmp-grid-load-fire-palette Passed

Dumps the fire.gif color map with gifclrmp -s, applies that palette to gifgrid.gif via gifclrmp -l, and confirms the resulting GIF reports a colormap whose first content row matches the fire palette row, exercising a cross-fixture palette transplant.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp colormap
Log

            
gifclrmp grid palette row Port / giflib / usage-giflib-tools-gifclrmp-grid-palette-row Passed

Prints the gifgrid.gif color map with gifclrmp and verifies that at least one palette row is emitted.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifclrmp
Log

            
gifclrmp -l reloads a modified palette Port / giflib / usage-giflib-tools-gifclrmp-grid-reload-modified Passed

Dumps the gifgrid.gif color map with gifclrmp -s, edits one palette row to a known RGB triple, reloads that palette with gifclrmp -l, and confirms the reloaded GIF round-trips through gifclrmp -s yielding the modified row verbatim.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp colormap
Log

            
gifclrmp grid palette Port / giflib / usage-giflib-tools-gifclrmp-grid Passed

Prints the gifgrid.gif color map with gifclrmp and checks indexed RGB rows.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif palette
Log

            
gifclrmp -i 5 -g rewrites only image #5 while -g alone rewrites the whole map Port / giflib / usage-giflib-tools-gifclrmp-image-index-vs-global Passed

Applies the same gamma value via gifclrmp twice on fire.gif -- once globally with -g 0.5 and once scoped to a single frame with -i 5 -g 0.5 -- and verifies the two outputs differ from each other and from the original, that both remain parseable GIFs with the original frame count and screen size, anchoring the per-image scoping behavior of -i.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp gamma image-index
Log

            
gifclrmp interlaced fixture Port / giflib / usage-giflib-tools-gifclrmp-interlaced Passed

Prints the color map for the interlaced treescap fixture with gifclrmp and verifies a palette row is emitted.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif gifclrmp
Log

            
giflib-tools gifclrmp map Port / giflib / usage-giflib-tools-gifclrmp-map Passed

Runs giflib-tools gifclrmp map on a GIF fixture and checks image metadata.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
gifclrmp -s on treescap-interlaced emits a power-of-two palette Port / giflib / usage-giflib-tools-gifclrmp-treescap-interlaced-palette-shape Passed

Dumps the global color map of the treescap-interlaced.gif fixture with gifclrmp -s, asserts the row count is one of the GIF-permitted palette sizes (2, 4, 8, 16, 32, 64, 128 or 256), and verifies every dump line matches the expected "index R G B" four-token shape with each channel a 0-255 byte.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp colormap interlace
Log

            
gifclrmp treescap colormap Port / giflib / usage-giflib-tools-gifclrmp-treescap Passed

Lists treescap.gif color map entries with gifclrmp and verifies numeric color rows are emitted.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giflib-tools giffix copy Port / giflib / usage-giflib-tools-giffix-copy Passed

Runs giflib-tools giffix copy on a GIF fixture and checks image metadata.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
giffix recovers from a flipped byte after the GIF trailer Port / giflib / usage-giflib-tools-giffix-corrupt-extension-byte Passed

Copies treescap.gif, flips a single byte appended after the trailer to simulate corruption beyond the legitimate stream, and confirms giffix produces output that giftext can still parse, demonstrating that a stray post-trailer byte does not derail the recovery path.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix repair
Log

            
giffix strips trailing junk bytes after a GIF trailer Port / giflib / usage-giflib-tools-giffix-corrupt-gcb-byte Passed

Appends 96 zero bytes after the canonical 0x3B trailer of a copy of treescap.gif to simulate trailing garbage, runs giffix on the dirty stream, and verifies the recovered output is recognized as GIF data, ends with the canonical 0x3B trailer byte, and parses through giftext.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix repair
Log

            
giffix on already-clean treescap.gif preserves giftext metadata Port / giflib / usage-giflib-tools-giffix-fire-clean-idempotent Passed

Pipes the already-well-formed treescap.gif fixture through giffix and asserts the giftext header decoding (screen size, GIF version) of the giffix output matches the source, demonstrating giffix is a no-op-equivalent on healthy non-interlaced inputs.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix idempotent
Log

            
giffix giftext output Port / giflib / usage-giflib-tools-giffix-fire-giftext Passed

Exercises giffix giftext output through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
giffix fire screen size Port / giflib / usage-giflib-tools-giffix-fire-screen-size Passed

Repairs fire.gif with giffix and verifies that giftext on the fixed gif still reports Screen Size.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giffix
Log

            
giffix grid color map Port / giflib / usage-giflib-tools-giffix-grid-colormap Passed

Runs giffix on gifgrid.gif and verifies the repaired stream still exposes palette data.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif repair
Log

            
giffix grid screen header Port / giflib / usage-giflib-tools-giffix-grid-screen Passed

Runs giffix on the grid fixture and verifies the repaired GIF still exposes screen metadata through giftext.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giffix
Log

            
giffix grid copy Port / giflib / usage-giflib-tools-giffix-grid Passed

Runs giffix on a non-interlaced GIF fixture and verifies the repaired stream is readable.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif repair
Log

            
giffix color map Port / giflib / usage-giflib-tools-giffix-interlaced-colormap Passed

Exercises giffix color map through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
giffix interlaced fixture Port / giflib / usage-giflib-tools-giffix-interlaced Passed

Repairs the interlaced treescap fixture with giffix and verifies the fixed GIF remains readable by giftext.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif repair
Log

            
giffix trims 256-byte trailing tail Port / giflib / usage-giflib-tools-giffix-large-trailing-junk Passed

Appends 256 deterministic junk bytes after the GIF trailer of fire.gif, runs giffix on the dirty stream, and confirms the repaired output is no larger than the original byte count and still parses through giftext.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix repair
Log

            
giffix tolerates trailing garbage Port / giflib / usage-giflib-tools-giffix-trailing-junk Passed

Appends 16 bytes of garbage after the GIF trailer and confirms giffix produces output that giftext still parses, demonstrating the recovery path is not derailed by stray trailing bytes.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix repair
Log

            
giffix treescap colormap Port / giflib / usage-giflib-tools-giffix-treescap-colormap Passed

Runs giffix on the treescap fixture and verifies the fixed GIF still exposes a color map through gifclrmp.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giffix
Log

            
giffix treescap screen size Port / giflib / usage-giflib-tools-giffix-treescap-screen-size Passed

Repairs the treescap.gif fixture with giffix and verifies that giftext can still read screen metadata from the result.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giffix
Log

            
giffix treescap copy Port / giflib / usage-giflib-tools-giffix-treescap Passed

Runs giffix on treescap.gif and verifies the repaired stream is readable.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif repair
Log

            
giffix tolerates trailing junk after GIF trailer Port / giflib / usage-giflib-tools-giffix-truncated-trailer Passed

Appends junk bytes after the GIF trailer of a fixture, runs giffix to clean the stream, and confirms giftext can still parse the screen descriptor on the repaired output.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix repair
Log

            
giffix -v on a clean non-interlaced fixture matches the bare giffix output Port / giflib / usage-giflib-tools-giffix-verbose-flag-noninterlaced Passed

Runs giffix with and without -v on the non-interlaced gifgrid.gif fixture, captures stdout, stderr and exit code for each, and verifies both invocations succeed (exit 0), produce byte-identical stdout, and write nothing to stderr -- confirming the -v flag is silent on a fixture that needs no repair narration.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix verbose
Log

            
giffix removes zero-bytes appended after the GIF trailer Port / giflib / usage-giflib-tools-giffix-zeroed-trailer Passed

Copies treescap.gif, appends 64 zero bytes after the canonical 0x3B trailer so the stream has trailing garbage past the terminator, runs giffix on the dirty file, and verifies the repaired output is recognized as GIF data, ends with the canonical 0x3B trailer, and parses through giftext.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix repair
Log

            
giftext reports only the final -b after a giftool background chain Port / giflib / usage-giflib-tools-giftext-bg-chain-final-index Passed

Pipes treescap.gif through giftool -b 5, then giftool -b 9, and verifies giftext on the final stream reports BackGround = 9 with no remaining BackGround = 5 record, demonstrating that successive -b transforms overwrite the screen background field rather than accumulating.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool giftext pipeline
Log

            
giflib-tools giftext color map Port / giflib / usage-giflib-tools-giftext-colormap Passed

Uses giftext to dump the GIF color map from a fixture and verifies color table output is present.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
giftext -e dumps GIF89 graphics control blocks with Disposal Mode lines Port / giflib / usage-giflib-tools-giftext-extension-disposal-modes Passed

Runs giftext -e on fire.gif (an animated multi-frame GIF89 fixture) and asserts the extension-block listing contains GIF89 graphics control records carrying Disposal Mode and DelayTime lines, with the Disposal Mode count matching the frame count reported by giftext on the same fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext extensions
Log

            
giftext fire background field Port / giflib / usage-giflib-tools-giftext-fire-background Passed

Exercises giftext fire background field through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
giftext fire bits per pixel Port / giflib / usage-giflib-tools-giftext-fire-bits-per-pixel Passed

Reads fire.gif with giftext and verifies that the BitsPerPixel header field is emitted.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext fire color count Port / giflib / usage-giflib-tools-giftext-fire-color-count Passed

Dumps fire.gif colormap text with giftext and verifies numeric color table rows are present.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext fire color resolution Port / giflib / usage-giflib-tools-giftext-fire-color-resolution Passed

Exercises giftext fire color resolution through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
giftext fire color map row Port / giflib / usage-giflib-tools-giftext-fire-colormap-row Passed

Prints the fire.gif color map with giftext -c and verifies that at least one numeric palette row is emitted.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext fire color map Port / giflib / usage-giflib-tools-giftext-fire-colormap Passed

Reads fire.gif with giftext color map output and checks palette metadata.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext fire GIF header Port / giflib / usage-giflib-tools-giftext-fire-header Passed

Reads fire.gif with giftext and checks screen metadata.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext fire image count Port / giflib / usage-giflib-tools-giftext-fire-image-count Passed

Dumps fire.gif with giftext and verifies image records are reported in the textual metadata output.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext fire emits per-frame Image headers Port / giflib / usage-giflib-tools-giftext-fire-multi-frame-headers Passed

Runs giftext on the animated fire.gif fixture and asserts more than one Image #N header is emitted with strictly increasing sequence numbers starting at 1.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext animation
Log

            
giftext fire screen size Port / giflib / usage-giflib-tools-giftext-fire-screen-size Passed

Reads the fire.gif fixture with giftext and verifies that screen-size metadata is emitted.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext grid background Port / giflib / usage-giflib-tools-giftext-grid-background Passed

Reads the gifgrid fixture with giftext and verifies the background field is reported.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext grid bits per pixel Port / giflib / usage-giflib-tools-giftext-grid-bits-per-pixel Passed

Reads the gifgrid fixture with giftext and verifies that the bits-per-pixel metadata line is emitted.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext grid Global Color Map Port / giflib / usage-giflib-tools-giftext-grid-color-map Passed

Prints the gifgrid.gif color map with giftext -c and verifies that the Global Color Map heading is emitted.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext grid color resolution Port / giflib / usage-giflib-tools-giftext-grid-color-resolution Passed

Dumps gifgrid.gif with giftext and verifies the color resolution field is present.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext grid color map Port / giflib / usage-giflib-tools-giftext-grid-colormap Passed

Reads gifgrid.gif with giftext color map output and checks palette metadata.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext grid screen header Port / giflib / usage-giflib-tools-giftext-grid-screen Passed

Reads gifgrid.gif with giftext and checks screen metadata.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext emits exactly one Image #N header for gifgrid.gif Port / giflib / usage-giflib-tools-giftext-grid-single-image-record Passed

Runs giftext on the single-frame gifgrid.gif and asserts there is exactly one Image #N record (with N starting at 1) on stdout, anchoring the headerless single-image case alongside the existing fire.gif multi-frame coverage.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext
Log

            
giflib-tools giftext headers Port / giflib / usage-giflib-tools-giftext-headers Passed

Runs giflib-tools giftext headers on a GIF fixture and checks image metadata.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
giftext interlaced bits per pixel Port / giflib / usage-giflib-tools-giftext-interlaced-bits-per-pixel Passed

Reads treescap-interlaced.gif with giftext and verifies that the BitsPerPixel header field is emitted.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext interlaced color map Port / giflib / usage-giflib-tools-giftext-interlaced-colormap Passed

Exercises giftext interlaced color map through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
giflib-tools giftext interlaced fixture Port / giflib / usage-giflib-tools-giftext-interlaced-fixture Passed

Inspects an interlaced GIF fixture with giftext and verifies image metadata output.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli image
Log

            
giftext interlaced header Port / giflib / usage-giflib-tools-giftext-interlaced-header Passed

Reads an interlaced GIF fixture with giftext and checks screen metadata.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext interlaced screen size Port / giflib / usage-giflib-tools-giftext-interlaced-screen-size Passed

Reads the interlaced treescap fixture with giftext and verifies that screen-size metadata is emitted.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext -z dumps decompressed LZW code rows for every image Port / giflib / usage-giflib-tools-giftext-lz-codes-block Passed

Runs giftext -z on fire.gif and verifies the output contains a substantial number of decompressed-code offset rows (matching ^[0-9a-f]+: with three-digit code tokens) and ends with the standard "GIF file terminated normally." sentinel, exercising the -z decompressed-code dump mode that is otherwise uncovered.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext lz
Log

            
giftext -p ends with the GIF terminated normally trailer line Port / giflib / usage-giflib-tools-giftext-pixel-mode-trailer Passed

Runs giftext -p on fire.gif to dump pixel-level information and verifies the output's final non-empty line is the literal "GIF file terminated normally." sentinel that giftext writes only when the input parsed cleanly to EOF, anchoring the pixel-dump completion behavior.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext pixels
Log

            
giftext describes a synthesized 1x1 GIF correctly Port / giflib / usage-giflib-tools-giftext-synth-1x1-color-count Passed

Synthesizes a single-pixel RGB triple, encodes it into a 1x1 GIF with gif2rgb -s, and asserts giftext reports the minimal screen size and the presence of an image record, exercising the giftext metadata path on the smallest possible GIF.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext minimal
Log

            
giftext treescap background Port / giflib / usage-giflib-tools-giftext-treescap-background Passed

Reads the treescap fixture with giftext and verifies the background field is reported.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext treescap bits per pixel Port / giflib / usage-giflib-tools-giftext-treescap-bits-per-pixel Passed

Reads treescap.gif with giftext and verifies that the BitsPerPixel header field is emitted.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext treescap color resolution Port / giflib / usage-giflib-tools-giftext-treescap-color-resolution Passed

Reads the treescap fixture with giftext and verifies the color resolution metadata is reported.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif giftext
Log

            
giftext treescap color map Port / giflib / usage-giflib-tools-giftext-treescap-colormap Passed

Exercises giftext treescap color map through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage
Log

            
giftext treescap image records Port / giflib / usage-giflib-tools-giftext-treescap-images Passed

Reads treescap.gif with giftext and checks image descriptor output.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage gif metadata
Log

            
giftext -v verbose mode is accepted and produces parseable output Port / giflib / usage-giflib-tools-giftext-verbose-mode Passed

Runs giftext with the -v verbose flag on gifgrid.gif and confirms the tool exits zero, emits the standard descriptive blocks (Screen Size, BackGround, and Image # records) on stdout, and that the verbose run produces a line count at least as large as the non-verbose run, demonstrating verbose mode is recognized and additive rather than rejected.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext verbose
Log

            
giftool -b 0 lands as screen background 0 Port / giflib / usage-giflib-tools-giftool-background-zero-dump Passed

Forces the screen background index to 0 with giftool -b on treescap.gif and confirms gifbuild -d reports screen background 0 in its textual dump.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool gifbuild
Log

            
giftool -b 7 -d 30 -x 2 chains background, delay and disposal in one invocation Port / giflib / usage-giflib-tools-giftool-bg-delay-disposal-chain Passed

Pipes fire.gif through a single giftool invocation that simultaneously sets the screen background index (-b 7), the per-frame delay (-d 30), and the per-frame disposal mode (-x 2), then asserts giftext shows BackGround = 7, every DelayTime line equals 30, and every Disposal Mode line equals 2 with both per-frame counts matching the frame count.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool chain
Log

            
giftool -b applied twice with the same value is idempotent Port / giflib / usage-giflib-tools-giftool-bg-roundtrip-idempotent Passed

Pipes treescap.gif through giftool -b 3 and then through a second giftool -b 3 invocation and verifies the two outputs are byte-identical and giftext reports BackGround = 3, demonstrating idempotence of the background-index transform under repeated application.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool idempotent
Log

            
giftool combines -b and -i in one pass Port / giflib / usage-giflib-tools-giftool-combined-bg-interlace Passed

Invokes giftool with both -b for the screen background index and -i to set the interlace flag on the same input and verifies giftext records both transformations on the resulting GIF.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool combines -d and -p in one invocation Port / giflib / usage-giflib-tools-giftool-delay-position-combo Passed

Invokes giftool with -d 50 and -p 2,3 in a single command on gifgrid.gif and verifies gifbuild dumps the requested delay 50 and an image with left 2 and top 3, confirming both transforms were applied in one pass without one clobbering the other.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool combo
Log

            
giftool -x 2 sets disposal mode 2 on every fire.gif frame Port / giflib / usage-giflib-tools-giftool-disposal-mode-set Passed

Pipes fire.gif through giftool -x 2 to set the per-frame disposal mode to 2 (restore-to-background), captures giftext -e on the result, and verifies that every Disposal Mode line in the output reads "Disposal Mode: 2" with the count matching the frame count, exercising the previously uncovered -x flag.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool disposal
Log

            
giftool -i marks images interlaced Port / giflib / usage-giflib-tools-giftool-enable-interlace Passed

Sets the interlace flag on a non-interlaced fixture via giftool -i and confirms giftext reports the image as interlaced.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool interlace
Log

            
giftool -b and -d combined on animated fire fixture Port / giflib / usage-giflib-tools-giftool-fire-bg-delay-chain Passed

Pipes the multi-frame fire.gif through giftool with both a -b background index and a -d delay value in a single invocation, then asserts the gifbuild dump shows the new delay and giftext records the new background index, exercising two independent giftool transforms on an animated input.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool animation
Log

            
giftool chains -b then -p across the fire animation Port / giflib / usage-giflib-tools-giftool-fire-bg-position-chain Passed

Pipes the multi-frame fire.gif through giftool -b 7 to set the screen background index, then through a second giftool -p 0,0 invocation, and verifies giftext reports BackGround = 7 while gifbuild dumps every animated frame with image left 0 and image top 0, demonstrating that a -b transform survives a follow-up -p pass on an animated stream.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline animation
Log

            
giftool -b followed by giftool -s preserves animation frame count Port / giflib / usage-giflib-tools-giftool-fire-bg-then-screen-roundtrip Passed

Sets the background index of fire.gif with giftool -b 5, then resizes the logical screen to 256,128 with a second giftool -s invocation, and verifies giftext reports BackGround = 5 with Width = 256, Height = 128 while gifbuild -d enumerates the same animation frame count as the source.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool animation
Log

            
giftool -i 0 clears the interlace flag on every fire.gif frame Port / giflib / usage-giflib-tools-giftool-fire-clear-interlace-flag Passed

Confirms the multi-frame fire.gif fixture has its Image is Interlaced flag set on every frame, runs giftool -i 0 on it, and asserts every interlace marker is gone from the result while the screen size and frame count are preserved -- complementing the existing single-frame treescap-interlaced clear-flag coverage with a multi-frame case.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool interlace
Log

            
giftool -s on fire.gif rewrites screen size while preserving frame count Port / giflib / usage-giflib-tools-giftool-fire-screen-resize-frames-preserved Passed

Resizes the logical screen of the multi-frame fire.gif to 320x240 with giftool -s, verifies giftext reports the new screen size and that the frame count emitted by gifbuild -d matches the original animation frame count, ensuring -s rewrites only the screen descriptor.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool animation screen
Log

            
giftool -s pipeline followed by giftool -f reports the rewritten screen Port / giflib / usage-giflib-tools-giftool-fire-screen-then-format-shows-new-size Passed

Resizes fire.gif logical screen to 200,100 with giftool -s, pipes the result into a second giftool -f '%s' invocation, and asserts every emitted line reports the new screen-size token 200,100, confirming -f reads the just-written screen descriptor across a pipe boundary.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline format
Log

            
giftool -f lists every frame after a giftool -d transform Port / giflib / usage-giflib-tools-giftool-format-frame-list-pipeline Passed

Pipes fire.gif through giftool -d 75, then asks a second giftool -f invocation to emit one line per frame with index and dimensions, and confirms the post-transform stream still enumerates every animated frame and that gifbuild reports the new delay on those frames.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline animation
Log

            
giftool -f emits exactly one frame line for the single-image gifgrid fixture Port / giflib / usage-giflib-tools-giftool-format-grid-frame-count Passed

Runs giftool -f '%n %wx%h\n' against gifgrid.gif and asserts the listing has exactly one row whose frame index is 1 and whose width-by-height matches the screen size giftext extracts, anchoring the %n directive on a non-animated fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f counts animation frames Port / giflib / usage-giflib-tools-giftool-format-image-count Passed

Uses giftool -f to emit one line per image in the multi-frame fire fixture and verifies the expected frame count.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool animation
Log

            
giftool -f formatter prints screen size Port / giflib / usage-giflib-tools-giftool-format-screen-size Passed

Exercises the giftool -f format directive to print version and screen size cookies for a single-image fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -f reports GIF87a version and screen size Port / giflib / usage-giflib-tools-giftool-format-version-token Passed

Asks giftool -f to print the version cookie and screen-size pair for a GIF87a fixture and confirms the emitted tokens match the expected values, exercising the %v and %s format directives together.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -b N updates background index on gifgrid Port / giflib / usage-giflib-tools-giftool-grid-bg-single-param Passed

Reads the original BackGround index reported by giftext for gifgrid.gif, picks a sentinel index distinct from that value, runs giftool -b sentinel as the only transform, and confirms giftext on the result reports BackGround = sentinel and that the rewritten file is still recognized as GIF data.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool single-param
Log

            
giftool -f emits per-frame dimensions for gifgrid Port / giflib / usage-giflib-tools-giftool-grid-format-dimensions Passed

Asks giftool -f to print %w %h for every frame in gifgrid.gif, cross-checks the line count against the gifbuild image header count, and verifies each line parses as two positive integers whose product matches the screen-size product reported by giftext.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool chains interlace then delay Port / giflib / usage-giflib-tools-giftool-interlace-delay-chain Passed

Pipes treescap.gif through giftool -i 1 and then a second giftool -d 100 invocation, then verifies gifbuild reports both interlace and the delay 100 in the resulting GIF.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
giftool no-op preserves GIF screen dimensions Port / giflib / usage-giflib-tools-giftool-noop-copy Passed

Pipes a fixture through giftool with no transforms and confirms the copy is a valid GIF whose screen size matches the source as reported by giftext.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -p position survives a follow-up giftool -f format extraction Port / giflib / usage-giflib-tools-giftool-position-format-combo Passed

Pipes treescap.gif through giftool -p 6,9 to set the image origin, then through a second giftool -f invocation that emits a custom format line per frame, and confirms the format pass enumerates the expected number of frames while gifbuild dumps the new image left 6 and image top 9 coordinates on the positioned stream.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
giftool -p 0,0 anchors the image to the origin Port / giflib / usage-giflib-tools-giftool-position-origin-reset Passed

First moves an image origin to a non-zero position with giftool -p 5,7, pipes that result through giftool -p 0,0 to reset, and verifies the final gifbuild dump shows image left 0 and image top 0 with no remnant of the intermediate offset.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
giftool -p then -b chained over two passes preserves both transforms Port / giflib / usage-giflib-tools-giftool-position-then-bg-chain Passed

Pipes treescap.gif through giftool -p 4,5 and then through giftool -b 2 in a second invocation, then verifies gifbuild -d shows image left 4 and image top 5 on the resulting frame and giftext reports BackGround = 2, exercising independent composition of the position and background transforms.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool chain
Log

            
giftool exits non-zero with a GIF-LIB read error on empty stdin Port / giflib / usage-giflib-tools-giftool-rejects-empty-stdin Passed

Invokes giftool -d 0 with /dev/null as stdin, captures its exit code and stderr, and asserts the tool exits with a non-zero status while emitting the canonical "GIF-LIB error: Failed to read from given file." diagnostic, anchoring giftool's empty-input failure mode.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool error
Log

            
giftool -b updates background color index Port / giflib / usage-giflib-tools-giftool-set-background Passed

Rewrites the logical screen background color index with giftool -b and verifies the new index appears in giftext output.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -d sets graphics control delay Port / giflib / usage-giflib-tools-giftool-set-delay Passed

Applies a giftool -d delay value and confirms gifbuild dumps the requested delay in the graphics control extension.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -p sets image origin Port / giflib / usage-giflib-tools-giftool-set-position Passed

Moves the image descriptor origin with giftool -p and confirms gifbuild dumps the requested left and top coordinates.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -s applied twice with the same dimensions is byte-stable Port / giflib / usage-giflib-tools-giftool-set-screen-idempotent-resize Passed

Pipes treescap.gif through giftool -s 80,60 and feeds the result back through giftool -s 80,60 a second time, then asserts both outputs are byte-identical and giftext reports Width = 80, Height = 60 on the doubly-resized stream, demonstrating idempotence of the screen-descriptor rewrite.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool idempotent
Log

            
giftool -s rewrites logical screen size Port / giflib / usage-giflib-tools-giftool-set-screen-size Passed

Resizes the logical screen descriptor with giftool -s and verifies giftext reports the new width and height.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -d sets per-frame delay Port / giflib / usage-giflib-tools-giftool-set-transparency Passed

Applies a giftool -d delay value to a GIF fixture and verifies the resulting graphics control extension reports the requested delay in the gifbuild text dump.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool
Log

            
giftool -i 0 clears interlace on an already-interlaced fixture Port / giflib / usage-giflib-tools-giftool-treescap-interlaced-clear-flag Passed

Confirms the treescap-interlaced.gif fixture is in fact interlaced via giftext, runs giftool -i 0 to clear the per-image interlace flag, and verifies the resulting GIF parses without the Image is Interlaced marker while preserving its screen size, exercising the inverse of giftool -i 1.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool interlace
Log

            
gif2rgb -c 16 -1 -o produces width*height*3 RGB bytes for fire.gif Port / giflib / usage-giflib-tools-r10-gif2rgb-quantize-16-rgb-size-fire Passed

Runs gif2rgb -c 16 -1 -o to quantize fire.gif into a 16-color RGB stream and verifies the resulting raw RGB byte count equals width*height*3 reported by giftext, exercising the color-quantization output path while preserving raw-image dimensions.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb quantize
Log

            
gifclrmp -g 1.0 then -s on fire.gif yields a 256-entry palette dump Port / giflib / usage-giflib-tools-r10-gifclrmp-identity-gamma-256-palette Passed

Applies gifclrmp -g 1.0 (identity gamma) to fire.gif, then dumps the palette of the resulting GIF with gifclrmp -s and confirms the dump has exactly 256 entries each carrying three RGB integers, exercising the gamma-mutation path with an identity transform.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp gamma
Log

            
chained giftool -p calls let the last position override the first Port / giflib / usage-giflib-tools-r10-giftool-double-position-last-wins Passed

Pipes fire.gif through giftool -p 5,5 then giftool -p 11,13 and confirms the final %p format readout reports 11,13 on every frame, exercising chained-pipeline override semantics for the position field.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
giftool -f %a reports default zero pixel-aspect byte for fire.gif Port / giflib / usage-giflib-tools-r10-giftool-format-aspect-default-zero Passed

Runs giftool -f '%a\n' against fire.gif and confirms the pixel aspect byte cookie evaluates to 0 on every frame, exercising the %a format directive against the unset aspect-ratio header field.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %x emits per-frame disposal mode for fire.gif Port / giflib / usage-giflib-tools-r10-giftool-format-disposal-x-token Passed

Asks giftool -f '%x\n' to print the GIF89 disposal mode for every frame of fire.gif and confirms the values are uniformly 1 (do-not-dispose), the encoded mode in the fixture's graphics control extensions.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %z prints zero color-table sort flag for fire.gif Port / giflib / usage-giflib-tools-r10-giftool-format-sort-flag-default-zero Passed

Runs giftool -f '%z\n' against the fire.gif fixture and confirms the per-image color-table sort flag is uniformly 0, exercising the %z format directive against an unsorted-palette source.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %u prints zero user-input flag for unmodified fire.gif Port / giflib / usage-giflib-tools-r10-giftool-format-user-input-default-zero Passed

Runs giftool -f '%u\n' on the fire.gif fixture without any prior modification and confirms the per-frame user-input flag is uniformly 0, exercising the %u format directive's default-state output.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -d 50 sets every fire.gif frame to a 50-cs delay Port / giflib / usage-giflib-tools-r10-giftool-set-delay-50-uniform Passed

Pipes fire.gif through giftool -d 50 and confirms a follow-up giftool -f '%d\n' pass reports a uniform delay of 50 centiseconds across every frame, exercising the delay-mutation path against the multi-frame fire fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
giftool -u 1 sets the GCB user-input flag on every frame Port / giflib / usage-giflib-tools-r10-giftool-set-userinput-flag-on Passed

Pipes fire.gif through giftool -u 1 to enable the graphics control extension user-input flag, then re-reads the flag through giftool -f '%u\n' and confirms every frame now reports 1, exercising the user-input mutation path.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
giftool -d 0 zeroes the GCB delay on every frame of fire.gif Port / giflib / usage-giflib-tools-r10-giftool-zero-delay-clears-all-frames Passed

Pipes fire.gif through giftool -d 0 to clear the per-frame delay, then re-reads the delay through a second giftool -f '%d\n' pass and confirms every frame reports delay=0 instead of the original 5-centisecond value.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
gif2rgb without -1 emits separate R/G/B files for treescap Port / giflib / usage-giflib-tools-r11-gif2rgb-three-channel-files-treescap Passed

Runs gif2rgb -o on the treescap fixture (40x40) and verifies it writes three sibling channel files <out>.R, <out>.G, <out>.B, each exactly 1600 bytes (one byte per pixel per channel).

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb channels
Log

            
gifbuild -h prints version banner and usage line Port / giflib / usage-giflib-tools-r11-gifbuild-help-banner-version Passed

Invokes gifbuild -h, which exits zero on noble, and verifies the printed banner names the binary, includes a "Version" string, and contains the documented "Usage: gifbuild" line.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild help
Log

            
gifclrmp -s on treescap dumps a sixteen-entry palette Port / giflib / usage-giflib-tools-r11-gifclrmp-treescap-sixteen-entries Passed

Runs gifclrmp -s on the treescap fixture (BitsPerPixel=4) and verifies the dumped palette has exactly 16 lines, each three space-separated decimal channel values within 0..255.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette
Log

            
giftext -c lists exactly sixteen global colormap entries for treescap Port / giflib / usage-giflib-tools-r11-giftext-c-colormap-treescap-sixteen Passed

Runs giftext -c on the treescap fixture and counts colormap rows of the form "<idx>: <r>h <g>h <b>h" in the global color map block, asserting exactly 16 entries (matches BitsPerPixel=4).

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext colormap
Log

            
giftext -e fire reports application, comment, and graphics control extensions Port / giflib / usage-giflib-tools-r11-giftext-extension-blocks-fire Passed

Runs giftext -e on the fire fixture and verifies the report enumerates the GIF89 application (Ext Code 255), comment (254), and graphics control (249) extension blocks the file is known to carry.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext extensions
Log

            
giftext -p emits hex-offset prefixed pixmap rows for treescap Port / giflib / usage-giflib-tools-r11-giftext-pixmap-treescap-offset-prefix Passed

Runs giftext -p on the treescap fixture and verifies the pixmap section contains at least 40 lines whose left margin is a five-hex-digit offset followed by a colon, matching the per-row stride formatting.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext pixmap
Log

            
giftool -f %h reports image height 60 for every fire frame Port / giflib / usage-giflib-tools-r11-giftool-format-height-fire-sixty Passed

Runs giftool -f '%h\n' on the multi-frame fire fixture and asserts every emitted line equals "60", confirming the per-frame image height matches the screen height across all animation frames.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %w reports image width 30 for every fire frame Port / giflib / usage-giflib-tools-r11-giftool-format-width-fire-thirty Passed

Runs giftool -f '%w\n' on the multi-frame fire fixture and asserts every emitted line equals "30", confirming the per-frame image width matches the screen width across all animation frames.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -b 7 rewrites the screen background index on treescap Port / giflib / usage-giflib-tools-r11-giftool-set-background-seven-treescap Passed

Pipes treescap through giftool -b 7 and verifies the resulting GIF reports "screen background 7" in gifbuild -d output, exercising the background-index header rewriter.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool background
Log

            
giftool -x 0 clears disposal mode on every fire frame Port / giflib / usage-giflib-tools-r11-giftool-set-disposal-zero-fire Passed

Pipes the multi-frame fire fixture through giftool -x 0 and uses gifbuild -d to confirm every frame's "disposal mode" line collapses to mode 0, distinct from the file's source disposal mode 1.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool disposal
Log

            
gif2rgb -1 stream output is divisible by 3 for treescap.gif Port / giflib / usage-giflib-tools-r12-gif2rgb-treescap-stream-byte-multiple Passed

Decodes treescap.gif via gif2rgb -1 into a single concatenated RGB byte stream and confirms the byte count is a positive multiple of 3 (one byte per channel triplet).

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb stream
Log

            
gifclrmp -s on fire.gif yields RGB triples within 0..255 Port / giflib / usage-giflib-tools-r12-gifclrmp-fire-palette-rgb-bounds Passed

Dumps the fire.gif palette via gifclrmp -s and asserts every row contains at least three numeric values, each in the 0..255 byte-range, exercising the palette dump formatter.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette
Log

            
giftext on treescap.gif reports the same image count as giftool Port / giflib / usage-giflib-tools-r12-giftext-treescap-image-count Passed

Counts "Image" header sections in giftext output for treescap.gif and asserts the count equals the per-frame line count from giftool -f '%n\n', cross-checking the two readers agree on frame count.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext cross-check
Log

            
giftool -f %n emits a strictly increasing image index per frame Port / giflib / usage-giflib-tools-r12-giftool-format-image-index-monotonic Passed

Runs giftool -f '%n\n' on fire.gif and confirms the resulting image-index column is monotonically increasing by exactly 1 each line, exercising the per-frame iteration counter.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %s emits the logical screen size as an x,y pair Port / giflib / usage-giflib-tools-r12-giftool-format-screen-size-pair Passed

Runs giftool -f '%s\n' on fire.gif and asserts every line matches the WxH pair (digit,digit) format and that all lines report the same screen size.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %v reports a GIF87a or GIF89a version per frame for fire.gif Port / giflib / usage-giflib-tools-r12-giftool-format-version-string Passed

Asks giftool -f '%v\n' to print the GIF version string for every frame of fire.gif and confirms the output is a non-empty list of GIF8[79]a values, exercising the version-format cookie path.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %wx%h yields per-frame dimensions bounded by the screen size Port / giflib / usage-giflib-tools-r12-giftool-format-width-height-match-screen Passed

Runs giftool -f '%w %h\n' on fire.gif and asserts each per-frame width and height is positive and not greater than the screen-descriptor width/height parsed via giftool -f '%s\n'.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
gifbuild -d on fire.gif reports interlaced frames Port / giflib / usage-giflib-tools-r12-giftool-interlace-flag-on-then-format Passed

Runs gifbuild -d on fire.gif (which is interlaced) and asserts the textual dump mentions the "interlaced" keyword on at least one frame, exercising the giflib gifbuild text-dump path. (giftool's per-frame interlace mutation flag is unreliable on giflib 5.2.2 — bare "-i N" prints "unknown operation mode"; the gifbuild reader-side dump is the stable surface for exercising the interlace bit.)

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild interlace
Log

            
giftool -d 50 sets per-frame delay readable via %d Port / giflib / usage-giflib-tools-r12-giftool-set-aspect-byte-roundtrip Passed

Runs giftool -d 50 on fire.gif to set every frame's graphic-control delay to 50 (0.5 s), then re-reads the value through giftool -f '%d\n' and confirms every emitted line reports 50, exercising the per-frame delay mutation round-trip. (The -a aspect flag prints "unknown operation mode" on giflib 5.2.2; -d is the documented per-frame mutation surface.)

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
giftool -b 7 sets the screen background color index Port / giflib / usage-giflib-tools-r12-giftool-set-bgcolor-index-roundtrip Passed

Applies giftool -b 7 to fire.gif to set the logical-screen background color index, then re-reads the field via giftool -f '%b\n' and confirms every frame reports 7.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
gif2rgb -1 fire.gif emits 3 * w * h bytes for the first frame Port / giflib / usage-giflib-tools-r13-gif2rgb-fire-stream-rgb-channel-bytes Passed

Decodes fire.gif via gif2rgb -1 into a stream RGB file and asserts the byte count equals 3 * first_frame_width * first_frame_height, exercising the RGB-per-pixel stream emission. (gif2rgb -1 emits a single frame's pixels regardless of frame count on giflib 5.2.2.)

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb stream
Log

            
gifbuild -d on treescap emits one image directive per frame Port / giflib / usage-giflib-tools-r13-gifbuild-treescap-image-line-count-matches-frames Passed

Runs gifbuild -d on treescap.gif and counts top-level "image" directives in the dump, asserting the count equals the per-frame count reported by giftool -f '%n\n', confirming the dump and tool agree on frame count.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild dump
Log

            
gifclrmp -l with the original palette preserves treescap frame count Port / giflib / usage-giflib-tools-r13-gifclrmp-treescap-frame-count-preserved Passed

Dumps treescap.gif's palette with gifclrmp -s, reloads the same palette via gifclrmp -l, and verifies the per-frame count reported by giftool -f '%n\n' is unchanged from the input fixture, exercising the colormap-translation pipeline at frame-count granularity.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette
Log

            
giffix on treescap.gif preserves the logical screen size Port / giflib / usage-giflib-tools-r13-giffix-fire-screen-size-preserved Passed

Runs giffix over treescap.gif (non-interlaced; giffix refuses interlaced inputs with "Cannot fix interlaced images.") and confirms the output is still recognised as a GIF and reports the same screen size via giftool -f '%s\n' as the input, exercising giffix's clean-pass-through path.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix screen
Log

            
giftext per-image dimension line count matches giftool frame count Port / giflib / usage-giflib-tools-r13-giftext-fire-image-pixel-mode-line Passed

Runs giftext on the fire fixture and asserts the number of per-image "Width = ..., Height = ..." dimension lines equals both the count of "Image #N:" headers and the per-frame line count from giftool -f '%n\n', confirming the giftext per-image emitter is consistent.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext headers
Log

            
giftext on fire.gif emits a Screen Size line with positive dimensions Port / giflib / usage-giflib-tools-r13-giftext-fire-version-line Passed

Runs plain giftext on fire.gif and asserts the screen-descriptor section names a "Screen Size" line whose width and height parse as positive integers, exercising the giftext header-section formatter.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext screen
Log

            
giftool -f %d emits a non-negative integer delay for treescap frames Port / giflib / usage-giflib-tools-r13-giftool-format-delay-default-treescap Passed

Runs giftool -f '%d\n' on treescap.gif and asserts every line is a non-negative integer parseable as a hundredth-of-a-second delay value.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %u reports zero user-input flag for every treescap frame Port / giflib / usage-giflib-tools-r13-giftool-format-userinput-default-zero-treescap Passed

Runs giftool -f '%u\n' on treescap.gif and asserts every line is the digit 0, confirming the default user-input flag is unset on the fixture's frames, exercising the format cookie %u path.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -d 25 forces every fire frame to a 25 cs delay Port / giflib / usage-giflib-tools-r13-giftool-set-delay-25-fire Passed

Pipes fire.gif through giftool -d 25 then reads back per-frame delays via giftool -f '%d\n' and asserts every line equals 25, exercising the global delay setter.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool delay
Log

            
giftool -p 5,7 sets every frame's position and giftool -f reads it back Port / giflib / usage-giflib-tools-r13-giftool-set-position-fire-roundtrip Passed

Pipes fire.gif through giftool -p 5,7 to set each frame's image-left/top to 5,7, then reads back via giftool -f '%p\n' and confirms every line reports the assigned 5,7 pair.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool pipeline
Log

            
gif2rgb -1 fire stream byte count is integer multiple of frame_bytes within [1, frames] Port / giflib / usage-giflib-tools-r14-gif2rgb-fire-frames-times-pixels-times-three Passed

Decodes fire.gif via gif2rgb -1 and asserts the RGB stream byte count divides cleanly by frame_bytes (Wxhx3) using the screen dimensions reported by giftext, and the resulting multiple is in the closed interval [1, frames] where frames is reported by giftool -f '%n\n', exercising the full-frame emission contract on a multi-frame fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb math
Log

            
gifbuild dump-then-build preserves treescap.gif image count Port / giflib / usage-giflib-tools-r14-gifbuild-treescap-image-count-roundtrip Passed

Dumps treescap.gif via gifbuild -d, rebuilds it via gifbuild, and verifies giftool -f '%n\n' reports the same per-frame count for the rebuilt GIF as for the original, exercising the parse-then-rebuild path at frame-count granularity.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild roundtrip
Log

            
gifclrmp dump-then-reload preserves treescap palette row count and frame count Port / giflib / usage-giflib-tools-r14-gifclrmp-output-flag-treescap-roundtrip Passed

Dumps treescap.gif's palette via gifclrmp -s, reloads the same palette via gifclrmp -l, and asserts the post-mapping GIF dump has the same number of palette rows AND that the frame count reported by giftool -f '%n\n' is unchanged from the input fixture, exercising the colormap-translation pipeline.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette
Log

            
giffix on treescap with appended junk emits a GIF whose body matches the original prefix Port / giflib / usage-giflib-tools-r14-giffix-treescap-trailing-junk-clean Passed

Builds a corrupt fixture by appending stray bytes to a copy of treescap.gif (a non-interlaced fixture giffix supports), runs giffix, and verifies the output is recognised as a GIF whose first <orig_size> bytes equal the original fixture, demonstrating giffix recovered the original payload.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix recovery
Log

            
giftext -c on fire.gif lists a Global Color Map with >=8 indexed RGB rows Port / giflib / usage-giflib-tools-r14-giftext-fire-global-color-map-rows Passed

Runs giftext -c on fire.gif and asserts the output contains a "Global Color Map" header followed by at least 8 numeric rows. giflib 5.2.x emits each row as "<idx>:\t<r>, <g>, <b>"; older builds use bare space-separated columns. Accept either layout via a permissive index-prefixed regex.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext colormap
Log

            
giftext -e on fire.gif emits a GIF89 graphics control marker per frame Port / giflib / usage-giflib-tools-r14-giftext-fire-graphic-control-extension-line Passed

Runs giftext -e on the fire animation fixture and asserts the count of "GIF89 graphics control" extension markers equals the per-frame count reported by giftool -f '%n\n', confirming the GCB extension is enumerated once per image record.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext extension
Log

            
giftool -f '%w %h' reports treescap dimensions on every frame Port / giflib / usage-giflib-tools-r14-giftool-format-info-pair-treescap Passed

Runs giftool -f '%w %h\n' against treescap.gif and asserts every per-frame line is "40 40" (treescap is a static 40x40 frame), exercising the per-frame width and height format directives in tandem.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f compound cookie line emits per-frame width, height, position for fire.gif Port / giflib / usage-giflib-tools-r14-giftool-format-transparent-default-fire Passed

Runs giftool -f '%w %h %p\n' against fire.gif and asserts each line matches the "W H X,Y" compound shape with positive integers for W/H and a comma-separated coordinate pair for the position cookie, exercising compound directive parsing.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -b sets background color index readable via -f %b Port / giflib / usage-giflib-tools-r14-giftool-set-aspect-fire-roundtrip Passed

Pipes fire.gif through giftool -b 5 to overwrite the logical screen descriptor's background color index, then reads it back via giftool -f '%b\n' and asserts every emitted line reports 5, exercising a screen-descriptor mutation round-trip. (giftool's -a aspect flag prints "unknown operation mode" on giflib 5.2.2; the -b background index path is the documented mutation surface.)

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool aspect
Log

            
giftool fed its own output preserves fire.gif image and screen geometry Port / giflib / usage-giflib-tools-r14-giftool-set-loopcount-fire-roundtrip Passed

Pipes fire.gif through giftool with no flags (a no-op copy) and verifies the output is a structurally valid GIF whose per-frame count, screen size, and per-frame width/height (as reported by giftool -f) all match the input fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool identity
Log

            
gif2rgb -1 treescap.gif row stride equals width*3 across all rows Port / giflib / usage-giflib-tools-r15-gif2rgb-treescap-row-stride-equals-width-times-three Passed

Decodes treescap.gif via gif2rgb -1, derives screen width from giftext, and asserts the total RGB byte count is exactly width*height*3*N for some integer N>=1, confirming each row contributes exactly width*3 bytes (no padding) on a non-animated fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb stride
Log

            
gifbuild dump-then-build preserves fire.gif logical screen size Port / giflib / usage-giflib-tools-r15-gifbuild-fire-roundtrip-screen-size Passed

Dumps fire.gif via gifbuild -d, rebuilds it via gifbuild, and asserts the rebuilt GIF reports the same logical screen size (giftool -f '%s\n', deduplicated) as the original, exercising the parse-then-rebuild path at screen-geometry granularity.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild roundtrip
Log

            
gifclrmp -s on fire.gif emits exactly 256 palette rows Port / giflib / usage-giflib-tools-r15-gifclrmp-fire-palette-256-rows Passed

Dumps fire.gif's global palette via gifclrmp -s and asserts the output has exactly 256 rows (the GIF87a/89a maximum global colormap size for an 8-bit-per-pixel encoded animation), exercising the palette-extraction path on a multi-frame fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette
Log

            
giffix on a clean treescap.gif preserves frame count exactly Port / giflib / usage-giflib-tools-r15-giffix-treescap-noop-frame-count-preserved Passed

Runs giffix against a pristine treescap.gif (a non-interlaced fixture giffix supports) without any prior corruption and asserts giftool reports the same frame count for the giffix output as for the input, exercising giffix's pass-through behaviour on already-valid input.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix passthrough
Log

            
giftext treescap.gif emits one Image record header per frame Port / giflib / usage-giflib-tools-r15-giftext-treescap-image-record-count Passed

Runs giftext on treescap.gif and asserts the count of "Image #" record headers equals the per-frame count reported by giftool -f '%n\n', confirming giftext enumerates one record per image descriptor.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext image-record
Log

            
giftool -f '%n' on fire.gif emits a contiguous frame index sequence Port / giflib / usage-giflib-tools-r15-giftool-format-frame-index-zero-based Passed

Runs giftool -f '%n\n' against fire.gif and asserts the output is a contiguous strictly-increasing integer sequence with the same number of frames as fire.gif (giftool 5.2.2 emits 1-based indices, earlier versions 0-based — accept either start, just require contiguity).

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -f %v reports a single uniform GIF version across all fire.gif frames Port / giflib / usage-giflib-tools-r15-giftool-format-version-fire-uniform Passed

Runs giftool -f '%v\n' against fire.gif and asserts the deduplicated version string is exactly one value (GIF87a or GIF89a) — i.e. giftool reports the same file-level version on every frame line, exercising the per-frame version cookie's uniformity invariant.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -x 2 sets disposal mode background on every treescap frame Port / giflib / usage-giflib-tools-r15-giftool-set-disposal-two-treescap Passed

Pipes treescap.gif through giftool -x 2 to set disposal mode 2 (restore-to-background) on every frame, then reads back via giftool -f '%x\n' and asserts every line equals "2", exercising the disposal-mode setter at a non-default value.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool disposal
Log

            
giftool -p 0,0 on treescap pins every frame to origin Port / giflib / usage-giflib-tools-r15-giftool-set-position-zero-treescap Passed

Pipes treescap.gif through giftool -p 0,0, reads back via giftool -f '%p\n', and asserts every line equals "0,0", exercising the position setter at the origin on a non-interlaced fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool position
Log

            
giftool -u 1 sets the user-input flag on every treescap frame Port / giflib / usage-giflib-tools-r15-giftool-set-userinput-one-treescap Passed

Pipes treescap.gif through giftool -u 1 to set the GCB user-input flag on every frame, then reads back via giftool -f '%u\n' and asserts every line equals "1", exercising the user-input setter on a non-interlaced fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool userinput
Log

            
gif2rgb -1 gifgrid.gif byte count divisible by width*3 Port / giflib / usage-giflib-tools-r16-gif2rgb-grid-bytes-divisible-stride Passed

Decodes gifgrid.gif via gif2rgb -1 and asserts the emitted RGB byte count is positive, divisible by width*3 (no row padding) and divisible by width*height*3 (whole-frame multiple), exercising the stride contract on the synthetic grid fixture distinct from the treescap and fire cases.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb stride
Log

            
gif2rgb -1 treescap.gif emits exactly width*height*3 bytes per frame Port / giflib / usage-giflib-tools-r16-gif2rgb-treescap-pixel-byte-count Passed

Decodes treescap.gif via gif2rgb -1, derives width and height from giftext, and asserts the total RGB byte count is a positive integer multiple of width*height*3 with the multiple equal to the frame count reported by giftool -f '%n\n', exercising the full-frame byte-count contract on a non-interlaced fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb bytes
Log

            
giftool -b 3 fire.gif round-trips through giftool -f '%b\n' Port / giflib / usage-giflib-tools-r16-giftool-background-roundtrip-three Passed

Applies giftool -b 3 to fire.gif to overwrite the logical-screen background color index, reads it back via giftool -f '%b\n', and asserts every emitted line equals "3", exercising the background-index mutation surface at a non-default value.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool background
Log

            
giftool -d 15 fire.gif round-trips through giftool -f '%d\n' Port / giflib / usage-giflib-tools-r16-giftool-delay-mutation-fire-fifteen Passed

Pipes fire.gif through giftool -d 15 to overwrite per-frame delay-time, then reads back via giftool -f '%d\n' and asserts every line reports 15 centiseconds, exercising the delay setter at a value distinct from those used by other batches (5, 25, 50, 75).

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool delay
Log

            
giftool -x 1 treescap.gif sets disposal mode "do-not-dispose" on every frame Port / giflib / usage-giflib-tools-r16-giftool-disposal-treescap-one Passed

Pipes treescap.gif (non-interlaced) through giftool -x 1 to set disposal mode 1 (do-not-dispose) on every frame, then reads back via giftool -f '%x\n' and asserts every line equals "1", exercising the disposal setter at value 1 complementing existing 0/2/3 cases.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool disposal
Log

            
giftool -f '%v %s' treescap.gif emits version cookie and screen size jointly Port / giflib / usage-giflib-tools-r16-giftool-format-screen-and-version-pair Passed

Runs giftool with a multi-token format string "%v %s\n" against treescap.gif and asserts every emitted line is of the form "GIF8[79]a <W>,<H>" with positive width and height, exercising the simultaneous %v + %s emission contract (giftool renders %s as "W,H").

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool format
Log

            
giftool -p 12,3 treescap.gif round-trips through giftool -f '%p\n' Port / giflib / usage-giflib-tools-r16-giftool-position-treescap-twelve-three Passed

Pipes treescap.gif (non-interlaced) through giftool -p 12,3 to set per-frame image-left/top, then reads back via giftool -f '%p\n' and asserts every line equals "12,3", exercising the position setter at a non-origin offset distinct from existing 0,0/5,7/6,9 cases.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool position
Log

            
giftool -u 0 fire.gif clears the user-input flag on every frame Port / giflib / usage-giflib-tools-r16-giftool-userinput-fire-zero Passed

Pipes fire.gif through giftool -u 0 to clear the graphics-control-block user-input flag on every frame, then re-reads via giftool -f '%u\n' and confirms every frame reports 0, exercising the user-input clear path complementing the existing -u 1 set test.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool userinput
Log

            
gif2rgb -1 -o on treescap.gif emits a non-empty raster and prints to stderr without GIF header Port / giflib / usage-giflib-tools-r17-gif2rgb-treescap-version-banner Passed

Runs gif2rgb -1 -o on treescap.gif to extract the first frame as a raw RGB raster, asserts the output file is non-empty and does NOT start with the ASCII bytes "GIF" (because the raster is raw pixels, not a GIF stream), exercising the raw-output side of the GIF reader.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb raster
Log

            
gifbuild round-trip through treescap.gif preserves the per-frame count Port / giflib / usage-giflib-tools-r17-gifbuild-treescap-roundtrip-frame-count Passed

Dumps treescap.gif via gifbuild -d, reconstructs via gifbuild, and asserts the rebuilt GIF reports the same per-frame count under giftool -f '%n\n' as the source, exercising the textual-dump-and-rebuild pipeline.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild roundtrip
Log

            
gifclrmp -s on treescap.gif emits a palette dump with at least 16 entry rows Port / giflib / usage-giflib-tools-r17-gifclrmp-treescap-sixteen-palette-bytes Passed

Runs gifclrmp -s on treescap.gif to dump the palette as text and asserts the output contains at least 16 non-empty lines, exercising the palette emission on the known treescap fixture without pinning the exact line count.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette
Log

            
giftext on treescap.gif mentions a Color Map entry Port / giflib / usage-giflib-tools-r17-giftext-treescap-color-map-mention Passed

Runs giftext on treescap.gif and asserts the rendered report contains the literal substring "Color Map", exercising the palette section emission distinct from per-image and screen-size sections.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext palette
Log

            
giftool -d 5 treescap.gif emits uniform delay across all frames Port / giflib / usage-giflib-tools-r17-giftool-delay-five-treescap-uniform Passed

Pipes treescap.gif through giftool -d 5 to set every frame delay-time to 5 centiseconds, then reads back via giftool -f '%d\n' and asserts every line equals "5", exercising the per-frame delay setter at a value distinct from prior batches.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool delay
Log

            
giftool -i 1 on treescap.gif round-trips through giftext interlace marker Port / giflib / usage-giflib-tools-r17-giftool-interlace-on-treescap-roundtrip Passed

Pipes treescap.gif through giftool -i 1 to turn the interlace flag on, then runs giftext on the output and asserts the report mentions "Interlaced" for the image record, exercising the interlace setter on a non-interlaced fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool interlace
Log

            
giftool -p 0,0 on treescap.gif preserves screen size and frame count Port / giflib / usage-giflib-tools-r17-giftool-position-zero-treescap-noop Passed

Pipes treescap.gif through giftool -p 0,0 to set image-block position to the origin, then asserts the screen-size string and per-frame count emitted by giftool -f match the input, exercising the position setter as an effective no-op for already-origin frames.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool position
Log

            
gif2rgb -1 -o on fire.gif emits a raster sized as a multiple of three bytes Port / giflib / usage-giflib-tools-r18-gif2rgb-fire-output-size-multiple-of-three Passed

Runs gif2rgb -1 -o on fire.gif to extract the first frame as a raw RGB raster and asserts the output file size is divisible by 3 because each pixel occupies exactly three RGB bytes, exercising the raster packing invariant on the multi-frame animation fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb raster r18
Log

            
gif2rgb -c 32 -1 -o on treescap.gif produces width*height*3 RGB bytes Port / giflib / usage-giflib-tools-r18-gif2rgb-quantize-32-treescap-stream-bytes Passed

Runs gif2rgb -c 32 -1 -o on treescap.gif to quantize the image to 32 colors as a single concatenated RGB stream and asserts the resulting raw byte count equals 40*40*3 (4800) bytes, exercising the quantize-plus-stream output path with a color count not covered by existing tests on this fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb quantize r18
Log

            
gifbuild -d on fire.gif emits a non-empty textual dump Port / giflib / usage-giflib-tools-r18-gifbuild-fire-dump-non-empty Passed

Runs gifbuild -d on fire.gif to produce the textual dump representation and asserts the dump file is non-empty and contains the GIF version identifier string at the start of the output, exercising the dump-only side of the gifbuild round-trip.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild dump r18
Log

            
gifclrmp -s on treescap.gif emits palette lines with four integer columns each Port / giflib / usage-giflib-tools-r18-gifclrmp-treescap-palette-three-columns Passed

Runs gifclrmp -s on treescap.gif to dump the colormap in text form, asserts the dump file is non-empty and that every line contains exactly four whitespace-separated numeric tokens corresponding to index plus RGB triple, exercising the textual colormap extractor row invariant.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette r18
Log

            
giftext on fire.gif emits at least as many Image lines as giftool reports frames Port / giflib / usage-giflib-tools-r18-giftext-fire-image-record-count Passed

Runs giftext on fire.gif and counts lines containing the literal substring "Image ", then compares against the giftool -f '%n\n' frame count and asserts the giftext image-record count is greater than or equal to the frame count, exercising the per-image section emission on a multi-frame fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext image-record r18
Log

            
giftext on fire.gif emits a Screen Size header line Port / giflib / usage-giflib-tools-r18-giftext-fire-screen-size-line Passed

Runs giftext on fire.gif and asserts the report contains the literal substring "Screen Size" (case-insensitive), exercising the global screen descriptor section emission distinct from the color map section.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext screen-size r18
Log

            
giftool -b 0 on treescap.gif emits a valid GIF with preserved screen size Port / giflib / usage-giflib-tools-r18-giftool-background-zero-treescap-roundtrip Passed

Pipes treescap.gif through giftool -b 0 to set the background color index to 0, then asserts the result is a valid GIF stream whose unique giftool -f '%s\n' screen-size string matches the input, exercising the background-index setter without changing screen geometry.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool background r18
Log

            
giftool -d 10 on fire.gif emits uniform delay across all frames Port / giflib / usage-giflib-tools-r18-giftool-delay-ten-fire-uniform Passed

Pipes fire.gif through giftool -d 10 to set every frame delay-time to 10 centiseconds, then reads back via giftool -f '%d\n' and asserts every line equals "10", exercising the per-frame delay setter on a multi-frame animation fixture distinct from prior single-value tests.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool delay r18
Log

            
giftool -i 0 on fire.gif preserves GIF magic and frame count Port / giflib / usage-giflib-tools-r18-giftool-interlace-off-fire-roundtrip Passed

Pipes fire.gif through giftool -i 0 to turn the interlace flag off and asserts the result is a valid GIF stream whose per-frame count emitted by giftool -f '%n\n' equals the input frame count, exercising the interlace clear operation on a multi-frame fixture.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool interlace r18
Log

            
giftool -p 5,5 on treescap.gif emits a valid GIF and preserves frame count Port / giflib / usage-giflib-tools-r18-giftool-position-five-treescap-roundtrip Passed

Pipes treescap.gif through giftool -p 5,5 to set image-block position to (5,5), then asserts the result is recognised as a GIF stream by file and that giftool -f '%n\n' frame-count matches the input, exercising the position setter at a non-origin coordinate.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool position r18
Log

            
gif2rgb -c 16 -1 -o on treescap.gif still emits a 4800-byte raster (40x40x3) Port / giflib / usage-giflib-tools-r19-gif2rgb-color-reduce-16-treescap-size Passed

Runs gif2rgb -c 16 -1 -o on treescap.gif to request a 16-colour reduction and asserts the output raster file is still exactly 4800 bytes (width 40 * height 40 * 3 bytes per pixel), exercising the -c color-reduction option as a size-preserving operation distinct from previously tested invocations.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb color-reduce r19
Log

            
gif2rgb -1 -o on gifgrid.gif emits a 30000-byte raster equal to width*height*3 Port / giflib / usage-giflib-tools-r19-gif2rgb-gifgrid-raster-size-30000 Passed

Runs gif2rgb -1 -o on the 100x100 gifgrid.gif fixture and asserts the output file size equals exactly 30000 bytes which is width*height*3 for a single-frame extract, exercising the raster sizing invariant on the grid fixture distinct from prior treescap and fire size tests.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb raster r19
Log

            
gifbuild -d on treescap.gif emits a "screen colors 128" line Port / giflib / usage-giflib-tools-r19-gifbuild-treescap-screen-colors-128 Passed

Runs gifbuild -d on treescap.gif and asserts the produced text dump contains the literal line "screen colors 128", exercising the dump representation of the colour-resolution-derived screen colours field for the treescap fixture which advertises 7-bit colour resolution.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild screen-colors r19
Log

            
gifbuild -d on treescap.gif emits a "screen width 40" line in its dump Port / giflib / usage-giflib-tools-r19-gifbuild-treescap-screen-width-40 Passed

Runs gifbuild -d on treescap.gif and asserts the produced dump contains the literal line "screen width 40", exercising the dump representation of the screen-width header field on the 40x40 fixture distinct from prior dump line-count tests.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild dump r19
Log

            
gifclrmp -s on gifgrid.gif emits exactly eight palette rows Port / giflib / usage-giflib-tools-r19-gifclrmp-gifgrid-eight-palette-rows Passed

Runs gifclrmp -s on the gifgrid.gif fixture (which uses an 8-entry global colour map) and asserts the textual palette dump contains exactly 8 newline-terminated rows, exercising the colormap extractor row count on a small-palette fixture distinct from the 16-row treescap and 256-row fire dumps.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette r19
Log

            
giftext on fire.gif emits per-frame "Disposal Mode:" lines Port / giflib / usage-giflib-tools-r19-giftext-fire-disposal-mode-line Passed

Runs giftext on fire.gif and asserts the rendered report contains at least one line starting with the literal "Disposal Mode:", exercising the graphics-control-extension disposal-field emission on the multi-frame animation fixture distinct from screen-size and color-map section tests.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext disposal r19
Log

            
giftext on gifgrid.gif reports a 100x100 screen size line Port / giflib / usage-giflib-tools-r19-giftext-gifgrid-screen-size-100x100 Passed

Runs giftext on gifgrid.gif and asserts the rendered output contains the literal substring "Screen Size - Width = 100, Height = 100", exercising the screen-size header emission on the 100x100 grid fixture distinct from the treescap and fire fixtures.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext screen-size r19
Log

            
giftool -b 5 on treescap.gif updates the BackGround value reported by giftext Port / giflib / usage-giflib-tools-r19-giftool-background-five-treescap-giftext Passed

Pipes treescap.gif through giftool -b 5 to set the screen background colour index to 5, then asserts giftext on the result emits a line containing the literal substring "BackGround = 5", exercising the background index setter as seen through the textual report.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool background r19
Log

            
giftool -x 2 on fire.gif yields gifbuild dump lines with "disposal mode 2" Port / giflib / usage-giflib-tools-r19-giftool-disposal-two-fire-gifbuild-dump Passed

Pipes fire.gif through giftool -x 2 to set the disposal field on each frame to 2 (restore-to-background), then runs gifbuild -d and asserts the dump contains at least one "disposal mode 2" line, exercising the disposal setter through the gifbuild text dump.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool disposal r19
Log

            
giftool -i 1 on treescap.gif flips the giftext interlace label to interlaced Port / giflib / usage-giflib-tools-r19-giftool-interlace-on-treescap-giftext Passed

Pipes treescap.gif through giftool -i 1 to enable the interlace flag (the input is non-interlaced), then runs giftext and asserts the rendered output contains the literal "Image is Interlaced." line, exercising the interlace setter through the textual report distinct from gifbuild dump-based tests.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool interlace r19
Log

            
gif2rgb -1 -o 0 on fire.gif emits exactly 5400 bytes (30x60x3) for frame zero Port / giflib / usage-giflib-tools-r20-gif2rgb-fire-frame-zero-byte-count Passed

Runs gif2rgb -1 -o on the multi-frame fire.gif fixture targeting frame zero by default first-frame mode and asserts the produced raster is exactly 5400 bytes (width 30 * height 60 * 3 bytes per pixel), exercising the explicit single-first-frame raster size on fire distinct from prior treescap and gifgrid size tests.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb frame-zero r20
Log

            
gifbuild dump/rebuild on gifgrid.gif converges to a fixed point after the first rebuild Port / giflib / usage-giflib-tools-r20-gifbuild-gifgrid-three-rebuild-byte-equal Passed

Pipes gifgrid.gif through two successive gifbuild dump-rebuild cycles and asserts the second and third rebuilt GIF files are byte-for-byte identical, exercising convergence of the dump-and-rebuild round-trip after the first canonicalisation pass on the gifgrid fixture distinct from prior double-roundtrip tests on fire/treescap.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild idempotent r20
Log

            
gifbuild -d on treescap.gif emits a "screen height 40" line Port / giflib / usage-giflib-tools-r20-gifbuild-treescap-screen-height-40 Passed

Runs gifbuild -d on the 40x40 treescap.gif fixture and asserts the dump contains the literal line "screen height 40", exercising the screen-height field in the textual dump distinct from the existing r19 "screen width 40" assertion.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild screen-height r20
Log

            
gifclrmp -s on treescap.gif emits palette rows with values within 0-255 Port / giflib / usage-giflib-tools-r20-gifclrmp-treescap-rgb-bounds Passed

Runs gifclrmp -s on the treescap.gif fixture and asserts every emitted palette row contains exactly three space-separated integers each in the byte range [0,255], exercising the palette-byte range invariant on treescap distinct from prior row-count or column-count tests.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette-bounds r20
Log

            
giffix on treescap.gif yields a file whose gifbuild dump has the same image-record count Port / giflib / usage-giflib-tools-r20-giffix-fire-image-count-preserved Passed

Runs giffix on the single-frame treescap.gif fixture and asserts the resulting file's gifbuild dump contains exactly the same number of "image # N" header lines as the original (1), exercising image-record count preservation across a clean-input giffix pass distinct from prior tests focused on screen-size or palette preservation.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix image-count r20
Log

            
giftext on gifgrid.gif emits a "Color Resolution" line Port / giflib / usage-giflib-tools-r20-giftext-gifgrid-color-resolution-line Passed

Runs giftext on the gifgrid.gif fixture and asserts the produced report contains the literal substring "ColorResolution", exercising the textual color-resolution field rendering on the gifgrid fixture distinct from prior fire/treescap color resolution tests.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext color-resolution r20
Log

            
giftool -b 12 on treescap.gif yields giftext "BackGround = 12" Port / giflib / usage-giflib-tools-r20-giftool-set-background-12-treescap Passed

Pipes treescap.gif through giftool -b 12 to set the background colour index and runs giftext on the result, asserting the giftext output contains the literal "BackGround = 12" line, exercising the background-index setter with the value 12 (distinct from prior 0, 5, 7, and 9 cases) read through giftext rather than gifbuild dump.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool background r20
Log

            
giftool -d 30 on fire.gif sets every frame delay to 30 via giftool -f '%d' Port / giflib / usage-giflib-tools-r20-giftool-set-delay-30-fire-uniform Passed

Pipes fire.gif through giftool -d 30 to set the frame-delay field to 30 centiseconds, reads back via giftool -f '%d\n' and asserts every line equals "30", exercising the per-frame uniform delay setter on the multi-frame fire fixture with a distinctive value not previously asserted (existing tests cover 5, 10, 15, 25, 50).

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool delay r20
Log

            
giftool -p 7,11 on treescap.gif sets image left=7 and top=11 in the gifbuild dump Port / giflib / usage-giflib-tools-r20-giftool-set-position-7-11-treescap Passed

Pipes treescap.gif through giftool -p 7,11 to set the image origin and runs gifbuild -d, asserting the dump contains both "image left 7" and "image top 11" lines, exercising the image-origin setter with non-symmetric coordinates distinct from prior 0,0 and 12,3 cases.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool position r20
Log

            
giftool -s 50,50 on treescap.gif followed by gifbuild dump shows "screen width 50" Port / giflib / usage-giflib-tools-r20-giftool-set-screen-size-50x50-format Passed

Pipes treescap.gif through giftool -s 50,50 to set the logical screen size and then runs gifbuild -d on the result, asserting the dump contains both literal lines "screen width 50" and "screen height 50", exercising the screen-size setter through the gifbuild dump distinct from prior 200x100, 20x20, and other screen-size cases.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool screen-size r20
Log

            
gif2rgb -o on fire.gif emits .R, .G, .B planar files of equal positive size Port / giflib / usage-giflib-tools-r21-gif2rgb-fire-planar-rgb-bytes-equal Passed

Runs gif2rgb -o without -1 against fire.gif (multi-frame, 30x60) producing the planar .R/.G/.B sidecar files and asserts each file exists, all three are the same positive size, and the size equals the per-frame pixel count times the number of frames (33 frames * 30 * 60 = 59400 bytes per plane), exercising the planar tri-file output mode size invariant.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gif2rgb planar r21
Log

            
gifbuild -d on fire.gif dump first non-comment line contains the screen width directive Port / giflib / usage-giflib-tools-r21-gifbuild-fire-dump-version-line Passed

Runs gifbuild -d on fire.gif and asserts the first non-comment non-blank line is exactly "screen width 30", exercising the gifbuild dump structural shape that opens with the screen-descriptor directive on fire distinct from prior screen-size-line tests that only checked presence anywhere in the dump.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild dump-shape r21
Log

            
gifbuild -d on treescap.gif dump contains exactly one "screen width 40" line Port / giflib / usage-giflib-tools-r21-gifbuild-treescap-dump-screen-width-40 Passed

Runs gifbuild -d on treescap.gif and asserts the dump contains exactly one line matching the literal "screen width 40" (treescap is 40x40 single-screen-descriptor), exercising the gifbuild dump screen-width emission uniqueness on the treescap fixture distinct from prior screen-width tests that did not check uniqueness.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifbuild screen-width r21
Log

            
gifclrmp -g 1.0 on fire.gif applied twice converges to a fixed-point GIF Port / giflib / usage-giflib-tools-r21-gifclrmp-fire-identity-gamma-byte-equal Passed

Applies gifclrmp -g 1.0 (identity gamma) to fire.gif once, then applies it a second time to the result, and asserts the second and third outputs are byte-for-byte identical (the identity-gamma transform is idempotent after the first canonicalisation pass), exercising the gamma fixed-point property distinct from the existing 256-palette-row identity-gamma test.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp gamma idempotent r21
Log

            
gifclrmp -s on gifgrid.gif palette dump first row begins with index 0 Port / giflib / usage-giflib-tools-r21-gifclrmp-gifgrid-palette-first-row-zero-prefix Passed

Runs gifclrmp -s on gifgrid.gif and asserts the first non-empty line of the palette dump starts with the literal token "0" (index zero) followed by whitespace and three integer RGB values, exercising the index-prefix shape of the palette dump on gifgrid distinct from prior row-count and palette-bytes tests.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli gifclrmp palette gifgrid r21
Log

            
giffix on gifgrid.gif produces output of the same byte size as the input Port / giflib / usage-giflib-tools-r21-giffix-gifgrid-output-equals-input-size Passed

Runs giffix on the clean gifgrid.gif fixture and asserts the output file size equals the input file size (giffix downgrades the version magic but does not add/remove payload bytes on a clean input), exercising the giffix output-size invariant on gifgrid distinct from prior frame-count-preserved and trailing-junk-clean tests on other fixtures.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giffix noop r21
Log

            
giftext on treescap.gif is deterministic across two consecutive invocations Port / giflib / usage-giflib-tools-r21-giftext-determinism-two-runs Passed

Runs giftext on treescap.gif twice and asserts the two stdout captures are byte-for-byte identical (parsing the same GIF must produce the same textual dump on the same machine), exercising the giftext output-determinism invariant distinct from prior single-invocation content tests.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext determinism r21
Log

            
giftext -c on treescap.gif reports Global Color Map "Sort Flag: off" Port / giflib / usage-giflib-tools-r21-giftext-treescap-sort-flag-off Passed

Runs giftext -c on treescap.gif (the -c flag enables colormap dumping with the sort-flag line) and asserts the textual dump contains the literal line "Sort Flag: off", exercising the giftext narrative emission of the color-table sort-flag bit distinct from the existing giftool -f %z numeric format-code test on fire.gif.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftext sort-flag r21
Log

            
giftool -b 3 then -b 0 on treescap.gif yields background index 0 in giftool -f %b Port / giflib / usage-giflib-tools-r21-giftool-set-bgcolor-3-then-clear-format-zero Passed

Chains two giftool -b invocations against treescap.gif (first sets background to 3, then resets to 0) and asserts giftool -f %b reports 0 for every frame in the final output, exercising the background-index setter override behavior distinct from prior single-setter-only background tests.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool background chain r21
Log

            
giftool -d 30 applied twice on fire.gif is byte-for-byte identical to applying once Port / giflib / usage-giflib-tools-r21-giftool-set-delay-idempotent-twice Passed

Pipes fire.gif through giftool -d 30 once, then pipes the result through giftool -d 30 a second time, and asserts the two output GIFs are byte-for-byte identical, exercising the idempotence of the per-frame delay setter on a multi-frame fixture distinct from the prior single-application delay-setter tests.

Run
Port
Kind
usage
Client
giflib-tools
Duration
0.00s
Tags
usage cli giftool delay idempotent r21
Log

            
CVE-2005-2974 giflib regression Port / giflib / cve-2005-2974 Passed

Asserts that gif2rgb rejects a crafted truncated GIF without a NULL-pointer crash, surfacing a documented decode error in bounded time.

Run
Port
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve decoder dos
Log

            
CVE-2019-15133 giflib regression Port / giflib / cve-2019-15133 Passed

Asserts that DGifSlurp rejects a GIF whose image descriptor declares zero height instead of triggering a divide-by-zero exception inside the decoder.

Run
Port
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve decoder divide-by-zero dos
Log