From b8b82944bcda4a794440ce28dd0c75ee80e44dab Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Wed, 5 Aug 2026 02:21:15 +0200 Subject: [PATCH 01/10] test: add reusable format lists and some helper functions --- test/test.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/test/test.py b/test/test.py index b038cacb..5f1c9b26 100755 --- a/test/test.py +++ b/test/test.py @@ -5,6 +5,7 @@ import subprocess import sys from collections import OrderedDict +from itertools import chain try: from colorama import Fore, Style @@ -264,9 +265,56 @@ def print_end_results(clones_verification, clones_verified, files_verification, crunch(None, None, options=["--help"]) +def merge_list(*lists): + return list(dict.fromkeys(chain.from_iterable(lists))) + +def start_from(items, value): + i = items.index(value) + return items[i:] + items[:i] + if simple_test == "true": exit(0) +lossless_format_list = [ + "tga", + "bmp", + "png", +] + +lossy_format_list = [ + "crn", + "dds", + "ktx", + "jpg", +] + +dxt_format_list = [ + "crn", + "dds", + "ktx", +] + +transparent_format_list = [ + "tga", + "bmp", + "png", + "crn", + "dds", + "ktx", +] + +opaque_format_list = [ + "jpg", +] + +all_format_list = merge_list( + lossless_format_list, + dxt_format_list, + transparent_format_list, + opaque_format_list, + lossy_format_list, +) + mkdir("build/test/png-to-all") crunch("test/unvanquished_64.png", "build/test/png-to-all/unvanquished_64.tga", clone="tga") crunch("test/unvanquished_64.png", "build/test/png-to-all/unvanquished_64.bmp", clone="bmp") From 21f448bac92cfbf09513ad8d83222231e66380bf Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Mon, 10 Aug 2026 05:52:32 +0200 Subject: [PATCH 02/10] test: enforce -noNormalDetection --- test/test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test.py b/test/test.py index 5f1c9b26..545b1c45 100755 --- a/test/test.py +++ b/test/test.py @@ -106,7 +106,7 @@ def crunch(input_path, output_path, clone=None, options=[]): if input_path: converted_input_path = convert_path(input_path) - command_list += ["-noTitle", "-helperThreads", "3", "-nostats", "-noprogress", "-file", converted_input_path] + command_list += ["-noTitle", "-helperThreads", "3", "-nostats", "-noprogress", "-noNormalDetection", "-file", converted_input_path] if output_path: converted_output_path = convert_path(output_path) From 5327157068543cc05027c63597f7ff8c5f47e4c3 Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Wed, 5 Aug 2026 04:32:34 +0200 Subject: [PATCH 03/10] test: rework the sample testing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Most of tests are loopable: - converting from one format to all others, - converting multiple files from a single test collection to a single directory, - whole collection of clones… - rename all the samples (but the icon) using a similar pattern. This actually tests more combination. This reorganize the out directories to make it easier to review the files, and give the out directories better names. --- test/checksums.tsv | 276 ++++++++++++------ test/{black.jpg => sample-black.jpg} | Bin ...alpha1.png => sample-colormap1-alpha1.png} | Bin ...alpha1.png => sample-colormap2-alpha1.png} | Bin ...alpha1.png => sample-colormap4-alpha1.png} | Bin ...alpha1.png => sample-colormap8-alpha1.png} | Bin ...m-left.tga => sample-flat-bottom-left.tga} | Bin ...right.tga => sample-flat-bottom-right.tga} | Bin ...-top-left.tga => sample-flat-top-left.tga} | Bin ...op-right.tga => sample-flat-top-right.tga} | Bin ...lpha1.png => sample-grayscale1-alpha1.png} | Bin ...lpha8.png => sample-grayscale1-alpha8.png} | Bin ...lpha1.png => sample-grayscale8-alpha1.png} | Bin ...rgb8-alpha8.png => sample-rgb8-alpha8.png} | Bin ...om-left.tga => sample-rle-bottom-left.tga} | Bin ...-right.tga => sample-rle-bottom-right.tga} | Bin ...e-top-left.tga => sample-rle-top-left.tga} | Bin ...top-right.tga => sample-rle-top-right.tga} | Bin test/test.py | 232 +++++++-------- 19 files changed, 300 insertions(+), 208 deletions(-) rename test/{black.jpg => sample-black.jpg} (100%) rename test/{test-colormap1-alpha1.png => sample-colormap1-alpha1.png} (100%) rename test/{test-colormap2-alpha1.png => sample-colormap2-alpha1.png} (100%) rename test/{test-colormap4-alpha1.png => sample-colormap4-alpha1.png} (100%) rename test/{test-colormap8-alpha1.png => sample-colormap8-alpha1.png} (100%) rename test/{raw-bottom-left.tga => sample-flat-bottom-left.tga} (100%) rename test/{raw-bottom-right.tga => sample-flat-bottom-right.tga} (100%) rename test/{raw-top-left.tga => sample-flat-top-left.tga} (100%) rename test/{raw-top-right.tga => sample-flat-top-right.tga} (100%) rename test/{test-grayscale1-alpha1.png => sample-grayscale1-alpha1.png} (100%) rename test/{test-grayscale1-alpha8.png => sample-grayscale1-alpha8.png} (100%) rename test/{test-grayscale8-alpha1.png => sample-grayscale8-alpha1.png} (100%) rename test/{test-rgb8-alpha8.png => sample-rgb8-alpha8.png} (100%) rename test/{rle-bottom-left.tga => sample-rle-bottom-left.tga} (100%) rename test/{rle-bottom-right.tga => sample-rle-bottom-right.tga} (100%) rename test/{rle-top-left.tga => sample-rle-top-left.tga} (100%) rename test/{rle-top-right.tga => sample-rle-top-right.tga} (100%) diff --git a/test/checksums.tsv b/test/checksums.tsv index bc225bc8..ffe3399c 100644 --- a/test/checksums.tsv +++ b/test/checksums.tsv @@ -1,89 +1,187 @@ -build/test/png-to-all/unvanquished_64.tga 34434170b06843b2d4fb5964a4b8751ec3a151a7d03e351e45a5967508f6a21f6e40ffc214bb46640105c4058bc35e196ecb5dd3261528a64acfeff52034fb40 -build/test/png-to-all/unvanquished_64.bmp 1c5f28be8151a8125346e9cf17b1bf6e3f9fe27f6947b164b7eefa8fd3732a2e4dff173c354a0cd4ed599cd604d4b8f916c0575b0a4b4b508acc68dc9b4067ae -build/test/png-to-all/unvanquished_64.png 71bb28da97cd778b99f131acaeb1c28ea37bae295a9e9934bed339508d8428587120c0da8f5bbc7963cdb77741ef789414f9d0d2c1e0da46026336efde147cc5 -build/test/png-to-all/unvanquished_64.crn a3b526e95f44b6a4c919bc8eb79f4debf592f0bccc163c900cd1b6f9add0ce58c3db9fc8dac1828d350bbcd915823d7743a0c114a533fbc08c163fcb4846d2f5 -build/test/png-to-all/unvanquished_64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 -build/test/png-to-all/unvanquished_64.ktx d82eab591163d802231722ef325571735971b6a9b0703ed8ea59b4a4144189825d96d3455605426453fb3ad8d7cc61f931c52b3e73df2bb6787f7408baeb4ac7 -build/test/png-to-all/unvanquished_64.jpg 6cd22de7e2e5baced5ef16e84f816dde3049f822459d552ced4dcd4e3f9a16be82ee0747ed1479fe8339991176004b4ccc90380b7ef51292c7d9b518503a348d -build/test/tga-to-all/unvanquished_64.tga 34434170b06843b2d4fb5964a4b8751ec3a151a7d03e351e45a5967508f6a21f6e40ffc214bb46640105c4058bc35e196ecb5dd3261528a64acfeff52034fb40 -build/test/tga-to-all/unvanquished_64.bmp 1c5f28be8151a8125346e9cf17b1bf6e3f9fe27f6947b164b7eefa8fd3732a2e4dff173c354a0cd4ed599cd604d4b8f916c0575b0a4b4b508acc68dc9b4067ae -build/test/tga-to-all/unvanquished_64.png 71bb28da97cd778b99f131acaeb1c28ea37bae295a9e9934bed339508d8428587120c0da8f5bbc7963cdb77741ef789414f9d0d2c1e0da46026336efde147cc5 -build/test/tga-to-all/unvanquished_64.crn a3b526e95f44b6a4c919bc8eb79f4debf592f0bccc163c900cd1b6f9add0ce58c3db9fc8dac1828d350bbcd915823d7743a0c114a533fbc08c163fcb4846d2f5 -build/test/tga-to-all/unvanquished_64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 -build/test/tga-to-all/unvanquished_64.ktx d82eab591163d802231722ef325571735971b6a9b0703ed8ea59b4a4144189825d96d3455605426453fb3ad8d7cc61f931c52b3e73df2bb6787f7408baeb4ac7 -build/test/tga-to-all/unvanquished_64.jpg 6cd22de7e2e5baced5ef16e84f816dde3049f822459d552ced4dcd4e3f9a16be82ee0747ed1479fe8339991176004b4ccc90380b7ef51292c7d9b518503a348d -build/test/bmp-to-all/unvanquished_64.tga 34434170b06843b2d4fb5964a4b8751ec3a151a7d03e351e45a5967508f6a21f6e40ffc214bb46640105c4058bc35e196ecb5dd3261528a64acfeff52034fb40 -build/test/bmp-to-all/unvanquished_64.bmp 1c5f28be8151a8125346e9cf17b1bf6e3f9fe27f6947b164b7eefa8fd3732a2e4dff173c354a0cd4ed599cd604d4b8f916c0575b0a4b4b508acc68dc9b4067ae -build/test/bmp-to-all/unvanquished_64.png 71bb28da97cd778b99f131acaeb1c28ea37bae295a9e9934bed339508d8428587120c0da8f5bbc7963cdb77741ef789414f9d0d2c1e0da46026336efde147cc5 -build/test/bmp-to-all/unvanquished_64.crn a3b526e95f44b6a4c919bc8eb79f4debf592f0bccc163c900cd1b6f9add0ce58c3db9fc8dac1828d350bbcd915823d7743a0c114a533fbc08c163fcb4846d2f5 -build/test/bmp-to-all/unvanquished_64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 -build/test/bmp-to-all/unvanquished_64.ktx d82eab591163d802231722ef325571735971b6a9b0703ed8ea59b4a4144189825d96d3455605426453fb3ad8d7cc61f931c52b3e73df2bb6787f7408baeb4ac7 -build/test/bmp-to-all/unvanquished_64.jpg 6cd22de7e2e5baced5ef16e84f816dde3049f822459d552ced4dcd4e3f9a16be82ee0747ed1479fe8339991176004b4ccc90380b7ef51292c7d9b518503a348d -build/test/crn-to-all/unvanquished_64.tga 71014682514ec9d2baa19444fd026ceb65aa06e86d32f34b326f336e47cf4ea351aa7c2eee6a1f0fbf290658fae72c24a86c4e167272143012d384dd6d6b1ce9 -build/test/crn-to-all/unvanquished_64.bmp a6d6886879f9aade027ecb4d55f2092c3af98c297aaf2f689d77a11870156099853a41993575a9a313a23e399b3bcb06dcc0eac46b877639f3875972af7933d7 -build/test/crn-to-all/unvanquished_64.png dd9d45459bd5a3ed74d494838a3d61ed4baea9960300cb3f1d54ecc923f742c9036fe13a338da6db2efc98049a2e206cb7c0e1cba6d79ea0e3ad86473af13e83 -build/test/crn-to-all/unvanquished_64.crn 1596d312526073fd8923faefbed879fb1299ee53eeb54787f2b66754768d9a8160d9921b13aa9b7c781eb088be41cec0f3b703713aede43116a2b62f284f39f9 -build/test/crn-to-all/unvanquished_64.dds 2aae5c5bd8c6a82d1cf3fc9d9da12fe3fc5be8651261ff1cb359e754308fd81e93bf304aeb55ada0bad50794d6e97d3e48084e5a4f48fa7caec4ed954152bae9 -build/test/crn-to-all/unvanquished_64.ktx 10a45e43609c49b4929b91293e203557d8f5c1b146aa8162d946248e8fa24709e1645ed1fc40c2c1a541567b3d1287c7885cb0185230b660386825c4d03db22f -build/test/crn-to-all/unvanquished_64.jpg f68e74b3c8a404fc867345411c8778228728897e5d0870e071d6ec67fd1fccb45b3b97993575c3ed66d80cd6a7d60845e8fe68780ac322fe1d46adc57014fa8b -build/test/dds-to-all/unvanquished_64.tga 46e0c1796f7b1a998829919e14f69cb43d83b895585aca69ad17e0f6cd9839d20b383a6eca161320b87bb7161cbedc116466ec27319078a011b59fe16dc6ce26 -build/test/dds-to-all/unvanquished_64.bmp 9d1b7c76f345332fa53e9b517ee47ba142d0c9def2b27b908af67b3c19edec0882f183f83eb9022cc2e726082193d7c82394a92b068137a4698a505d8bab0080 -build/test/dds-to-all/unvanquished_64.png cd5b04f9c081f91a2d3a3fbf4484153feec5f0c027608f48a51209596ff604680ab93de70fbb616dc3fecea3fa6d240ac7a2e294bb0fc8244766375ffae54230 -build/test/dds-to-all/unvanquished_64.crn 0db1f3bcf6240389be389dc2a94fdabf97aab439d12aabc6cca2ccb69559759fc414d2bc7735d0d4812b895ffb4085172f6a48439a104d79e0b5d65124b1f002 -build/test/dds-to-all/unvanquished_64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 -build/test/dds-to-all/unvanquished_64.ktx dbbea021367254587000704d11b5cf7982d3ac4a42edd9489b7b2ec49da796d4346c68c6ee1a163e6880f0efaeafc0235b739c2a4acbd1ed27750657af36e3df -build/test/dds-to-all/unvanquished_64.jpg 3a2bfcc1f2ecb18371163bb16812096b019fec176731f015a301384d605910702d168f8762076fa5d912760947c8df8d4026fd9b038c0d94360d1bf744f592a2 -build/test/ktx-to-all/unvanquished_64.tga 516bc1db1bfcda9c7f466cbb6f45b7608d9803391ae6d32e8de30d8e8102ef2de623cf6adfc74d471202ab14930dc4babe93a41b6c35b90e250a0de6b690fe7e -build/test/ktx-to-all/unvanquished_64.bmp 0493fc75c26629d3a532e68e3778bb25ed6de4d81f3a39eb34a65a1990aa4072aa6b0948dc1ed3122b7ecf45e6be139d05b008ad7277649fc244d039404503fd -build/test/ktx-to-all/unvanquished_64.png 7b5da6fea08f73d0e06791d000780820574d08e14c00c06ba2ef208296ebcfbc427175d72d6f2797e7240930782c70bf717a1e966fdd9aaada4a8b826ff9a2df -build/test/ktx-to-all/unvanquished_64.crn 7cb43bf1f8fa87735d7643c3590b52bf918b6e202095787f2305c7469db957185871434b101fb2e2fb7d57e55fc0dc635994b8ed2765edb6b453f10931508f6b -build/test/ktx-to-all/unvanquished_64.dds b2cecbf2870835ec04a8ed69012d294402017fa565393f8266a6dcc868f9c5b472b8b568c98250b5beb5b0d43ee9d9dc06d04cca4f35073541ba8331d55a6b46 -build/test/ktx-to-all/unvanquished_64.ktx d82eab591163d802231722ef325571735971b6a9b0703ed8ea59b4a4144189825d96d3455605426453fb3ad8d7cc61f931c52b3e73df2bb6787f7408baeb4ac7 -build/test/ktx-to-all/unvanquished_64.jpg c350e1e0d90b8d519a0cfdbad85c972a6f6c077988b8e96f5daef415f816b3ace2bb87c79772c6d25954caeb598ef3af7700f0bc10914349161fe1a4cc1f2d73 -build/test/jpg-to-all/unvanquished_64.tga 4ea9e7b358a01fe1b09e9c16845a0249daddc87010403f33c525cfca69af85cb561019221adc8beae4172908d48a951df2d8bf65d63ae2ee183ee5c6df424c99 -build/test/jpg-to-all/unvanquished_64.bmp 20636873950cde44336751526644ea6e979b5bdf1f45a166a40b583977a6f6cce6db32ab9b14d66eba1777ab8447fbc926a91b095c27cb4487e04d1f36ed3b0b -build/test/jpg-to-all/unvanquished_64.png 24124a42c01f243ec2864cc70d399b685183acb04216a0b21133b454f4d69d7606b3190119ff8c869c5dd4a28f77fbc352f3717747e32099f507cc7b790c39e2 -build/test/jpg-to-all/unvanquished_64.crn f7bf97cafc570eb16335006623b887de1b05591035a20f9399edc2386c59ab43832d4741a3763210c022cb65ee7a0facb29138bb7daf0b71f6b9059c1852c445 -build/test/jpg-to-all/unvanquished_64.dds c1b3b785d107ba2f18097fb1cf009f598dbda9e797741ed66bd6cf9b1c376447f0990bb3890af12e3c73c4e02410adc0b5be6f386867d8ffc6aded53adb5f309 -build/test/jpg-to-all/unvanquished_64.ktx 233e5d029b08cc45f8b3e9853edc6dc5dd5cab49cb0f95e870b9b6db917b2ddceaa2756d55aec1785c147375bc7a37030e3a8cde77d364f73d86043e99a7969a -build/test/jpg-to-all/unvanquished_64.jpg abe6f8c6820c4d0762a00b6ce0789834601d764b1a9a330eeb3b49d5209ee9ca2968e154d53e74912e05a4b99467df1710c12d62354cdfc8d49c9cd315de2b65 -build/test/tga-to-png/raw-bottom-left.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 -build/test/tga-to-png/raw-bottom-right.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 -build/test/tga-to-png/raw-top-left.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 -build/test/tga-to-png/raw-top-right.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 -build/test/tga-to-png/rle-bottom-left.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 -build/test/tga-to-png/rle-bottom-right.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 -build/test/tga-to-png/rle-top-left.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 -build/test/tga-to-png/rle-top-right.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 -build/test/tga-to-crn/raw-bottom-left.crn fcf1da3fc69f6b05935deafacb1c637f44983b9992a7452f8f26a7787d5577c6548986366fae5fd6d300366de4acade853464e7656224b04673a7d129e006854 -build/test/tga-to-crn/raw-bottom-right.crn fcf1da3fc69f6b05935deafacb1c637f44983b9992a7452f8f26a7787d5577c6548986366fae5fd6d300366de4acade853464e7656224b04673a7d129e006854 -build/test/tga-to-crn/raw-top-left.crn fcf1da3fc69f6b05935deafacb1c637f44983b9992a7452f8f26a7787d5577c6548986366fae5fd6d300366de4acade853464e7656224b04673a7d129e006854 -build/test/tga-to-crn/raw-top-right.crn fcf1da3fc69f6b05935deafacb1c637f44983b9992a7452f8f26a7787d5577c6548986366fae5fd6d300366de4acade853464e7656224b04673a7d129e006854 -build/test/tga-to-crn/rle-bottom-left.crn fcf1da3fc69f6b05935deafacb1c637f44983b9992a7452f8f26a7787d5577c6548986366fae5fd6d300366de4acade853464e7656224b04673a7d129e006854 -build/test/tga-to-crn/rle-bottom-right.crn fcf1da3fc69f6b05935deafacb1c637f44983b9992a7452f8f26a7787d5577c6548986366fae5fd6d300366de4acade853464e7656224b04673a7d129e006854 -build/test/tga-to-crn/rle-top-left.crn fcf1da3fc69f6b05935deafacb1c637f44983b9992a7452f8f26a7787d5577c6548986366fae5fd6d300366de4acade853464e7656224b04673a7d129e006854 -build/test/tga-to-crn/rle-top-right.crn fcf1da3fc69f6b05935deafacb1c637f44983b9992a7452f8f26a7787d5577c6548986366fae5fd6d300366de4acade853464e7656224b04673a7d129e006854 -build/test/png-to-png/test-colormap1-alpha1.png f596534970da37597230ae60112a4fe4d08d950e03b99754a633d9d285f4683624b1f710727d6b3e556b80b9d44428bfa297dc898beaf6fecad29fe98bbc98cb -build/test/png-to-png/test-colormap2-alpha1.png 2ffd5907e77157dfaac01c786b5150dcf822699254bebdd51ef1797568208ae924a572d90bc3ed3a06cc5e524c4c0d5a3de7aa75ae99febc4638533e41a6dda0 -build/test/png-to-png/test-colormap4-alpha1.png f8cd5a9b1ae040baee41a7f378e18bba426f79532555e22fe2f8c605a8347d79e7b98bb8284130536512b187f9d8435d58665eddb8d36596296f84f05ee904ae -build/test/png-to-png/test-colormap8-alpha1.png 3561be7b7958d37913708664413c149942f302907bf5f928782c7cf6cc4b312082f51fea6d8a3271b93bd37ace03ec22af65c224d6e7617ed8644fbe2f95dc35 -build/test/png-to-png/test-grayscale1-alpha1.png 57876e1d84ada2604c5e2dbbfd08c19286c87c8f1843cf47a9b77b4f6561c3b414a269f924c2be74bba4662503ede0fd9d94cb0a084c35a9f63a3cce07dcb876 -build/test/png-to-png/test-grayscale1-alpha8.png 62ba2ca3669febcb88959224732c295d891f10942dcddf2494c052886c4f502b0e30c1238d05196ce8113c2c150fa4d96fc81436af5ad6a28f7b8a64a77bbe7f -build/test/png-to-png/test-grayscale8-alpha1.png 62ba2ca3669febcb88959224732c295d891f10942dcddf2494c052886c4f502b0e30c1238d05196ce8113c2c150fa4d96fc81436af5ad6a28f7b8a64a77bbe7f -build/test/png-to-png/test-rgb8-alpha8.png 21630317b2ed9957241f4982c4e8207f7a00af23e0dd5df863965dbca9dcefd9a3c4f77b15ea91141c6c35181e44801ff1b5d0a7ed62f0c11eddfdaf7122b1a9 -build/test/png-to-crn/test-colormap1-alpha1.crn f223d84528a0470cedeaf014c85f78ed16e1cc0f8990324fdbc087b190b6f972d1db6d829881c1414c5bd37b04c26794e7aa59b0d5b6eb535dae766a0c1d4ee9 -build/test/png-to-crn/test-colormap2-alpha1.crn 91b8372d3f16a0d198ac557b15cbafff4c3d456108dd4bee66902a20593a3ea2735ca2f052d3f6ca62cc31335e5a24f6f995116802ab46e3ded534168ba4fea3 -build/test/png-to-crn/test-colormap4-alpha1.crn 75c03a7c9181aa74a32040f9bea4e13317b342f1ce8c41e3a52ff8784f6cc28de08b4c002e089470873bbdd555d87a9c09c8a649c5ab4cda6614cf2f0cbf73e9 -build/test/png-to-crn/test-colormap8-alpha1.crn b9ca0def9743aa4790d12de2faa9ce0bc355c916af8c0c4440e9a87a20c482feb563222b364a20ee7f70abff97e7d6312d679700b64704c2783d03b8cd9a757b -build/test/png-to-crn/test-grayscale1-alpha1.crn 3a9175379f9512c74675a6d573bccdb0426d70e0ff9d63dacaa83e2c1f857dda14df93732a5776ef3625bdcf17d3ec51788623bb85e46c70a56bb306fd563b05 -build/test/png-to-crn/test-grayscale1-alpha8.crn 2660ab64afdb6eb70fdb131ef9927fc0b21bca021694bb4b8220451a9e0d5195306ef08d022ec7fb3b6535eed56efbe093e1108a116fdca81c5ce5a0c6e1da01 -build/test/png-to-crn/test-grayscale8-alpha1.crn 0e0dd5cf4f613eae1a5638060e6fbdcc1b8438e1c22ab27785a30efa8f0b20458e9b28b3da09b87d6bb9cab16f101908c64d74ab8247bef032de09449b380a77 -build/test/png-to-crn/test-rgb8-alpha8.crn 70aa2d510a77ef971cbc91c8eea5cc1c0d571722f3cd7eb5cf9e3b825987b87eb7653b0bfceee733f2a54d5fa9ce452df64ab441e64f327b78b492fd57c461a9 -build/test/bmp-to-crn/sample-default.crn 119f0f756811e56ba688c402ea317923d9665017aed19022ad19fc8396e45d3ca3bb7b5383f3edc00e859e31558a0865de88af71110529b16b89ded731070925 -build/test/bmp-to-crn/sample-vertical-flip.crn 119f0f756811e56ba688c402ea317923d9665017aed19022ad19fc8396e45d3ca3bb7b5383f3edc00e859e31558a0865de88af71110529b16b89ded731070925 -build/test/jpg-to-crn/black.crn 19fb840c8dbb7da96400af5af1c45fe48c7c7e19340d03fbe5a2af28ceecfb9efba26fe6c1bf46bd76164ecb0efe91cc9237917e8e431cd8365f80e9ffacc906 -build/test/example1-dds/unvanquished_64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 -build/test/example1-crn/unvanquished_64.crn a3b526e95f44b6a4c919bc8eb79f4debf592f0bccc163c900cd1b6f9add0ce58c3db9fc8dac1828d350bbcd915823d7743a0c114a533fbc08c163fcb4846d2f5 -build/test/example1-crn/unvanquished_64.dds 2aae5c5bd8c6a82d1cf3fc9d9da12fe3fc5be8651261ff1cb359e754308fd81e93bf304aeb55ada0bad50794d6e97d3e48084e5a4f48fa7caec4ed954152bae9 -build/test/example2-dds/unvanquished_64.dds 2aae5c5bd8c6a82d1cf3fc9d9da12fe3fc5be8651261ff1cb359e754308fd81e93bf304aeb55ada0bad50794d6e97d3e48084e5a4f48fa7caec4ed954152bae9 -build/test/example3-dds/unvanquished_64.dds a719dd943bc4e30be0c124e6bafb1d8ba4002b9233e6208104f93046edd4ddd7aea7815430ae2c0b7efe259943f6a8fe109f56ea457e43cde79295ae7ac85b43 +build/test/crunch-icon-png-to-all/unvanquished_64.tga 34434170b06843b2d4fb5964a4b8751ec3a151a7d03e351e45a5967508f6a21f6e40ffc214bb46640105c4058bc35e196ecb5dd3261528a64acfeff52034fb40 +build/test/crunch-icon-png-to-all/unvanquished_64.bmp 1c5f28be8151a8125346e9cf17b1bf6e3f9fe27f6947b164b7eefa8fd3732a2e4dff173c354a0cd4ed599cd604d4b8f916c0575b0a4b4b508acc68dc9b4067ae +build/test/crunch-icon-png-to-all/unvanquished_64.png 71bb28da97cd778b99f131acaeb1c28ea37bae295a9e9934bed339508d8428587120c0da8f5bbc7963cdb77741ef789414f9d0d2c1e0da46026336efde147cc5 +build/test/crunch-icon-png-to-all/unvanquished_64.crn a3b526e95f44b6a4c919bc8eb79f4debf592f0bccc163c900cd1b6f9add0ce58c3db9fc8dac1828d350bbcd915823d7743a0c114a533fbc08c163fcb4846d2f5 +build/test/crunch-icon-png-to-all/unvanquished_64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 +build/test/crunch-icon-png-to-all/unvanquished_64.ktx d82eab591163d802231722ef325571735971b6a9b0703ed8ea59b4a4144189825d96d3455605426453fb3ad8d7cc61f931c52b3e73df2bb6787f7408baeb4ac7 +build/test/crunch-icon-png-to-all/unvanquished_64.jpg 6cd22de7e2e5baced5ef16e84f816dde3049f822459d552ced4dcd4e3f9a16be82ee0747ed1479fe8339991176004b4ccc90380b7ef51292c7d9b518503a348d +build/test/crunch-icon-crn-to-all/unvanquished_64.tga 71014682514ec9d2baa19444fd026ceb65aa06e86d32f34b326f336e47cf4ea351aa7c2eee6a1f0fbf290658fae72c24a86c4e167272143012d384dd6d6b1ce9 +build/test/crunch-icon-crn-to-all/unvanquished_64.bmp a6d6886879f9aade027ecb4d55f2092c3af98c297aaf2f689d77a11870156099853a41993575a9a313a23e399b3bcb06dcc0eac46b877639f3875972af7933d7 +build/test/crunch-icon-crn-to-all/unvanquished_64.png dd9d45459bd5a3ed74d494838a3d61ed4baea9960300cb3f1d54ecc923f742c9036fe13a338da6db2efc98049a2e206cb7c0e1cba6d79ea0e3ad86473af13e83 +build/test/crunch-icon-crn-to-all/unvanquished_64.crn 1596d312526073fd8923faefbed879fb1299ee53eeb54787f2b66754768d9a8160d9921b13aa9b7c781eb088be41cec0f3b703713aede43116a2b62f284f39f9 +build/test/crunch-icon-crn-to-all/unvanquished_64.dds 2aae5c5bd8c6a82d1cf3fc9d9da12fe3fc5be8651261ff1cb359e754308fd81e93bf304aeb55ada0bad50794d6e97d3e48084e5a4f48fa7caec4ed954152bae9 +build/test/crunch-icon-crn-to-all/unvanquished_64.ktx 10a45e43609c49b4929b91293e203557d8f5c1b146aa8162d946248e8fa24709e1645ed1fc40c2c1a541567b3d1287c7885cb0185230b660386825c4d03db22f +build/test/crunch-icon-crn-to-all/unvanquished_64.jpg f68e74b3c8a404fc867345411c8778228728897e5d0870e071d6ec67fd1fccb45b3b97993575c3ed66d80cd6a7d60845e8fe68780ac322fe1d46adc57014fa8b +build/test/crunch-icon-dds-to-all/unvanquished_64.tga 46e0c1796f7b1a998829919e14f69cb43d83b895585aca69ad17e0f6cd9839d20b383a6eca161320b87bb7161cbedc116466ec27319078a011b59fe16dc6ce26 +build/test/crunch-icon-dds-to-all/unvanquished_64.bmp 9d1b7c76f345332fa53e9b517ee47ba142d0c9def2b27b908af67b3c19edec0882f183f83eb9022cc2e726082193d7c82394a92b068137a4698a505d8bab0080 +build/test/crunch-icon-dds-to-all/unvanquished_64.png cd5b04f9c081f91a2d3a3fbf4484153feec5f0c027608f48a51209596ff604680ab93de70fbb616dc3fecea3fa6d240ac7a2e294bb0fc8244766375ffae54230 +build/test/crunch-icon-dds-to-all/unvanquished_64.crn 0db1f3bcf6240389be389dc2a94fdabf97aab439d12aabc6cca2ccb69559759fc414d2bc7735d0d4812b895ffb4085172f6a48439a104d79e0b5d65124b1f002 +build/test/crunch-icon-dds-to-all/unvanquished_64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 +build/test/crunch-icon-dds-to-all/unvanquished_64.ktx dbbea021367254587000704d11b5cf7982d3ac4a42edd9489b7b2ec49da796d4346c68c6ee1a163e6880f0efaeafc0235b739c2a4acbd1ed27750657af36e3df +build/test/crunch-icon-dds-to-all/unvanquished_64.jpg 3a2bfcc1f2ecb18371163bb16812096b019fec176731f015a301384d605910702d168f8762076fa5d912760947c8df8d4026fd9b038c0d94360d1bf744f592a2 +build/test/crunch-icon-ktx-to-all/unvanquished_64.tga 516bc1db1bfcda9c7f466cbb6f45b7608d9803391ae6d32e8de30d8e8102ef2de623cf6adfc74d471202ab14930dc4babe93a41b6c35b90e250a0de6b690fe7e +build/test/crunch-icon-ktx-to-all/unvanquished_64.bmp 0493fc75c26629d3a532e68e3778bb25ed6de4d81f3a39eb34a65a1990aa4072aa6b0948dc1ed3122b7ecf45e6be139d05b008ad7277649fc244d039404503fd +build/test/crunch-icon-ktx-to-all/unvanquished_64.png 7b5da6fea08f73d0e06791d000780820574d08e14c00c06ba2ef208296ebcfbc427175d72d6f2797e7240930782c70bf717a1e966fdd9aaada4a8b826ff9a2df +build/test/crunch-icon-ktx-to-all/unvanquished_64.crn 7cb43bf1f8fa87735d7643c3590b52bf918b6e202095787f2305c7469db957185871434b101fb2e2fb7d57e55fc0dc635994b8ed2765edb6b453f10931508f6b +build/test/crunch-icon-ktx-to-all/unvanquished_64.dds b2cecbf2870835ec04a8ed69012d294402017fa565393f8266a6dcc868f9c5b472b8b568c98250b5beb5b0d43ee9d9dc06d04cca4f35073541ba8331d55a6b46 +build/test/crunch-icon-ktx-to-all/unvanquished_64.ktx d82eab591163d802231722ef325571735971b6a9b0703ed8ea59b4a4144189825d96d3455605426453fb3ad8d7cc61f931c52b3e73df2bb6787f7408baeb4ac7 +build/test/crunch-icon-ktx-to-all/unvanquished_64.jpg c350e1e0d90b8d519a0cfdbad85c972a6f6c077988b8e96f5daef415f816b3ace2bb87c79772c6d25954caeb598ef3af7700f0bc10914349161fe1a4cc1f2d73 +build/test/crunch-icon-jpg-to-all/unvanquished_64.tga 4ea9e7b358a01fe1b09e9c16845a0249daddc87010403f33c525cfca69af85cb561019221adc8beae4172908d48a951df2d8bf65d63ae2ee183ee5c6df424c99 +build/test/crunch-icon-jpg-to-all/unvanquished_64.bmp 20636873950cde44336751526644ea6e979b5bdf1f45a166a40b583977a6f6cce6db32ab9b14d66eba1777ab8447fbc926a91b095c27cb4487e04d1f36ed3b0b +build/test/crunch-icon-jpg-to-all/unvanquished_64.png 24124a42c01f243ec2864cc70d399b685183acb04216a0b21133b454f4d69d7606b3190119ff8c869c5dd4a28f77fbc352f3717747e32099f507cc7b790c39e2 +build/test/crunch-icon-jpg-to-all/unvanquished_64.crn f7bf97cafc570eb16335006623b887de1b05591035a20f9399edc2386c59ab43832d4741a3763210c022cb65ee7a0facb29138bb7daf0b71f6b9059c1852c445 +build/test/crunch-icon-jpg-to-all/unvanquished_64.dds c1b3b785d107ba2f18097fb1cf009f598dbda9e797741ed66bd6cf9b1c376447f0990bb3890af12e3c73c4e02410adc0b5be6f386867d8ffc6aded53adb5f309 +build/test/crunch-icon-jpg-to-all/unvanquished_64.ktx 233e5d029b08cc45f8b3e9853edc6dc5dd5cab49cb0f95e870b9b6db917b2ddceaa2756d55aec1785c147375bc7a37030e3a8cde77d364f73d86043e99a7969a +build/test/crunch-icon-jpg-to-all/unvanquished_64.jpg abe6f8c6820c4d0762a00b6ce0789834601d764b1a9a330eeb3b49d5209ee9ca2968e154d53e74912e05a4b99467df1710c12d62354cdfc8d49c9cd315de2b65 +build/test/crunch-icon-tga-to-all/unvanquished_64.tga 34434170b06843b2d4fb5964a4b8751ec3a151a7d03e351e45a5967508f6a21f6e40ffc214bb46640105c4058bc35e196ecb5dd3261528a64acfeff52034fb40 +build/test/crunch-icon-tga-to-all/unvanquished_64.bmp 1c5f28be8151a8125346e9cf17b1bf6e3f9fe27f6947b164b7eefa8fd3732a2e4dff173c354a0cd4ed599cd604d4b8f916c0575b0a4b4b508acc68dc9b4067ae +build/test/crunch-icon-tga-to-all/unvanquished_64.png 71bb28da97cd778b99f131acaeb1c28ea37bae295a9e9934bed339508d8428587120c0da8f5bbc7963cdb77741ef789414f9d0d2c1e0da46026336efde147cc5 +build/test/crunch-icon-tga-to-all/unvanquished_64.crn a3b526e95f44b6a4c919bc8eb79f4debf592f0bccc163c900cd1b6f9add0ce58c3db9fc8dac1828d350bbcd915823d7743a0c114a533fbc08c163fcb4846d2f5 +build/test/crunch-icon-tga-to-all/unvanquished_64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 +build/test/crunch-icon-tga-to-all/unvanquished_64.ktx d82eab591163d802231722ef325571735971b6a9b0703ed8ea59b4a4144189825d96d3455605426453fb3ad8d7cc61f931c52b3e73df2bb6787f7408baeb4ac7 +build/test/crunch-icon-tga-to-all/unvanquished_64.jpg 6cd22de7e2e5baced5ef16e84f816dde3049f822459d552ced4dcd4e3f9a16be82ee0747ed1479fe8339991176004b4ccc90380b7ef51292c7d9b518503a348d +build/test/crunch-icon-bmp-to-all/unvanquished_64.tga 34434170b06843b2d4fb5964a4b8751ec3a151a7d03e351e45a5967508f6a21f6e40ffc214bb46640105c4058bc35e196ecb5dd3261528a64acfeff52034fb40 +build/test/crunch-icon-bmp-to-all/unvanquished_64.bmp 1c5f28be8151a8125346e9cf17b1bf6e3f9fe27f6947b164b7eefa8fd3732a2e4dff173c354a0cd4ed599cd604d4b8f916c0575b0a4b4b508acc68dc9b4067ae +build/test/crunch-icon-bmp-to-all/unvanquished_64.png 71bb28da97cd778b99f131acaeb1c28ea37bae295a9e9934bed339508d8428587120c0da8f5bbc7963cdb77741ef789414f9d0d2c1e0da46026336efde147cc5 +build/test/crunch-icon-bmp-to-all/unvanquished_64.crn a3b526e95f44b6a4c919bc8eb79f4debf592f0bccc163c900cd1b6f9add0ce58c3db9fc8dac1828d350bbcd915823d7743a0c114a533fbc08c163fcb4846d2f5 +build/test/crunch-icon-bmp-to-all/unvanquished_64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 +build/test/crunch-icon-bmp-to-all/unvanquished_64.ktx d82eab591163d802231722ef325571735971b6a9b0703ed8ea59b4a4144189825d96d3455605426453fb3ad8d7cc61f931c52b3e73df2bb6787f7408baeb4ac7 +build/test/crunch-icon-bmp-to-all/unvanquished_64.jpg 6cd22de7e2e5baced5ef16e84f816dde3049f822459d552ced4dcd4e3f9a16be82ee0747ed1479fe8339991176004b4ccc90380b7ef51292c7d9b518503a348d +build/test/crunch-orientation-tga-to-all/sample-flat-bottom-left.tga e66a30ce22d193a2ecfec0fdcccde9579f01b547ea446c0542d155450c63df7bf443e7daf73253b22369af3195987c25336f1505fba86b82ca34f7042c025801 +build/test/crunch-orientation-tga-to-all/sample-flat-bottom-left.bmp de14bb8dd4543d885bf674958753c3b0855bc8143c9e1a22e69404b81118d3fa8c2c24dc46b4ff786f1565f85ef1ae2b49e83000361d8571fcee754069bfd384 +build/test/crunch-orientation-tga-to-all/sample-flat-bottom-left.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 +build/test/crunch-orientation-tga-to-all/sample-flat-bottom-left.crn fcf1da3fc69f6b05935deafacb1c637f44983b9992a7452f8f26a7787d5577c6548986366fae5fd6d300366de4acade853464e7656224b04673a7d129e006854 +build/test/crunch-orientation-tga-to-all/sample-flat-bottom-left.dds 6ca6241445e994cd09c5188789a60d3feff3e9ccb8482e1db2101aca3970675d0dae4049872199cfd2682face71cb38d75d879875408be0afd05f06f5c53f4cb +build/test/crunch-orientation-tga-to-all/sample-flat-bottom-left.ktx 35407f5802cec781737c0ca90600cbf69234e2026cc3efabf4da6dbf2d98f3e7a707e2c02c7fa4858eb79fb4212ac067dad9f30098c9d21c030e7f8e3a4d71be +build/test/crunch-orientation-tga-to-all/sample-flat-bottom-left.jpg 9d28259e5dac8c885737aafa0f29f07cec917698676643c59c8657dc901c338a30fb27385ce70957aeb60178340d19f1b31bdfa9519f0812164f275f89ab4e16 +build/test/crunch-orientation-tga-to-all/sample-flat-bottom-right.tga e66a30ce22d193a2ecfec0fdcccde9579f01b547ea446c0542d155450c63df7bf443e7daf73253b22369af3195987c25336f1505fba86b82ca34f7042c025801 +build/test/crunch-orientation-tga-to-all/sample-flat-bottom-right.bmp de14bb8dd4543d885bf674958753c3b0855bc8143c9e1a22e69404b81118d3fa8c2c24dc46b4ff786f1565f85ef1ae2b49e83000361d8571fcee754069bfd384 +build/test/crunch-orientation-tga-to-all/sample-flat-bottom-right.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 +build/test/crunch-orientation-tga-to-all/sample-flat-bottom-right.crn fcf1da3fc69f6b05935deafacb1c637f44983b9992a7452f8f26a7787d5577c6548986366fae5fd6d300366de4acade853464e7656224b04673a7d129e006854 +build/test/crunch-orientation-tga-to-all/sample-flat-bottom-right.dds 6ca6241445e994cd09c5188789a60d3feff3e9ccb8482e1db2101aca3970675d0dae4049872199cfd2682face71cb38d75d879875408be0afd05f06f5c53f4cb +build/test/crunch-orientation-tga-to-all/sample-flat-bottom-right.ktx 35407f5802cec781737c0ca90600cbf69234e2026cc3efabf4da6dbf2d98f3e7a707e2c02c7fa4858eb79fb4212ac067dad9f30098c9d21c030e7f8e3a4d71be +build/test/crunch-orientation-tga-to-all/sample-flat-bottom-right.jpg 9d28259e5dac8c885737aafa0f29f07cec917698676643c59c8657dc901c338a30fb27385ce70957aeb60178340d19f1b31bdfa9519f0812164f275f89ab4e16 +build/test/crunch-orientation-tga-to-all/sample-flat-top-left.tga e66a30ce22d193a2ecfec0fdcccde9579f01b547ea446c0542d155450c63df7bf443e7daf73253b22369af3195987c25336f1505fba86b82ca34f7042c025801 +build/test/crunch-orientation-tga-to-all/sample-flat-top-left.bmp de14bb8dd4543d885bf674958753c3b0855bc8143c9e1a22e69404b81118d3fa8c2c24dc46b4ff786f1565f85ef1ae2b49e83000361d8571fcee754069bfd384 +build/test/crunch-orientation-tga-to-all/sample-flat-top-left.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 +build/test/crunch-orientation-tga-to-all/sample-flat-top-left.crn fcf1da3fc69f6b05935deafacb1c637f44983b9992a7452f8f26a7787d5577c6548986366fae5fd6d300366de4acade853464e7656224b04673a7d129e006854 +build/test/crunch-orientation-tga-to-all/sample-flat-top-left.dds 6ca6241445e994cd09c5188789a60d3feff3e9ccb8482e1db2101aca3970675d0dae4049872199cfd2682face71cb38d75d879875408be0afd05f06f5c53f4cb +build/test/crunch-orientation-tga-to-all/sample-flat-top-left.ktx 35407f5802cec781737c0ca90600cbf69234e2026cc3efabf4da6dbf2d98f3e7a707e2c02c7fa4858eb79fb4212ac067dad9f30098c9d21c030e7f8e3a4d71be +build/test/crunch-orientation-tga-to-all/sample-flat-top-left.jpg 9d28259e5dac8c885737aafa0f29f07cec917698676643c59c8657dc901c338a30fb27385ce70957aeb60178340d19f1b31bdfa9519f0812164f275f89ab4e16 +build/test/crunch-orientation-tga-to-all/sample-flat-top-right.tga e66a30ce22d193a2ecfec0fdcccde9579f01b547ea446c0542d155450c63df7bf443e7daf73253b22369af3195987c25336f1505fba86b82ca34f7042c025801 +build/test/crunch-orientation-tga-to-all/sample-flat-top-right.bmp de14bb8dd4543d885bf674958753c3b0855bc8143c9e1a22e69404b81118d3fa8c2c24dc46b4ff786f1565f85ef1ae2b49e83000361d8571fcee754069bfd384 +build/test/crunch-orientation-tga-to-all/sample-flat-top-right.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 +build/test/crunch-orientation-tga-to-all/sample-flat-top-right.crn fcf1da3fc69f6b05935deafacb1c637f44983b9992a7452f8f26a7787d5577c6548986366fae5fd6d300366de4acade853464e7656224b04673a7d129e006854 +build/test/crunch-orientation-tga-to-all/sample-flat-top-right.dds 6ca6241445e994cd09c5188789a60d3feff3e9ccb8482e1db2101aca3970675d0dae4049872199cfd2682face71cb38d75d879875408be0afd05f06f5c53f4cb +build/test/crunch-orientation-tga-to-all/sample-flat-top-right.ktx 35407f5802cec781737c0ca90600cbf69234e2026cc3efabf4da6dbf2d98f3e7a707e2c02c7fa4858eb79fb4212ac067dad9f30098c9d21c030e7f8e3a4d71be +build/test/crunch-orientation-tga-to-all/sample-flat-top-right.jpg 9d28259e5dac8c885737aafa0f29f07cec917698676643c59c8657dc901c338a30fb27385ce70957aeb60178340d19f1b31bdfa9519f0812164f275f89ab4e16 +build/test/crunch-orientation-tga-to-all/sample-rle-bottom-left.tga e66a30ce22d193a2ecfec0fdcccde9579f01b547ea446c0542d155450c63df7bf443e7daf73253b22369af3195987c25336f1505fba86b82ca34f7042c025801 +build/test/crunch-orientation-tga-to-all/sample-rle-bottom-left.bmp de14bb8dd4543d885bf674958753c3b0855bc8143c9e1a22e69404b81118d3fa8c2c24dc46b4ff786f1565f85ef1ae2b49e83000361d8571fcee754069bfd384 +build/test/crunch-orientation-tga-to-all/sample-rle-bottom-left.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 +build/test/crunch-orientation-tga-to-all/sample-rle-bottom-left.crn fcf1da3fc69f6b05935deafacb1c637f44983b9992a7452f8f26a7787d5577c6548986366fae5fd6d300366de4acade853464e7656224b04673a7d129e006854 +build/test/crunch-orientation-tga-to-all/sample-rle-bottom-left.dds 6ca6241445e994cd09c5188789a60d3feff3e9ccb8482e1db2101aca3970675d0dae4049872199cfd2682face71cb38d75d879875408be0afd05f06f5c53f4cb +build/test/crunch-orientation-tga-to-all/sample-rle-bottom-left.ktx 35407f5802cec781737c0ca90600cbf69234e2026cc3efabf4da6dbf2d98f3e7a707e2c02c7fa4858eb79fb4212ac067dad9f30098c9d21c030e7f8e3a4d71be +build/test/crunch-orientation-tga-to-all/sample-rle-bottom-left.jpg 9d28259e5dac8c885737aafa0f29f07cec917698676643c59c8657dc901c338a30fb27385ce70957aeb60178340d19f1b31bdfa9519f0812164f275f89ab4e16 +build/test/crunch-orientation-tga-to-all/sample-rle-bottom-right.tga e66a30ce22d193a2ecfec0fdcccde9579f01b547ea446c0542d155450c63df7bf443e7daf73253b22369af3195987c25336f1505fba86b82ca34f7042c025801 +build/test/crunch-orientation-tga-to-all/sample-rle-bottom-right.bmp de14bb8dd4543d885bf674958753c3b0855bc8143c9e1a22e69404b81118d3fa8c2c24dc46b4ff786f1565f85ef1ae2b49e83000361d8571fcee754069bfd384 +build/test/crunch-orientation-tga-to-all/sample-rle-bottom-right.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 +build/test/crunch-orientation-tga-to-all/sample-rle-bottom-right.crn fcf1da3fc69f6b05935deafacb1c637f44983b9992a7452f8f26a7787d5577c6548986366fae5fd6d300366de4acade853464e7656224b04673a7d129e006854 +build/test/crunch-orientation-tga-to-all/sample-rle-bottom-right.dds 6ca6241445e994cd09c5188789a60d3feff3e9ccb8482e1db2101aca3970675d0dae4049872199cfd2682face71cb38d75d879875408be0afd05f06f5c53f4cb +build/test/crunch-orientation-tga-to-all/sample-rle-bottom-right.ktx 35407f5802cec781737c0ca90600cbf69234e2026cc3efabf4da6dbf2d98f3e7a707e2c02c7fa4858eb79fb4212ac067dad9f30098c9d21c030e7f8e3a4d71be +build/test/crunch-orientation-tga-to-all/sample-rle-bottom-right.jpg 9d28259e5dac8c885737aafa0f29f07cec917698676643c59c8657dc901c338a30fb27385ce70957aeb60178340d19f1b31bdfa9519f0812164f275f89ab4e16 +build/test/crunch-orientation-tga-to-all/sample-rle-top-left.tga e66a30ce22d193a2ecfec0fdcccde9579f01b547ea446c0542d155450c63df7bf443e7daf73253b22369af3195987c25336f1505fba86b82ca34f7042c025801 +build/test/crunch-orientation-tga-to-all/sample-rle-top-left.bmp de14bb8dd4543d885bf674958753c3b0855bc8143c9e1a22e69404b81118d3fa8c2c24dc46b4ff786f1565f85ef1ae2b49e83000361d8571fcee754069bfd384 +build/test/crunch-orientation-tga-to-all/sample-rle-top-left.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 +build/test/crunch-orientation-tga-to-all/sample-rle-top-left.crn fcf1da3fc69f6b05935deafacb1c637f44983b9992a7452f8f26a7787d5577c6548986366fae5fd6d300366de4acade853464e7656224b04673a7d129e006854 +build/test/crunch-orientation-tga-to-all/sample-rle-top-left.dds 6ca6241445e994cd09c5188789a60d3feff3e9ccb8482e1db2101aca3970675d0dae4049872199cfd2682face71cb38d75d879875408be0afd05f06f5c53f4cb +build/test/crunch-orientation-tga-to-all/sample-rle-top-left.ktx 35407f5802cec781737c0ca90600cbf69234e2026cc3efabf4da6dbf2d98f3e7a707e2c02c7fa4858eb79fb4212ac067dad9f30098c9d21c030e7f8e3a4d71be +build/test/crunch-orientation-tga-to-all/sample-rle-top-left.jpg 9d28259e5dac8c885737aafa0f29f07cec917698676643c59c8657dc901c338a30fb27385ce70957aeb60178340d19f1b31bdfa9519f0812164f275f89ab4e16 +build/test/crunch-orientation-tga-to-all/sample-rle-top-right.tga e66a30ce22d193a2ecfec0fdcccde9579f01b547ea446c0542d155450c63df7bf443e7daf73253b22369af3195987c25336f1505fba86b82ca34f7042c025801 +build/test/crunch-orientation-tga-to-all/sample-rle-top-right.bmp de14bb8dd4543d885bf674958753c3b0855bc8143c9e1a22e69404b81118d3fa8c2c24dc46b4ff786f1565f85ef1ae2b49e83000361d8571fcee754069bfd384 +build/test/crunch-orientation-tga-to-all/sample-rle-top-right.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 +build/test/crunch-orientation-tga-to-all/sample-rle-top-right.crn fcf1da3fc69f6b05935deafacb1c637f44983b9992a7452f8f26a7787d5577c6548986366fae5fd6d300366de4acade853464e7656224b04673a7d129e006854 +build/test/crunch-orientation-tga-to-all/sample-rle-top-right.dds 6ca6241445e994cd09c5188789a60d3feff3e9ccb8482e1db2101aca3970675d0dae4049872199cfd2682face71cb38d75d879875408be0afd05f06f5c53f4cb +build/test/crunch-orientation-tga-to-all/sample-rle-top-right.ktx 35407f5802cec781737c0ca90600cbf69234e2026cc3efabf4da6dbf2d98f3e7a707e2c02c7fa4858eb79fb4212ac067dad9f30098c9d21c030e7f8e3a4d71be +build/test/crunch-orientation-tga-to-all/sample-rle-top-right.jpg 9d28259e5dac8c885737aafa0f29f07cec917698676643c59c8657dc901c338a30fb27385ce70957aeb60178340d19f1b31bdfa9519f0812164f275f89ab4e16 +build/test/crunch-orientation-bmp-to-all/sample-default.tga b5fd079dc5df3cfa1daee7747c684e096c9f06e6034066840c59f9576ec70773b3d56b86b98bb21e289fe04e98f3182f61b26bc71045ff779fe8dab6c20d336c +build/test/crunch-orientation-bmp-to-all/sample-default.bmp 71417ab4e02059f222780f64572aa3b84c3f9b7b10451a9178c2ef8e32598e6923a4213ce7f67a320ace55b7eaf264cd6f56f54f4ac3ea6cc49608614a7b7155 +build/test/crunch-orientation-bmp-to-all/sample-default.png f93441d7abf885f128eb32df172768138a0ff3b6aa295da9e1e5dd7b1bf6e651fa03cb115d856dc2e4998990f6d7355727b4e2ab8ecaf4019d72a38cffaa9d38 +build/test/crunch-orientation-bmp-to-all/sample-default.crn 119f0f756811e56ba688c402ea317923d9665017aed19022ad19fc8396e45d3ca3bb7b5383f3edc00e859e31558a0865de88af71110529b16b89ded731070925 +build/test/crunch-orientation-bmp-to-all/sample-default.dds 6d8963bd2cac90d0064ec0a392bb5f2223dc9c0e47c47c550ce517eca5115e86b1b7e39b1afd892f16581f6bd3d552bbfb8d55b7077008d7f1c4b102b88f6cb4 +build/test/crunch-orientation-bmp-to-all/sample-default.ktx f4c0b5e52886d982ba8602798d809333c3d80db0df605ea4b65dfaf90ed899cf979dc6f9a25b6e6aa8ae524f36e8dadc8826954906a874c6aa7800596961b19a +build/test/crunch-orientation-bmp-to-all/sample-default.jpg 58da38d118e4d987f0a829e536073095aeef56f8e6e3908793c09496bd9e209e46eea43166ecddd39ff0d479913b0f5d2e481c1c051ad5a53dfd21643e278789 +build/test/crunch-orientation-bmp-to-all/sample-vertical-flip.tga b5fd079dc5df3cfa1daee7747c684e096c9f06e6034066840c59f9576ec70773b3d56b86b98bb21e289fe04e98f3182f61b26bc71045ff779fe8dab6c20d336c +build/test/crunch-orientation-bmp-to-all/sample-vertical-flip.bmp 71417ab4e02059f222780f64572aa3b84c3f9b7b10451a9178c2ef8e32598e6923a4213ce7f67a320ace55b7eaf264cd6f56f54f4ac3ea6cc49608614a7b7155 +build/test/crunch-orientation-bmp-to-all/sample-vertical-flip.png f93441d7abf885f128eb32df172768138a0ff3b6aa295da9e1e5dd7b1bf6e651fa03cb115d856dc2e4998990f6d7355727b4e2ab8ecaf4019d72a38cffaa9d38 +build/test/crunch-orientation-bmp-to-all/sample-vertical-flip.crn 119f0f756811e56ba688c402ea317923d9665017aed19022ad19fc8396e45d3ca3bb7b5383f3edc00e859e31558a0865de88af71110529b16b89ded731070925 +build/test/crunch-orientation-bmp-to-all/sample-vertical-flip.dds 6d8963bd2cac90d0064ec0a392bb5f2223dc9c0e47c47c550ce517eca5115e86b1b7e39b1afd892f16581f6bd3d552bbfb8d55b7077008d7f1c4b102b88f6cb4 +build/test/crunch-orientation-bmp-to-all/sample-vertical-flip.ktx f4c0b5e52886d982ba8602798d809333c3d80db0df605ea4b65dfaf90ed899cf979dc6f9a25b6e6aa8ae524f36e8dadc8826954906a874c6aa7800596961b19a +build/test/crunch-orientation-bmp-to-all/sample-vertical-flip.jpg 58da38d118e4d987f0a829e536073095aeef56f8e6e3908793c09496bd9e209e46eea43166ecddd39ff0d479913b0f5d2e481c1c051ad5a53dfd21643e278789 +build/test/crunch-transparency-png-to-all/sample-colormap1-alpha1.tga 932155fd73b34968f542818c4c679d321fa0764764b79672c1338bb8b7a16a480ed7af63441684aaab3262898458dfd28bae196122c3ea1c4a9fa69ecafb39ab +build/test/crunch-transparency-png-to-all/sample-colormap1-alpha1.bmp 7db050cc460a231e20b75f59b78955a440774ddab23e087b7a89d92e069b1e71581afa417b9718d92c52fd26d93a3fad924cfbea6856465d0ae762f720cc2778 +build/test/crunch-transparency-png-to-all/sample-colormap1-alpha1.png f596534970da37597230ae60112a4fe4d08d950e03b99754a633d9d285f4683624b1f710727d6b3e556b80b9d44428bfa297dc898beaf6fecad29fe98bbc98cb +build/test/crunch-transparency-png-to-all/sample-colormap1-alpha1.crn f223d84528a0470cedeaf014c85f78ed16e1cc0f8990324fdbc087b190b6f972d1db6d829881c1414c5bd37b04c26794e7aa59b0d5b6eb535dae766a0c1d4ee9 +build/test/crunch-transparency-png-to-all/sample-colormap1-alpha1.dds d2d7c95ea07f121086c19476732a96ef4b586a953640b69216abfa38001b7e5e224186f4f69c054501f9050d3bb4ee9eb0a82af833f93b67d200eb33bea52747 +build/test/crunch-transparency-png-to-all/sample-colormap1-alpha1.ktx a3b1337e5594160aa37697343fb9790e18ec484473bfc98d7f08de261f80add3387e6b5e6823637c6d57d7470653a689596b4b2df30584b38df31f48e8f8f6ad +build/test/crunch-transparency-png-to-all/sample-colormap1-alpha1.jpg 1ba300cc42e403c0e4cdd592f519e42ee9ddb923d74085901e20c2d922dfff4f434f7d1ddc279710368d7b2eecfbb48e34f277031a069b2cdabf621582fe3e47 +build/test/crunch-transparency-png-to-all/sample-colormap2-alpha1.tga 4c1bdcb94e0d1ebe01eb36816f9480b5b69be10aec5d7705a70f8b336b1cc7341fb4050df5a09b642247df37c0ac6262c60e4812ab308cb3c908301ed9d53423 +build/test/crunch-transparency-png-to-all/sample-colormap2-alpha1.bmp a0960fe49de42e991aad3145dfcffdb3f1b57435e373b2bb130101418c690b43dd0cb69e75ec6cf34efa09a88b002cb38eba6cef9652911bdd64ab94f7da9f93 +build/test/crunch-transparency-png-to-all/sample-colormap2-alpha1.png 2ffd5907e77157dfaac01c786b5150dcf822699254bebdd51ef1797568208ae924a572d90bc3ed3a06cc5e524c4c0d5a3de7aa75ae99febc4638533e41a6dda0 +build/test/crunch-transparency-png-to-all/sample-colormap2-alpha1.crn 91b8372d3f16a0d198ac557b15cbafff4c3d456108dd4bee66902a20593a3ea2735ca2f052d3f6ca62cc31335e5a24f6f995116802ab46e3ded534168ba4fea3 +build/test/crunch-transparency-png-to-all/sample-colormap2-alpha1.dds 7c991556ed3f6941f01b89b9f12c8f1c43f3b5d5b3db63d4fb65f073a69171b1eb45fd234d0393c8e89d5079526a1d7f0193a83d0ed12acaf2a6cb94a5c484a2 +build/test/crunch-transparency-png-to-all/sample-colormap2-alpha1.ktx 34ace365deb46c60f1d79fff10df61d0d2dbd4b5037fdda588e8b97d473e8ce51bda4cb25c97f1fb3cf496fa880a7d248ab0e5e9cff36b4127a5c1931b336dca +build/test/crunch-transparency-png-to-all/sample-colormap2-alpha1.jpg aa024ee706ec98f1bf7719e7481e23469b9fa610ff5f4ebdd5f45aabc78a45622e1ae16dfedc99fbc4d3963bb0f7118e4db9a6846a6e42e48af9e66502712d73 +build/test/crunch-transparency-png-to-all/sample-colormap4-alpha1.tga a3ab8e60f42750b8c061178f0846eeafd0af96880eb83250d7bf947dbd276dd8df75a0650ca2fc059f61467c0e0e06ba81e8afa6311dba2fb0ce680e169b4a83 +build/test/crunch-transparency-png-to-all/sample-colormap4-alpha1.bmp 80099312bd118e993972857acf32c32e2c055df5dfbec1965497a949b4e2401cce6a280d852298a7c38c6fbf9061b69d324bed5fc9da40679982e06f34859bdb +build/test/crunch-transparency-png-to-all/sample-colormap4-alpha1.png f8cd5a9b1ae040baee41a7f378e18bba426f79532555e22fe2f8c605a8347d79e7b98bb8284130536512b187f9d8435d58665eddb8d36596296f84f05ee904ae +build/test/crunch-transparency-png-to-all/sample-colormap4-alpha1.crn 75c03a7c9181aa74a32040f9bea4e13317b342f1ce8c41e3a52ff8784f6cc28de08b4c002e089470873bbdd555d87a9c09c8a649c5ab4cda6614cf2f0cbf73e9 +build/test/crunch-transparency-png-to-all/sample-colormap4-alpha1.dds b9ae2d55da6825fd0002dfb61ee934222f0005eeeafd9d892eb3a1ddd9599efd47925e3643f300b4ed0e62d33c8b2aa1606b0535e5bca9f7b76499447c93ccf9 +build/test/crunch-transparency-png-to-all/sample-colormap4-alpha1.ktx bed25de7c316379b28f1f41a47fc24c9d0f4c94e249f81b6345bc9c88a7b1d17b6fbd35b137d9efd3b2d34a2f66ff618c1c6a2e5b6bb4109fedd2b6d592ae1b3 +build/test/crunch-transparency-png-to-all/sample-colormap4-alpha1.jpg 6380138a3cd469971ceb00929d1cd1e5900c329c2da1d29d803633b6fcaa51258a9c8e7bc03b83590900f815678f4492a7f164ebf4c1aefa9f19e1b520d37b94 +build/test/crunch-transparency-png-to-all/sample-colormap8-alpha1.tga c1b890279c82014698326f69217d8b8a4510004aa606c6a22e5771f7a69356df922d1cc9149051bb165a6105245f3188e1dcf8e33f0abd7f47873a9fb2cbb4c8 +build/test/crunch-transparency-png-to-all/sample-colormap8-alpha1.bmp 3db394014ea38ca015f87cadfd6158ce801645cd4dcecb76f3662e8334ae47824ff8d53bf8d887d225bc8ebb7d25311eb7607964270fd1867cdfc955e51bcef1 +build/test/crunch-transparency-png-to-all/sample-colormap8-alpha1.png 3561be7b7958d37913708664413c149942f302907bf5f928782c7cf6cc4b312082f51fea6d8a3271b93bd37ace03ec22af65c224d6e7617ed8644fbe2f95dc35 +build/test/crunch-transparency-png-to-all/sample-colormap8-alpha1.crn b9ca0def9743aa4790d12de2faa9ce0bc355c916af8c0c4440e9a87a20c482feb563222b364a20ee7f70abff97e7d6312d679700b64704c2783d03b8cd9a757b +build/test/crunch-transparency-png-to-all/sample-colormap8-alpha1.dds 7c519e4978e76c8857cb707d245cf9414581a772a6fb94b48c7b4374557a0ec568aa88a1e8a3b4e60d0a17023d1c51d94b84d0927185f44c049630a21fae6061 +build/test/crunch-transparency-png-to-all/sample-colormap8-alpha1.ktx ddc05a0f9819fd24c9da214bc2685b93c7750e833554dbadf8e9a60b45a305fa3c1d9b27bbeab1d5fa8ad0e9cf2bf36d1ea21ae1678bfea1b7511f59398c2107 +build/test/crunch-transparency-png-to-all/sample-colormap8-alpha1.jpg eb96d34274e3759ac89dcce8258447e45edeea8fd041774fb459cad1e0849bdaa666b7af7e9275c7e78d75d06fc79ba151b1d34e4058c3c07f3d901a05c6764d +build/test/crunch-transparency-png-to-all/sample-grayscale1-alpha1.tga 6dbaf3445af50095fcf2a0eb13dfff5fe9803b019d627b718258e286316784318e0c915ac4494b6beb0feacb3c80c66bbb589b0f8e0893406cef0fdd2ab9c95d +build/test/crunch-transparency-png-to-all/sample-grayscale1-alpha1.bmp a79d1e3b85544669f1fa787bfd2d54e073efbece9d310027c958b922be3bc98f8b6d2561d722456a98af594e63d318cf18368d2421863f658941b4f38bc2fc59 +build/test/crunch-transparency-png-to-all/sample-grayscale1-alpha1.png 57876e1d84ada2604c5e2dbbfd08c19286c87c8f1843cf47a9b77b4f6561c3b414a269f924c2be74bba4662503ede0fd9d94cb0a084c35a9f63a3cce07dcb876 +build/test/crunch-transparency-png-to-all/sample-grayscale1-alpha1.crn 3a9175379f9512c74675a6d573bccdb0426d70e0ff9d63dacaa83e2c1f857dda14df93732a5776ef3625bdcf17d3ec51788623bb85e46c70a56bb306fd563b05 +build/test/crunch-transparency-png-to-all/sample-grayscale1-alpha1.dds 0b63952accdbbd548aa7acb558b3536edcd5f59c2e5e4364fa1d8d6c72679e83c214f4e44632226404bf757c0710da62829398d20b6b424987c7def7a7bbffc4 +build/test/crunch-transparency-png-to-all/sample-grayscale1-alpha1.ktx b4f70222f8e66afaa556c6069baec99a67ff45aa3e61d02a2c1500dbca8dee92dcb0676b06c826d6675960074f56befc7d76d95626bf8bb53eb05ba62847d728 +build/test/crunch-transparency-png-to-all/sample-grayscale1-alpha1.jpg c3f6c63fd91f7980aa61c3917da4c4163ebc904ae498ecb97d1d86637e59678ab5ed82a1ca453a436cce12d0ae9422e1a6f138aef81682646e7dede8474e50b0 +build/test/crunch-transparency-png-to-all/sample-grayscale1-alpha8.tga db24937111005b5940cf37eab680dc06f999f8e6384524978b16305f5800be59f70293c55f2f742f3e0f6e5f9d175e395b9099f1e9ae7472d802a5ef413a36f0 +build/test/crunch-transparency-png-to-all/sample-grayscale1-alpha8.bmp 8b6fac1bdd631d260d5081d546ce5ed2debf04e7539c13389e30fccf8240ea67783a63304adcec9ce0fa1cab7e820072a1f0ea71733d45ded2b14284fda166e5 +build/test/crunch-transparency-png-to-all/sample-grayscale1-alpha8.png 62ba2ca3669febcb88959224732c295d891f10942dcddf2494c052886c4f502b0e30c1238d05196ce8113c2c150fa4d96fc81436af5ad6a28f7b8a64a77bbe7f +build/test/crunch-transparency-png-to-all/sample-grayscale1-alpha8.crn 2660ab64afdb6eb70fdb131ef9927fc0b21bca021694bb4b8220451a9e0d5195306ef08d022ec7fb3b6535eed56efbe093e1108a116fdca81c5ce5a0c6e1da01 +build/test/crunch-transparency-png-to-all/sample-grayscale1-alpha8.dds d1f95a45c08f56e13d5be3b74c490a812e581511f91451e5ff35ba194c65689f966d271a215b9d79ca9a2d1693f6573697e11c689fcf1aced3ba891d6f039845 +build/test/crunch-transparency-png-to-all/sample-grayscale1-alpha8.ktx 18782f062b0a14658d46b00db7aae70972ed25095de6361b097b6a7632c54ebb722e9409fe40f7474627ef81b0cada7b8df529903b8d4139902287bfd75b6449 +build/test/crunch-transparency-png-to-all/sample-grayscale1-alpha8.jpg 11271dc24620d0cb27cc68ec2a79c293b426666de2d29cb6c590ccd4839ed72d5e39cb40aed77cc8b9bc8dac8157cb61877620a34975ee0f4eccac9215f5e795 +build/test/crunch-transparency-png-to-all/sample-grayscale8-alpha1.tga db24937111005b5940cf37eab680dc06f999f8e6384524978b16305f5800be59f70293c55f2f742f3e0f6e5f9d175e395b9099f1e9ae7472d802a5ef413a36f0 +build/test/crunch-transparency-png-to-all/sample-grayscale8-alpha1.bmp 8b6fac1bdd631d260d5081d546ce5ed2debf04e7539c13389e30fccf8240ea67783a63304adcec9ce0fa1cab7e820072a1f0ea71733d45ded2b14284fda166e5 +build/test/crunch-transparency-png-to-all/sample-grayscale8-alpha1.png 62ba2ca3669febcb88959224732c295d891f10942dcddf2494c052886c4f502b0e30c1238d05196ce8113c2c150fa4d96fc81436af5ad6a28f7b8a64a77bbe7f +build/test/crunch-transparency-png-to-all/sample-grayscale8-alpha1.crn 0e0dd5cf4f613eae1a5638060e6fbdcc1b8438e1c22ab27785a30efa8f0b20458e9b28b3da09b87d6bb9cab16f101908c64d74ab8247bef032de09449b380a77 +build/test/crunch-transparency-png-to-all/sample-grayscale8-alpha1.dds fd987ac10046b6385ffd64e414409056fa2653f4132db6df915d17132b50cac0282754a77583ac8e66c4ad304faf5d1bce926338f3d7af1e77f0320054b871be +build/test/crunch-transparency-png-to-all/sample-grayscale8-alpha1.ktx c9cc0f13cdb1a4328fcbdd6661e209341f670af197a2832a4e84fdca86ce915f1fe67ebaf094a132e81e53af6c63e9d3a160aca704cea884b55a3d8e58592b8f +build/test/crunch-transparency-png-to-all/sample-grayscale8-alpha1.jpg 11271dc24620d0cb27cc68ec2a79c293b426666de2d29cb6c590ccd4839ed72d5e39cb40aed77cc8b9bc8dac8157cb61877620a34975ee0f4eccac9215f5e795 +build/test/crunch-transparency-png-to-all/sample-rgb8-alpha8.tga ea1e362af5aad35a7a174882d3bb76394c53d71e0727c583a04e5e0661d70258e5eff6599926644242c6013d9edf7e91c0183c6c04dcf895f5cce559ad502dbc +build/test/crunch-transparency-png-to-all/sample-rgb8-alpha8.bmp 0526421d70ff175ebaa7f3dd20a833c6b51de6418749e0a6948d72e5812210d15d4a1e704bcc91006254d93d58e873042cdb9f886fa0506566dd81753db8e434 +build/test/crunch-transparency-png-to-all/sample-rgb8-alpha8.png 21630317b2ed9957241f4982c4e8207f7a00af23e0dd5df863965dbca9dcefd9a3c4f77b15ea91141c6c35181e44801ff1b5d0a7ed62f0c11eddfdaf7122b1a9 +build/test/crunch-transparency-png-to-all/sample-rgb8-alpha8.crn 70aa2d510a77ef971cbc91c8eea5cc1c0d571722f3cd7eb5cf9e3b825987b87eb7653b0bfceee733f2a54d5fa9ce452df64ab441e64f327b78b492fd57c461a9 +build/test/crunch-transparency-png-to-all/sample-rgb8-alpha8.dds 7ece974283299125d0578318fd9851286a731d7bd1fe8c33bfa5e40c17f8b7d23b0b445ca676a30a438dc38be53491b52dea60711fb4a260b1b9180447c96e3f +build/test/crunch-transparency-png-to-all/sample-rgb8-alpha8.ktx 3e560a2f4ae02ccb133b36ccecd3c6fe4f55c6374efbe8e14e58feda68939b880619f99320b4d793a0b4b025d60e3ab48d7a178e014e2909d23ef25102135294 +build/test/crunch-transparency-png-to-all/sample-rgb8-alpha8.jpg 5aa5fcb7124b2ff68169876350c7eba0b0e7e5d3a08b20cae775a2659c6f43ca35ae51121d14ab1cda9c2f1e77bfdd4694617e39e503a08239e0bc28e6b269f0 +build/test/crunch-format-jpg-to-all/sample-black.tga b316dd329ec0f0b80871a48f0eea486170671a9185bdf29da24745d46a3f08b9924e8ac306249e11f0e5ab4ffa973042f43d8d8890d8b394a77e2f88db61aa15 +build/test/crunch-format-jpg-to-all/sample-black.bmp 90fee6aca288530f2687facdbcf6392c40cc44515ab1eb41bb1076df7fc1564223e61af361d8d874ab677fa8fbfa8533be67b27737b2407d963bdb6b79aadca4 +build/test/crunch-format-jpg-to-all/sample-black.png 6bafef5b5826471257e36159fa27d812c9c12c76e1fa57d06b3549250c7b3bbac5138441c81b75d6ecb81f57780a3bf1545aa9ef255a13a1ec08be7f92182de7 +build/test/crunch-format-jpg-to-all/sample-black.crn 19fb840c8dbb7da96400af5af1c45fe48c7c7e19340d03fbe5a2af28ceecfb9efba26fe6c1bf46bd76164ecb0efe91cc9237917e8e431cd8365f80e9ffacc906 +build/test/crunch-format-jpg-to-all/sample-black.dds cadaf30985bb62b98cd601793d6440c70fa32e24459b780e043576d70817e2d4131f8902c703aa48cb7014b6e07f729e33ed9d989b0db0535261a2c6808805c2 +build/test/crunch-format-jpg-to-all/sample-black.ktx 00e261c23642594e12152e7a0f8ad56a3ed87526bb18ee2e5e0f65f1ce21bfc288bd4e6043807a7fa642f7130645025d3e621e8731bc4304e665c46a975f1c6a +build/test/crunch-format-jpg-to-all/sample-black.jpg 4e080976a21bf93553425038f152934dbb292937e8fefaa7f9bd876b551e03d4778b54c41e64f470acabea03ff8e7ad3325daf790df1b7b9042930f48a00591a +build/test/example1-icon-png-to-dds/unvanquished_64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 +build/test/example1-icon-png-to-crn/unvanquished_64.crn a3b526e95f44b6a4c919bc8eb79f4debf592f0bccc163c900cd1b6f9add0ce58c3db9fc8dac1828d350bbcd915823d7743a0c114a533fbc08c163fcb4846d2f5 +build/test/example1-icon-crn-to-dds/unvanquished_64.dds 2aae5c5bd8c6a82d1cf3fc9d9da12fe3fc5be8651261ff1cb359e754308fd81e93bf304aeb55ada0bad50794d6e97d3e48084e5a4f48fa7caec4ed954152bae9 +build/test/example2-icon-crn-to-dds/unvanquished_64.dds 2aae5c5bd8c6a82d1cf3fc9d9da12fe3fc5be8651261ff1cb359e754308fd81e93bf304aeb55ada0bad50794d6e97d3e48084e5a4f48fa7caec4ed954152bae9 +build/test/example3-icon-png-to-dds/unvanquished_64.dds a719dd943bc4e30be0c124e6bafb1d8ba4002b9233e6208104f93046edd4ddd7aea7815430ae2c0b7efe259943f6a8fe109f56ea457e43cde79295ae7ac85b43 diff --git a/test/black.jpg b/test/sample-black.jpg similarity index 100% rename from test/black.jpg rename to test/sample-black.jpg diff --git a/test/test-colormap1-alpha1.png b/test/sample-colormap1-alpha1.png similarity index 100% rename from test/test-colormap1-alpha1.png rename to test/sample-colormap1-alpha1.png diff --git a/test/test-colormap2-alpha1.png b/test/sample-colormap2-alpha1.png similarity index 100% rename from test/test-colormap2-alpha1.png rename to test/sample-colormap2-alpha1.png diff --git a/test/test-colormap4-alpha1.png b/test/sample-colormap4-alpha1.png similarity index 100% rename from test/test-colormap4-alpha1.png rename to test/sample-colormap4-alpha1.png diff --git a/test/test-colormap8-alpha1.png b/test/sample-colormap8-alpha1.png similarity index 100% rename from test/test-colormap8-alpha1.png rename to test/sample-colormap8-alpha1.png diff --git a/test/raw-bottom-left.tga b/test/sample-flat-bottom-left.tga similarity index 100% rename from test/raw-bottom-left.tga rename to test/sample-flat-bottom-left.tga diff --git a/test/raw-bottom-right.tga b/test/sample-flat-bottom-right.tga similarity index 100% rename from test/raw-bottom-right.tga rename to test/sample-flat-bottom-right.tga diff --git a/test/raw-top-left.tga b/test/sample-flat-top-left.tga similarity index 100% rename from test/raw-top-left.tga rename to test/sample-flat-top-left.tga diff --git a/test/raw-top-right.tga b/test/sample-flat-top-right.tga similarity index 100% rename from test/raw-top-right.tga rename to test/sample-flat-top-right.tga diff --git a/test/test-grayscale1-alpha1.png b/test/sample-grayscale1-alpha1.png similarity index 100% rename from test/test-grayscale1-alpha1.png rename to test/sample-grayscale1-alpha1.png diff --git a/test/test-grayscale1-alpha8.png b/test/sample-grayscale1-alpha8.png similarity index 100% rename from test/test-grayscale1-alpha8.png rename to test/sample-grayscale1-alpha8.png diff --git a/test/test-grayscale8-alpha1.png b/test/sample-grayscale8-alpha1.png similarity index 100% rename from test/test-grayscale8-alpha1.png rename to test/sample-grayscale8-alpha1.png diff --git a/test/test-rgb8-alpha8.png b/test/sample-rgb8-alpha8.png similarity index 100% rename from test/test-rgb8-alpha8.png rename to test/sample-rgb8-alpha8.png diff --git a/test/rle-bottom-left.tga b/test/sample-rle-bottom-left.tga similarity index 100% rename from test/rle-bottom-left.tga rename to test/sample-rle-bottom-left.tga diff --git a/test/rle-bottom-right.tga b/test/sample-rle-bottom-right.tga similarity index 100% rename from test/rle-bottom-right.tga rename to test/sample-rle-bottom-right.tga diff --git a/test/rle-top-left.tga b/test/sample-rle-top-left.tga similarity index 100% rename from test/rle-top-left.tga rename to test/sample-rle-top-left.tga diff --git a/test/rle-top-right.tga b/test/sample-rle-top-right.tga similarity index 100% rename from test/rle-top-right.tga rename to test/sample-rle-top-right.tga diff --git a/test/test.py b/test/test.py index 545b1c45..ef4a1b12 100755 --- a/test/test.py +++ b/test/test.py @@ -315,129 +315,123 @@ def start_from(items, value): lossy_format_list, ) -mkdir("build/test/png-to-all") -crunch("test/unvanquished_64.png", "build/test/png-to-all/unvanquished_64.tga", clone="tga") -crunch("test/unvanquished_64.png", "build/test/png-to-all/unvanquished_64.bmp", clone="bmp") -crunch("test/unvanquished_64.png", "build/test/png-to-all/unvanquished_64.png", clone="png") -crunch("test/unvanquished_64.png", "build/test/png-to-all/unvanquished_64.crn", clone="crn") -crunch("test/unvanquished_64.png", "build/test/png-to-all/unvanquished_64.dds", clone="dds") -crunch("test/unvanquished_64.png", "build/test/png-to-all/unvanquished_64.ktx", clone="ktx") -crunch("test/unvanquished_64.png", "build/test/png-to-all/unvanquished_64.jpg", clone="jpg") - -mkdir("build/test/tga-to-all") -crunch("build/test/png-to-all/unvanquished_64.tga", "build/test/tga-to-all/unvanquished_64.tga", clone="tga") -crunch("build/test/png-to-all/unvanquished_64.tga", "build/test/tga-to-all/unvanquished_64.bmp", clone="bmp") -crunch("build/test/png-to-all/unvanquished_64.tga", "build/test/tga-to-all/unvanquished_64.png", clone="png") -crunch("build/test/png-to-all/unvanquished_64.tga", "build/test/tga-to-all/unvanquished_64.crn", clone="crn") -crunch("build/test/png-to-all/unvanquished_64.tga", "build/test/tga-to-all/unvanquished_64.dds", clone="dds") -crunch("build/test/png-to-all/unvanquished_64.tga", "build/test/tga-to-all/unvanquished_64.ktx", clone="ktx") -crunch("build/test/png-to-all/unvanquished_64.tga", "build/test/tga-to-all/unvanquished_64.jpg", clone="jpg") - -mkdir("build/test/bmp-to-all") -crunch("build/test/png-to-all/unvanquished_64.bmp", "build/test/bmp-to-all/unvanquished_64.tga", clone="tga") -crunch("build/test/png-to-all/unvanquished_64.bmp", "build/test/bmp-to-all/unvanquished_64.bmp", clone="bmp") -crunch("build/test/png-to-all/unvanquished_64.bmp", "build/test/bmp-to-all/unvanquished_64.png", clone="png") -crunch("build/test/png-to-all/unvanquished_64.bmp", "build/test/bmp-to-all/unvanquished_64.crn", clone="crn") -crunch("build/test/png-to-all/unvanquished_64.bmp", "build/test/bmp-to-all/unvanquished_64.dds", clone="dds") -crunch("build/test/png-to-all/unvanquished_64.bmp", "build/test/bmp-to-all/unvanquished_64.ktx", clone="ktx") -crunch("build/test/png-to-all/unvanquished_64.bmp", "build/test/bmp-to-all/unvanquished_64.jpg", clone="jpg") - -mkdir("build/test/crn-to-all") -crunch("build/test/png-to-all/unvanquished_64.crn", "build/test/crn-to-all/unvanquished_64.tga") -crunch("build/test/png-to-all/unvanquished_64.crn", "build/test/crn-to-all/unvanquished_64.bmp") -crunch("build/test/png-to-all/unvanquished_64.crn", "build/test/crn-to-all/unvanquished_64.png") -crunch("build/test/png-to-all/unvanquished_64.crn", "build/test/crn-to-all/unvanquished_64.crn") -crunch("build/test/png-to-all/unvanquished_64.crn", "build/test/crn-to-all/unvanquished_64.dds", clone="crn_dds") -crunch("build/test/png-to-all/unvanquished_64.crn", "build/test/crn-to-all/unvanquished_64.ktx") -crunch("build/test/png-to-all/unvanquished_64.crn", "build/test/crn-to-all/unvanquished_64.jpg") - -mkdir("build/test/dds-to-all") -crunch("build/test/png-to-all/unvanquished_64.dds", "build/test/dds-to-all/unvanquished_64.tga") -crunch("build/test/png-to-all/unvanquished_64.dds", "build/test/dds-to-all/unvanquished_64.bmp") -crunch("build/test/png-to-all/unvanquished_64.dds", "build/test/dds-to-all/unvanquished_64.png") -crunch("build/test/png-to-all/unvanquished_64.dds", "build/test/dds-to-all/unvanquished_64.crn") -crunch("build/test/png-to-all/unvanquished_64.dds", "build/test/dds-to-all/unvanquished_64.dds", clone="dds") -crunch("build/test/png-to-all/unvanquished_64.dds", "build/test/dds-to-all/unvanquished_64.ktx") -crunch("build/test/png-to-all/unvanquished_64.dds", "build/test/dds-to-all/unvanquished_64.jpg") - -mkdir("build/test/ktx-to-all") -crunch("build/test/png-to-all/unvanquished_64.ktx", "build/test/ktx-to-all/unvanquished_64.tga") -crunch("build/test/png-to-all/unvanquished_64.ktx", "build/test/ktx-to-all/unvanquished_64.bmp") -crunch("build/test/png-to-all/unvanquished_64.ktx", "build/test/ktx-to-all/unvanquished_64.png") -crunch("build/test/png-to-all/unvanquished_64.ktx", "build/test/ktx-to-all/unvanquished_64.crn") -crunch("build/test/png-to-all/unvanquished_64.ktx", "build/test/ktx-to-all/unvanquished_64.dds") -crunch("build/test/png-to-all/unvanquished_64.ktx", "build/test/ktx-to-all/unvanquished_64.ktx") -crunch("build/test/png-to-all/unvanquished_64.ktx", "build/test/ktx-to-all/unvanquished_64.jpg") - -mkdir("build/test/jpg-to-all") -crunch("build/test/png-to-all/unvanquished_64.jpg", "build/test/jpg-to-all/unvanquished_64.tga") -crunch("build/test/png-to-all/unvanquished_64.jpg", "build/test/jpg-to-all/unvanquished_64.bmp") -crunch("build/test/png-to-all/unvanquished_64.jpg", "build/test/jpg-to-all/unvanquished_64.png") -crunch("build/test/png-to-all/unvanquished_64.jpg", "build/test/jpg-to-all/unvanquished_64.crn") -crunch("build/test/png-to-all/unvanquished_64.jpg", "build/test/jpg-to-all/unvanquished_64.dds") -crunch("build/test/png-to-all/unvanquished_64.jpg", "build/test/jpg-to-all/unvanquished_64.ktx") -crunch("build/test/png-to-all/unvanquished_64.jpg", "build/test/jpg-to-all/unvanquished_64.jpg") - -mkdir("build/test/tga-to-png") -crunch("test/raw-bottom-left.tga", "build/test/tga-to-png/raw-bottom-left.png", clone="tga_png") -crunch("test/raw-bottom-right.tga", "build/test/tga-to-png/raw-bottom-right.png", clone="tga_png") -crunch("test/raw-top-left.tga", "build/test/tga-to-png/raw-top-left.png", clone="tga_png") -crunch("test/raw-top-right.tga", "build/test/tga-to-png/raw-top-right.png", clone="tga_png") -crunch("test/rle-bottom-left.tga", "build/test/tga-to-png/rle-bottom-left.png", clone="tga_png") -crunch("test/rle-bottom-right.tga", "build/test/tga-to-png/rle-bottom-right.png", clone="tga_png") -crunch("test/rle-top-left.tga", "build/test/tga-to-png/rle-top-left.png", clone="tga_png") -crunch("test/rle-top-right.tga", "build/test/tga-to-png/rle-top-right.png", clone="tga_png") - -mkdir("build/test/tga-to-crn") -crunch("test/raw-bottom-left.tga", "build/test/tga-to-crn/raw-bottom-left.crn", clone="tga_crn") -crunch("test/raw-bottom-right.tga", "build/test/tga-to-crn/raw-bottom-right.crn", clone="tga_crn") -crunch("test/raw-top-left.tga", "build/test/tga-to-crn/raw-top-left.crn", clone="tga_crn") -crunch("test/raw-top-right.tga", "build/test/tga-to-crn/raw-top-right.crn", clone="tga_crn") -crunch("test/rle-bottom-left.tga", "build/test/tga-to-crn/rle-bottom-left.crn", clone="tga_crn") -crunch("test/rle-bottom-right.tga", "build/test/tga-to-crn/rle-bottom-right.crn", clone="tga_crn") -crunch("test/rle-top-left.tga", "build/test/tga-to-crn/rle-top-left.crn", clone="tga_crn") -crunch("test/rle-top-right.tga", "build/test/tga-to-crn/rle-top-right.crn", clone="tga_crn") - -mkdir("build/test/png-to-png") -crunch("test/test-colormap1-alpha1.png", "build/test/png-to-png/test-colormap1-alpha1.png") -crunch("test/test-colormap2-alpha1.png", "build/test/png-to-png/test-colormap2-alpha1.png") -crunch("test/test-colormap4-alpha1.png", "build/test/png-to-png/test-colormap4-alpha1.png") -crunch("test/test-colormap8-alpha1.png", "build/test/png-to-png/test-colormap8-alpha1.png") -crunch("test/test-grayscale1-alpha1.png", "build/test/png-to-png/test-grayscale1-alpha1.png") -crunch("test/test-grayscale1-alpha8.png", "build/test/png-to-png/test-grayscale1-alpha8.png") -crunch("test/test-grayscale8-alpha1.png", "build/test/png-to-png/test-grayscale8-alpha1.png") -crunch("test/test-rgb8-alpha8.png", "build/test/png-to-png/test-rgb8-alpha8.png") - -mkdir("build/test/png-to-crn") -crunch("test/test-colormap1-alpha1.png", "build/test/png-to-crn/test-colormap1-alpha1.crn") -crunch("test/test-colormap2-alpha1.png", "build/test/png-to-crn/test-colormap2-alpha1.crn") -crunch("test/test-colormap4-alpha1.png", "build/test/png-to-crn/test-colormap4-alpha1.crn") -crunch("test/test-colormap8-alpha1.png", "build/test/png-to-crn/test-colormap8-alpha1.crn") -crunch("test/test-grayscale1-alpha1.png", "build/test/png-to-crn/test-grayscale1-alpha1.crn") -crunch("test/test-grayscale1-alpha8.png", "build/test/png-to-crn/test-grayscale1-alpha8.crn") -crunch("test/test-grayscale8-alpha1.png", "build/test/png-to-crn/test-grayscale8-alpha1.crn") -crunch("test/test-rgb8-alpha8.png", "build/test/png-to-crn/test-rgb8-alpha8.crn") - -mkdir("build/test/bmp-to-crn") -crunch("test/sample-default.bmp", "build/test/bmp-to-crn/sample-default.crn", "bmp_crn") -crunch("test/sample-vertical-flip.bmp", "build/test/bmp-to-crn/sample-vertical-flip.crn", "bmp_crn") - -mkdir("build/test/jpg-to-crn") -crunch("test/black.jpg", "build/test/jpg-to-crn/black.crn") - -mkdir("build/test/example1-dds") +for in_format in start_from(all_format_list, "png"): + if in_format == "png": + in_dir = "test" + else: + in_dir = "build/test/crunch-icon-png-to-all" + + out_dir = f"build/test/crunch-icon-{in_format}-to-all" + + mkdir(out_dir) + + for out_format in all_format_list: + sample_name = "unvanquished_64" + + in_path = f"{in_dir}/{sample_name}.{in_format}" + + out_path = f"{out_dir}/{sample_name}.{out_format}" + + if in_format in lossless_format_list: + clone_name = f"icon-png-to-{out_format}" + elif in_format == out_format and out_format in ["dds", "ktx"]: + clone_name = f"icon-png-to-{out_format}" + elif in_format == "crn" and out_format == "dds": + clone_name = f"icon-{in_format}-to-{out_format}" + else: + clone_name = None + + crunch(in_path, out_path, clone=clone_name) + +collection_dict_list = [ + { + "name": "orientation", + "format": "tga", + "clone": True, + "samples": [ + "sample-flat-bottom-left", + "sample-flat-bottom-right", + "sample-flat-top-left", + "sample-flat-top-right", + "sample-rle-bottom-left", + "sample-rle-bottom-right", + "sample-rle-top-left", + "sample-rle-top-right", + ], + }, + { + "name": "orientation", + "format": "bmp", + "clone": True, + "samples": [ + "sample-default", + "sample-vertical-flip", + ], + }, + { + "name": "transparency", + "format": "png", + "clone": False, + "samples": [ + "sample-colormap1-alpha1", + "sample-colormap2-alpha1", + "sample-colormap4-alpha1", + "sample-colormap8-alpha1", + "sample-grayscale1-alpha1", + "sample-grayscale1-alpha8", + "sample-grayscale8-alpha1", + "sample-rgb8-alpha8", + ], + }, + { + "name": "format", + "clone": False, + "format": "jpg", + "samples": [ + "sample-black", + ], + }, +] + +for collection in collection_dict_list: + collection_name = collection["name"] + in_format = collection["format"] + is_clone = collection["clone"] + sample_name_list = collection["samples"] + + out_dir = f"build/test/crunch-{collection_name}-{in_format}-to-all" + + mkdir(out_dir) + + for sample_name in sample_name_list: + for out_format in all_format_list: + in_path = f"test/{sample_name}.{in_format}" + + out_path = f"{out_dir}/{sample_name}.{out_format}" + + if is_clone: + clone_name = f"{collection_name}-{in_format}-to-{out_format}" + else: + clone_name = None + + crunch(in_path, out_path, clone=clone_name) + example(1, "test/unvanquished_64.png", None, options=["i"]) -example(1, "test/unvanquished_64.png", "build/test/example1-dds/unvanquished_64.dds", clone="dds", options=["c"]) -mkdir("build/test/example1-crn") -example(1, "test/unvanquished_64.png", "build/test/example1-crn/unvanquished_64.crn", clone="crn", options=["c", "-crn"]) -example(1, "build/test/example1-crn/unvanquished_64.crn", "build/test/example1-crn/unvanquished_64.dds", clone="crn_dds", options=["d"]) +mkdir("build/test/example1-icon-png-to-dds") +example(1, "test/unvanquished_64.png", "build/test/example1-icon-png-to-dds/unvanquished_64.dds", clone="icon-png-to-dds", options=["c"]) + +mkdir("build/test/example1-icon-png-to-crn") +example(1, "test/unvanquished_64.png", "build/test/example1-icon-png-to-crn/unvanquished_64.crn", clone="icon-png-to-crn", options=["c", "-crn"]) + +mkdir("build/test/example1-icon-crn-to-dds") +example(1, "build/test/example1-icon-png-to-crn/unvanquished_64.crn", "build/test/example1-icon-crn-to-dds/unvanquished_64.dds", clone="icon-crn-to-dds", options=["d"]) -mkdir("build/test/example2-dds") -example(2, "build/test/example1-crn/unvanquished_64.crn", "build/test/example2-dds/unvanquished_64.dds", clone="crn_dds") +mkdir("build/test/example2-icon-crn-to-dds") +example(2, "build/test/example1-icon-png-to-crn/unvanquished_64.crn", "build/test/example2-icon-crn-to-dds/unvanquished_64.dds", clone="icon-crn-to-dds") -mkdir("build/test/example3-dds") -example(3, "test/unvanquished_64.png", "build/test/example3-dds/unvanquished_64.dds") +mkdir("build/test/example3-icon-png-to-dds") +example(3, "test/unvanquished_64.png", "build/test/example3-icon-png-to-dds/unvanquished_64.dds") print_success("All tests executed") From d4726b705a3e571f555f2a7a23b5949362b08e9b Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Mon, 10 Aug 2026 01:35:06 +0200 Subject: [PATCH 04/10] test: make possible to do partial checking when everything isn't recorded --- test/test.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/test/test.py b/test/test.py index ef4a1b12..38c993f3 100755 --- a/test/test.py +++ b/test/test.py @@ -97,7 +97,6 @@ def add_clone(clone, file_path): clone_knowledge[clone] = {} clone_knowledge[clone]["files"] = OrderedDict() - clone_knowledge[clone]["files"][file_path] = False def crunch(input_path, output_path, clone=None, options=[]): @@ -163,6 +162,9 @@ def verify_clones(verification): if verification: for file_clone in clone_knowledge.keys(): for file_path in clone_knowledge[file_clone]["files"].keys(): + if file_path not in file_knowledge.keys(): + continue + file_sum = file_knowledge[file_path]["file_sum"] if "known_sum" in clone_knowledge[file_clone].keys(): @@ -189,6 +191,7 @@ def verify_files(verification): for line in database_file.readlines(): file_path, known_sum = line.split("\t") + file_knowledge[file_path]["known_sum"] = known_sum.split("\n")[0] database_file.close() @@ -196,6 +199,12 @@ def verify_files(verification): for file_path in file_knowledge.keys(): print_status("Checking file {}".format(file_path)) file_sum = file_knowledge[file_path]["file_sum"] + + if "known_sum" not in file_knowledge[file_path].keys(): + print_warning(f"Missing recorded sum for {file_path}") + all_verified = False + continue + known_sum = file_knowledge[file_path]["known_sum"] verified = file_sum == known_sum file_knowledge[file_path]["verified"] = verified @@ -237,6 +246,10 @@ def print_files_results(verification): for file_path in file_knowledge.keys(): if verification: + if "verified" not in file_knowledge[file_path].keys(): + print_warning(f"Missing verified status for {file_path}") + continue + verified = file_knowledge[file_path]["verified"] verified_string = ["No", "Yes"][verified] else: From ff30d9a2447a7dc9be60585c3705caaffa796026 Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Mon, 10 Aug 2026 05:43:58 +0200 Subject: [PATCH 05/10] test: set clone explicitly --- test/test.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/test.py b/test/test.py index 38c993f3..eb1d0c5d 100755 --- a/test/test.py +++ b/test/test.py @@ -276,7 +276,7 @@ def print_end_results(clones_verification, clones_verified, files_verification, else: print_error("Some tests failed") -crunch(None, None, options=["--help"]) +crunch(None, None, None, options=["--help"]) def merge_list(*lists): return list(dict.fromkeys(chain.from_iterable(lists))) @@ -354,7 +354,7 @@ def start_from(items, value): else: clone_name = None - crunch(in_path, out_path, clone=clone_name) + crunch(in_path, out_path, clone_name) collection_dict_list = [ { @@ -427,24 +427,24 @@ def start_from(items, value): else: clone_name = None - crunch(in_path, out_path, clone=clone_name) + crunch(in_path, out_path, clone_name) -example(1, "test/unvanquished_64.png", None, options=["i"]) +example(1, "test/unvanquished_64.png", None, None, options=["i"]) mkdir("build/test/example1-icon-png-to-dds") -example(1, "test/unvanquished_64.png", "build/test/example1-icon-png-to-dds/unvanquished_64.dds", clone="icon-png-to-dds", options=["c"]) +example(1, "test/unvanquished_64.png", "build/test/example1-icon-png-to-dds/unvanquished_64.dds", "icon-png-to-dds", options=["c"]) mkdir("build/test/example1-icon-png-to-crn") -example(1, "test/unvanquished_64.png", "build/test/example1-icon-png-to-crn/unvanquished_64.crn", clone="icon-png-to-crn", options=["c", "-crn"]) +example(1, "test/unvanquished_64.png", "build/test/example1-icon-png-to-crn/unvanquished_64.crn", "icon-png-to-crn", options=["c", "-crn"]) mkdir("build/test/example1-icon-crn-to-dds") -example(1, "build/test/example1-icon-png-to-crn/unvanquished_64.crn", "build/test/example1-icon-crn-to-dds/unvanquished_64.dds", clone="icon-crn-to-dds", options=["d"]) +example(1, "build/test/example1-icon-png-to-crn/unvanquished_64.crn", "build/test/example1-icon-crn-to-dds/unvanquished_64.dds", "icon-crn-to-dds", options=["d"]) mkdir("build/test/example2-icon-crn-to-dds") -example(2, "build/test/example1-icon-png-to-crn/unvanquished_64.crn", "build/test/example2-icon-crn-to-dds/unvanquished_64.dds", clone="icon-crn-to-dds") +example(2, "build/test/example1-icon-png-to-crn/unvanquished_64.crn", "build/test/example2-icon-crn-to-dds/unvanquished_64.dds", "icon-crn-to-dds") mkdir("build/test/example3-icon-png-to-dds") -example(3, "test/unvanquished_64.png", "build/test/example3-icon-png-to-dds/unvanquished_64.dds") +example(3, "test/unvanquished_64.png", "build/test/example3-icon-png-to-dds/unvanquished_64.dds", None) print_success("All tests executed") From 037a1d80ff941fa0b87639fa45fe9f80a28a0a50 Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Mon, 10 Aug 2026 05:44:34 +0200 Subject: [PATCH 06/10] test: require to set clone explicitly It's now very rare to not pass that argument, so better use None in those rare cases than maintaining the optionality of them. --- test/test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test.py b/test/test.py index eb1d0c5d..c16ede6f 100755 --- a/test/test.py +++ b/test/test.py @@ -99,7 +99,7 @@ def add_clone(clone, file_path): clone_knowledge[clone]["files"][file_path] = False -def crunch(input_path, output_path, clone=None, options=[]): +def crunch(input_path, output_path, clone, options=[]): executable_path = get_executable_path("crunch") command_list = [executable_path] + options @@ -115,7 +115,7 @@ def crunch(input_path, output_path, clone=None, options=[]): run(command_list) -def example(num, input_path, output_path, clone=None, options=[]): +def example(num, input_path, output_path, clone, options=[]): executable_path = get_executable_path("example" + str(num)) command_list = [executable_path] From cc3179ca93bd3852a338a8f2af7dc24645dc2f82 Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Mon, 10 Aug 2026 05:48:37 +0200 Subject: [PATCH 07/10] test: reword the now non-optional clone_name --- test/test.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/test/test.py b/test/test.py index c16ede6f..d62ef9dd 100755 --- a/test/test.py +++ b/test/test.py @@ -89,17 +89,17 @@ def get_executable_path(executable_name): return os.path.join(build_dir, executable_name) -def add_clone(clone, file_path): - if not clone: +def add_clone(clone_name, file_path): + if not clone_name: return - if clone not in clone_knowledge.keys(): - clone_knowledge[clone] = {} - clone_knowledge[clone]["files"] = OrderedDict() + if clone_name not in clone_knowledge.keys(): + clone_knowledge[clone_name] = {} + clone_knowledge[clone_name]["files"] = OrderedDict() - clone_knowledge[clone]["files"][file_path] = False + clone_knowledge[clone_name]["files"][file_path] = False -def crunch(input_path, output_path, clone, options=[]): +def crunch(input_path, output_path, clone_name, options=[]): executable_path = get_executable_path("crunch") command_list = [executable_path] + options @@ -111,11 +111,11 @@ def crunch(input_path, output_path, clone, options=[]): converted_output_path = convert_path(output_path) command_list += ["-out", converted_output_path] file_knowledge[output_path] = {"converted_path": converted_output_path} - add_clone(clone, output_path) + add_clone(clone_name, output_path) run(command_list) -def example(num, input_path, output_path, clone, options=[]): +def example(num, input_path, output_path, clone_name, options=[]): executable_path = get_executable_path("example" + str(num)) command_list = [executable_path] @@ -133,7 +133,7 @@ def example(num, input_path, output_path, clone, options=[]): converted_output_path = convert_path(output_path) command_list += ["-out", converted_output_path] file_knowledge[output_path] = {"converted_path": converted_output_path} - add_clone(clone, output_path) + add_clone(clone_name, output_path) run(command_list) From 85c06f792edabf724e1a384bad6c71f2b965313a Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Mon, 10 Aug 2026 09:08:20 +0200 Subject: [PATCH 08/10] test: rename some samples --- test/checksums.tsv | 122 +++++++++--------- ...ample-black.jpg => sample-black-64x64.jpg} | Bin ...png => sample-icon-unvanquished-64x64.png} | Bin test/test.py | 16 +-- 4 files changed, 69 insertions(+), 69 deletions(-) rename test/{sample-black.jpg => sample-black-64x64.jpg} (100%) rename test/{unvanquished_64.png => sample-icon-unvanquished-64x64.png} (100%) diff --git a/test/checksums.tsv b/test/checksums.tsv index ffe3399c..82871e49 100644 --- a/test/checksums.tsv +++ b/test/checksums.tsv @@ -1,52 +1,52 @@ -build/test/crunch-icon-png-to-all/unvanquished_64.tga 34434170b06843b2d4fb5964a4b8751ec3a151a7d03e351e45a5967508f6a21f6e40ffc214bb46640105c4058bc35e196ecb5dd3261528a64acfeff52034fb40 -build/test/crunch-icon-png-to-all/unvanquished_64.bmp 1c5f28be8151a8125346e9cf17b1bf6e3f9fe27f6947b164b7eefa8fd3732a2e4dff173c354a0cd4ed599cd604d4b8f916c0575b0a4b4b508acc68dc9b4067ae -build/test/crunch-icon-png-to-all/unvanquished_64.png 71bb28da97cd778b99f131acaeb1c28ea37bae295a9e9934bed339508d8428587120c0da8f5bbc7963cdb77741ef789414f9d0d2c1e0da46026336efde147cc5 -build/test/crunch-icon-png-to-all/unvanquished_64.crn a3b526e95f44b6a4c919bc8eb79f4debf592f0bccc163c900cd1b6f9add0ce58c3db9fc8dac1828d350bbcd915823d7743a0c114a533fbc08c163fcb4846d2f5 -build/test/crunch-icon-png-to-all/unvanquished_64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 -build/test/crunch-icon-png-to-all/unvanquished_64.ktx d82eab591163d802231722ef325571735971b6a9b0703ed8ea59b4a4144189825d96d3455605426453fb3ad8d7cc61f931c52b3e73df2bb6787f7408baeb4ac7 -build/test/crunch-icon-png-to-all/unvanquished_64.jpg 6cd22de7e2e5baced5ef16e84f816dde3049f822459d552ced4dcd4e3f9a16be82ee0747ed1479fe8339991176004b4ccc90380b7ef51292c7d9b518503a348d -build/test/crunch-icon-crn-to-all/unvanquished_64.tga 71014682514ec9d2baa19444fd026ceb65aa06e86d32f34b326f336e47cf4ea351aa7c2eee6a1f0fbf290658fae72c24a86c4e167272143012d384dd6d6b1ce9 -build/test/crunch-icon-crn-to-all/unvanquished_64.bmp a6d6886879f9aade027ecb4d55f2092c3af98c297aaf2f689d77a11870156099853a41993575a9a313a23e399b3bcb06dcc0eac46b877639f3875972af7933d7 -build/test/crunch-icon-crn-to-all/unvanquished_64.png dd9d45459bd5a3ed74d494838a3d61ed4baea9960300cb3f1d54ecc923f742c9036fe13a338da6db2efc98049a2e206cb7c0e1cba6d79ea0e3ad86473af13e83 -build/test/crunch-icon-crn-to-all/unvanquished_64.crn 1596d312526073fd8923faefbed879fb1299ee53eeb54787f2b66754768d9a8160d9921b13aa9b7c781eb088be41cec0f3b703713aede43116a2b62f284f39f9 -build/test/crunch-icon-crn-to-all/unvanquished_64.dds 2aae5c5bd8c6a82d1cf3fc9d9da12fe3fc5be8651261ff1cb359e754308fd81e93bf304aeb55ada0bad50794d6e97d3e48084e5a4f48fa7caec4ed954152bae9 -build/test/crunch-icon-crn-to-all/unvanquished_64.ktx 10a45e43609c49b4929b91293e203557d8f5c1b146aa8162d946248e8fa24709e1645ed1fc40c2c1a541567b3d1287c7885cb0185230b660386825c4d03db22f -build/test/crunch-icon-crn-to-all/unvanquished_64.jpg f68e74b3c8a404fc867345411c8778228728897e5d0870e071d6ec67fd1fccb45b3b97993575c3ed66d80cd6a7d60845e8fe68780ac322fe1d46adc57014fa8b -build/test/crunch-icon-dds-to-all/unvanquished_64.tga 46e0c1796f7b1a998829919e14f69cb43d83b895585aca69ad17e0f6cd9839d20b383a6eca161320b87bb7161cbedc116466ec27319078a011b59fe16dc6ce26 -build/test/crunch-icon-dds-to-all/unvanquished_64.bmp 9d1b7c76f345332fa53e9b517ee47ba142d0c9def2b27b908af67b3c19edec0882f183f83eb9022cc2e726082193d7c82394a92b068137a4698a505d8bab0080 -build/test/crunch-icon-dds-to-all/unvanquished_64.png cd5b04f9c081f91a2d3a3fbf4484153feec5f0c027608f48a51209596ff604680ab93de70fbb616dc3fecea3fa6d240ac7a2e294bb0fc8244766375ffae54230 -build/test/crunch-icon-dds-to-all/unvanquished_64.crn 0db1f3bcf6240389be389dc2a94fdabf97aab439d12aabc6cca2ccb69559759fc414d2bc7735d0d4812b895ffb4085172f6a48439a104d79e0b5d65124b1f002 -build/test/crunch-icon-dds-to-all/unvanquished_64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 -build/test/crunch-icon-dds-to-all/unvanquished_64.ktx dbbea021367254587000704d11b5cf7982d3ac4a42edd9489b7b2ec49da796d4346c68c6ee1a163e6880f0efaeafc0235b739c2a4acbd1ed27750657af36e3df -build/test/crunch-icon-dds-to-all/unvanquished_64.jpg 3a2bfcc1f2ecb18371163bb16812096b019fec176731f015a301384d605910702d168f8762076fa5d912760947c8df8d4026fd9b038c0d94360d1bf744f592a2 -build/test/crunch-icon-ktx-to-all/unvanquished_64.tga 516bc1db1bfcda9c7f466cbb6f45b7608d9803391ae6d32e8de30d8e8102ef2de623cf6adfc74d471202ab14930dc4babe93a41b6c35b90e250a0de6b690fe7e -build/test/crunch-icon-ktx-to-all/unvanquished_64.bmp 0493fc75c26629d3a532e68e3778bb25ed6de4d81f3a39eb34a65a1990aa4072aa6b0948dc1ed3122b7ecf45e6be139d05b008ad7277649fc244d039404503fd -build/test/crunch-icon-ktx-to-all/unvanquished_64.png 7b5da6fea08f73d0e06791d000780820574d08e14c00c06ba2ef208296ebcfbc427175d72d6f2797e7240930782c70bf717a1e966fdd9aaada4a8b826ff9a2df -build/test/crunch-icon-ktx-to-all/unvanquished_64.crn 7cb43bf1f8fa87735d7643c3590b52bf918b6e202095787f2305c7469db957185871434b101fb2e2fb7d57e55fc0dc635994b8ed2765edb6b453f10931508f6b -build/test/crunch-icon-ktx-to-all/unvanquished_64.dds b2cecbf2870835ec04a8ed69012d294402017fa565393f8266a6dcc868f9c5b472b8b568c98250b5beb5b0d43ee9d9dc06d04cca4f35073541ba8331d55a6b46 -build/test/crunch-icon-ktx-to-all/unvanquished_64.ktx d82eab591163d802231722ef325571735971b6a9b0703ed8ea59b4a4144189825d96d3455605426453fb3ad8d7cc61f931c52b3e73df2bb6787f7408baeb4ac7 -build/test/crunch-icon-ktx-to-all/unvanquished_64.jpg c350e1e0d90b8d519a0cfdbad85c972a6f6c077988b8e96f5daef415f816b3ace2bb87c79772c6d25954caeb598ef3af7700f0bc10914349161fe1a4cc1f2d73 -build/test/crunch-icon-jpg-to-all/unvanquished_64.tga 4ea9e7b358a01fe1b09e9c16845a0249daddc87010403f33c525cfca69af85cb561019221adc8beae4172908d48a951df2d8bf65d63ae2ee183ee5c6df424c99 -build/test/crunch-icon-jpg-to-all/unvanquished_64.bmp 20636873950cde44336751526644ea6e979b5bdf1f45a166a40b583977a6f6cce6db32ab9b14d66eba1777ab8447fbc926a91b095c27cb4487e04d1f36ed3b0b -build/test/crunch-icon-jpg-to-all/unvanquished_64.png 24124a42c01f243ec2864cc70d399b685183acb04216a0b21133b454f4d69d7606b3190119ff8c869c5dd4a28f77fbc352f3717747e32099f507cc7b790c39e2 -build/test/crunch-icon-jpg-to-all/unvanquished_64.crn f7bf97cafc570eb16335006623b887de1b05591035a20f9399edc2386c59ab43832d4741a3763210c022cb65ee7a0facb29138bb7daf0b71f6b9059c1852c445 -build/test/crunch-icon-jpg-to-all/unvanquished_64.dds c1b3b785d107ba2f18097fb1cf009f598dbda9e797741ed66bd6cf9b1c376447f0990bb3890af12e3c73c4e02410adc0b5be6f386867d8ffc6aded53adb5f309 -build/test/crunch-icon-jpg-to-all/unvanquished_64.ktx 233e5d029b08cc45f8b3e9853edc6dc5dd5cab49cb0f95e870b9b6db917b2ddceaa2756d55aec1785c147375bc7a37030e3a8cde77d364f73d86043e99a7969a -build/test/crunch-icon-jpg-to-all/unvanquished_64.jpg abe6f8c6820c4d0762a00b6ce0789834601d764b1a9a330eeb3b49d5209ee9ca2968e154d53e74912e05a4b99467df1710c12d62354cdfc8d49c9cd315de2b65 -build/test/crunch-icon-tga-to-all/unvanquished_64.tga 34434170b06843b2d4fb5964a4b8751ec3a151a7d03e351e45a5967508f6a21f6e40ffc214bb46640105c4058bc35e196ecb5dd3261528a64acfeff52034fb40 -build/test/crunch-icon-tga-to-all/unvanquished_64.bmp 1c5f28be8151a8125346e9cf17b1bf6e3f9fe27f6947b164b7eefa8fd3732a2e4dff173c354a0cd4ed599cd604d4b8f916c0575b0a4b4b508acc68dc9b4067ae -build/test/crunch-icon-tga-to-all/unvanquished_64.png 71bb28da97cd778b99f131acaeb1c28ea37bae295a9e9934bed339508d8428587120c0da8f5bbc7963cdb77741ef789414f9d0d2c1e0da46026336efde147cc5 -build/test/crunch-icon-tga-to-all/unvanquished_64.crn a3b526e95f44b6a4c919bc8eb79f4debf592f0bccc163c900cd1b6f9add0ce58c3db9fc8dac1828d350bbcd915823d7743a0c114a533fbc08c163fcb4846d2f5 -build/test/crunch-icon-tga-to-all/unvanquished_64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 -build/test/crunch-icon-tga-to-all/unvanquished_64.ktx d82eab591163d802231722ef325571735971b6a9b0703ed8ea59b4a4144189825d96d3455605426453fb3ad8d7cc61f931c52b3e73df2bb6787f7408baeb4ac7 -build/test/crunch-icon-tga-to-all/unvanquished_64.jpg 6cd22de7e2e5baced5ef16e84f816dde3049f822459d552ced4dcd4e3f9a16be82ee0747ed1479fe8339991176004b4ccc90380b7ef51292c7d9b518503a348d -build/test/crunch-icon-bmp-to-all/unvanquished_64.tga 34434170b06843b2d4fb5964a4b8751ec3a151a7d03e351e45a5967508f6a21f6e40ffc214bb46640105c4058bc35e196ecb5dd3261528a64acfeff52034fb40 -build/test/crunch-icon-bmp-to-all/unvanquished_64.bmp 1c5f28be8151a8125346e9cf17b1bf6e3f9fe27f6947b164b7eefa8fd3732a2e4dff173c354a0cd4ed599cd604d4b8f916c0575b0a4b4b508acc68dc9b4067ae -build/test/crunch-icon-bmp-to-all/unvanquished_64.png 71bb28da97cd778b99f131acaeb1c28ea37bae295a9e9934bed339508d8428587120c0da8f5bbc7963cdb77741ef789414f9d0d2c1e0da46026336efde147cc5 -build/test/crunch-icon-bmp-to-all/unvanquished_64.crn a3b526e95f44b6a4c919bc8eb79f4debf592f0bccc163c900cd1b6f9add0ce58c3db9fc8dac1828d350bbcd915823d7743a0c114a533fbc08c163fcb4846d2f5 -build/test/crunch-icon-bmp-to-all/unvanquished_64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 -build/test/crunch-icon-bmp-to-all/unvanquished_64.ktx d82eab591163d802231722ef325571735971b6a9b0703ed8ea59b4a4144189825d96d3455605426453fb3ad8d7cc61f931c52b3e73df2bb6787f7408baeb4ac7 -build/test/crunch-icon-bmp-to-all/unvanquished_64.jpg 6cd22de7e2e5baced5ef16e84f816dde3049f822459d552ced4dcd4e3f9a16be82ee0747ed1479fe8339991176004b4ccc90380b7ef51292c7d9b518503a348d +build/test/crunch-icon-png-to-all/sample-icon-unvanquished-64x64.tga 34434170b06843b2d4fb5964a4b8751ec3a151a7d03e351e45a5967508f6a21f6e40ffc214bb46640105c4058bc35e196ecb5dd3261528a64acfeff52034fb40 +build/test/crunch-icon-png-to-all/sample-icon-unvanquished-64x64.bmp 1c5f28be8151a8125346e9cf17b1bf6e3f9fe27f6947b164b7eefa8fd3732a2e4dff173c354a0cd4ed599cd604d4b8f916c0575b0a4b4b508acc68dc9b4067ae +build/test/crunch-icon-png-to-all/sample-icon-unvanquished-64x64.png 71bb28da97cd778b99f131acaeb1c28ea37bae295a9e9934bed339508d8428587120c0da8f5bbc7963cdb77741ef789414f9d0d2c1e0da46026336efde147cc5 +build/test/crunch-icon-png-to-all/sample-icon-unvanquished-64x64.crn a3b526e95f44b6a4c919bc8eb79f4debf592f0bccc163c900cd1b6f9add0ce58c3db9fc8dac1828d350bbcd915823d7743a0c114a533fbc08c163fcb4846d2f5 +build/test/crunch-icon-png-to-all/sample-icon-unvanquished-64x64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 +build/test/crunch-icon-png-to-all/sample-icon-unvanquished-64x64.ktx d82eab591163d802231722ef325571735971b6a9b0703ed8ea59b4a4144189825d96d3455605426453fb3ad8d7cc61f931c52b3e73df2bb6787f7408baeb4ac7 +build/test/crunch-icon-png-to-all/sample-icon-unvanquished-64x64.jpg 6cd22de7e2e5baced5ef16e84f816dde3049f822459d552ced4dcd4e3f9a16be82ee0747ed1479fe8339991176004b4ccc90380b7ef51292c7d9b518503a348d +build/test/crunch-icon-crn-to-all/sample-icon-unvanquished-64x64.tga 71014682514ec9d2baa19444fd026ceb65aa06e86d32f34b326f336e47cf4ea351aa7c2eee6a1f0fbf290658fae72c24a86c4e167272143012d384dd6d6b1ce9 +build/test/crunch-icon-crn-to-all/sample-icon-unvanquished-64x64.bmp a6d6886879f9aade027ecb4d55f2092c3af98c297aaf2f689d77a11870156099853a41993575a9a313a23e399b3bcb06dcc0eac46b877639f3875972af7933d7 +build/test/crunch-icon-crn-to-all/sample-icon-unvanquished-64x64.png dd9d45459bd5a3ed74d494838a3d61ed4baea9960300cb3f1d54ecc923f742c9036fe13a338da6db2efc98049a2e206cb7c0e1cba6d79ea0e3ad86473af13e83 +build/test/crunch-icon-crn-to-all/sample-icon-unvanquished-64x64.crn 1596d312526073fd8923faefbed879fb1299ee53eeb54787f2b66754768d9a8160d9921b13aa9b7c781eb088be41cec0f3b703713aede43116a2b62f284f39f9 +build/test/crunch-icon-crn-to-all/sample-icon-unvanquished-64x64.dds 2aae5c5bd8c6a82d1cf3fc9d9da12fe3fc5be8651261ff1cb359e754308fd81e93bf304aeb55ada0bad50794d6e97d3e48084e5a4f48fa7caec4ed954152bae9 +build/test/crunch-icon-crn-to-all/sample-icon-unvanquished-64x64.ktx 10a45e43609c49b4929b91293e203557d8f5c1b146aa8162d946248e8fa24709e1645ed1fc40c2c1a541567b3d1287c7885cb0185230b660386825c4d03db22f +build/test/crunch-icon-crn-to-all/sample-icon-unvanquished-64x64.jpg f68e74b3c8a404fc867345411c8778228728897e5d0870e071d6ec67fd1fccb45b3b97993575c3ed66d80cd6a7d60845e8fe68780ac322fe1d46adc57014fa8b +build/test/crunch-icon-dds-to-all/sample-icon-unvanquished-64x64.tga 46e0c1796f7b1a998829919e14f69cb43d83b895585aca69ad17e0f6cd9839d20b383a6eca161320b87bb7161cbedc116466ec27319078a011b59fe16dc6ce26 +build/test/crunch-icon-dds-to-all/sample-icon-unvanquished-64x64.bmp 9d1b7c76f345332fa53e9b517ee47ba142d0c9def2b27b908af67b3c19edec0882f183f83eb9022cc2e726082193d7c82394a92b068137a4698a505d8bab0080 +build/test/crunch-icon-dds-to-all/sample-icon-unvanquished-64x64.png cd5b04f9c081f91a2d3a3fbf4484153feec5f0c027608f48a51209596ff604680ab93de70fbb616dc3fecea3fa6d240ac7a2e294bb0fc8244766375ffae54230 +build/test/crunch-icon-dds-to-all/sample-icon-unvanquished-64x64.crn 0db1f3bcf6240389be389dc2a94fdabf97aab439d12aabc6cca2ccb69559759fc414d2bc7735d0d4812b895ffb4085172f6a48439a104d79e0b5d65124b1f002 +build/test/crunch-icon-dds-to-all/sample-icon-unvanquished-64x64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 +build/test/crunch-icon-dds-to-all/sample-icon-unvanquished-64x64.ktx dbbea021367254587000704d11b5cf7982d3ac4a42edd9489b7b2ec49da796d4346c68c6ee1a163e6880f0efaeafc0235b739c2a4acbd1ed27750657af36e3df +build/test/crunch-icon-dds-to-all/sample-icon-unvanquished-64x64.jpg 3a2bfcc1f2ecb18371163bb16812096b019fec176731f015a301384d605910702d168f8762076fa5d912760947c8df8d4026fd9b038c0d94360d1bf744f592a2 +build/test/crunch-icon-ktx-to-all/sample-icon-unvanquished-64x64.tga 516bc1db1bfcda9c7f466cbb6f45b7608d9803391ae6d32e8de30d8e8102ef2de623cf6adfc74d471202ab14930dc4babe93a41b6c35b90e250a0de6b690fe7e +build/test/crunch-icon-ktx-to-all/sample-icon-unvanquished-64x64.bmp 0493fc75c26629d3a532e68e3778bb25ed6de4d81f3a39eb34a65a1990aa4072aa6b0948dc1ed3122b7ecf45e6be139d05b008ad7277649fc244d039404503fd +build/test/crunch-icon-ktx-to-all/sample-icon-unvanquished-64x64.png 7b5da6fea08f73d0e06791d000780820574d08e14c00c06ba2ef208296ebcfbc427175d72d6f2797e7240930782c70bf717a1e966fdd9aaada4a8b826ff9a2df +build/test/crunch-icon-ktx-to-all/sample-icon-unvanquished-64x64.crn 7cb43bf1f8fa87735d7643c3590b52bf918b6e202095787f2305c7469db957185871434b101fb2e2fb7d57e55fc0dc635994b8ed2765edb6b453f10931508f6b +build/test/crunch-icon-ktx-to-all/sample-icon-unvanquished-64x64.dds b2cecbf2870835ec04a8ed69012d294402017fa565393f8266a6dcc868f9c5b472b8b568c98250b5beb5b0d43ee9d9dc06d04cca4f35073541ba8331d55a6b46 +build/test/crunch-icon-ktx-to-all/sample-icon-unvanquished-64x64.ktx d82eab591163d802231722ef325571735971b6a9b0703ed8ea59b4a4144189825d96d3455605426453fb3ad8d7cc61f931c52b3e73df2bb6787f7408baeb4ac7 +build/test/crunch-icon-ktx-to-all/sample-icon-unvanquished-64x64.jpg c350e1e0d90b8d519a0cfdbad85c972a6f6c077988b8e96f5daef415f816b3ace2bb87c79772c6d25954caeb598ef3af7700f0bc10914349161fe1a4cc1f2d73 +build/test/crunch-icon-jpg-to-all/sample-icon-unvanquished-64x64.tga 4ea9e7b358a01fe1b09e9c16845a0249daddc87010403f33c525cfca69af85cb561019221adc8beae4172908d48a951df2d8bf65d63ae2ee183ee5c6df424c99 +build/test/crunch-icon-jpg-to-all/sample-icon-unvanquished-64x64.bmp 20636873950cde44336751526644ea6e979b5bdf1f45a166a40b583977a6f6cce6db32ab9b14d66eba1777ab8447fbc926a91b095c27cb4487e04d1f36ed3b0b +build/test/crunch-icon-jpg-to-all/sample-icon-unvanquished-64x64.png 24124a42c01f243ec2864cc70d399b685183acb04216a0b21133b454f4d69d7606b3190119ff8c869c5dd4a28f77fbc352f3717747e32099f507cc7b790c39e2 +build/test/crunch-icon-jpg-to-all/sample-icon-unvanquished-64x64.crn f7bf97cafc570eb16335006623b887de1b05591035a20f9399edc2386c59ab43832d4741a3763210c022cb65ee7a0facb29138bb7daf0b71f6b9059c1852c445 +build/test/crunch-icon-jpg-to-all/sample-icon-unvanquished-64x64.dds c1b3b785d107ba2f18097fb1cf009f598dbda9e797741ed66bd6cf9b1c376447f0990bb3890af12e3c73c4e02410adc0b5be6f386867d8ffc6aded53adb5f309 +build/test/crunch-icon-jpg-to-all/sample-icon-unvanquished-64x64.ktx 233e5d029b08cc45f8b3e9853edc6dc5dd5cab49cb0f95e870b9b6db917b2ddceaa2756d55aec1785c147375bc7a37030e3a8cde77d364f73d86043e99a7969a +build/test/crunch-icon-jpg-to-all/sample-icon-unvanquished-64x64.jpg abe6f8c6820c4d0762a00b6ce0789834601d764b1a9a330eeb3b49d5209ee9ca2968e154d53e74912e05a4b99467df1710c12d62354cdfc8d49c9cd315de2b65 +build/test/crunch-icon-tga-to-all/sample-icon-unvanquished-64x64.tga 34434170b06843b2d4fb5964a4b8751ec3a151a7d03e351e45a5967508f6a21f6e40ffc214bb46640105c4058bc35e196ecb5dd3261528a64acfeff52034fb40 +build/test/crunch-icon-tga-to-all/sample-icon-unvanquished-64x64.bmp 1c5f28be8151a8125346e9cf17b1bf6e3f9fe27f6947b164b7eefa8fd3732a2e4dff173c354a0cd4ed599cd604d4b8f916c0575b0a4b4b508acc68dc9b4067ae +build/test/crunch-icon-tga-to-all/sample-icon-unvanquished-64x64.png 71bb28da97cd778b99f131acaeb1c28ea37bae295a9e9934bed339508d8428587120c0da8f5bbc7963cdb77741ef789414f9d0d2c1e0da46026336efde147cc5 +build/test/crunch-icon-tga-to-all/sample-icon-unvanquished-64x64.crn a3b526e95f44b6a4c919bc8eb79f4debf592f0bccc163c900cd1b6f9add0ce58c3db9fc8dac1828d350bbcd915823d7743a0c114a533fbc08c163fcb4846d2f5 +build/test/crunch-icon-tga-to-all/sample-icon-unvanquished-64x64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 +build/test/crunch-icon-tga-to-all/sample-icon-unvanquished-64x64.ktx d82eab591163d802231722ef325571735971b6a9b0703ed8ea59b4a4144189825d96d3455605426453fb3ad8d7cc61f931c52b3e73df2bb6787f7408baeb4ac7 +build/test/crunch-icon-tga-to-all/sample-icon-unvanquished-64x64.jpg 6cd22de7e2e5baced5ef16e84f816dde3049f822459d552ced4dcd4e3f9a16be82ee0747ed1479fe8339991176004b4ccc90380b7ef51292c7d9b518503a348d +build/test/crunch-icon-bmp-to-all/sample-icon-unvanquished-64x64.tga 34434170b06843b2d4fb5964a4b8751ec3a151a7d03e351e45a5967508f6a21f6e40ffc214bb46640105c4058bc35e196ecb5dd3261528a64acfeff52034fb40 +build/test/crunch-icon-bmp-to-all/sample-icon-unvanquished-64x64.bmp 1c5f28be8151a8125346e9cf17b1bf6e3f9fe27f6947b164b7eefa8fd3732a2e4dff173c354a0cd4ed599cd604d4b8f916c0575b0a4b4b508acc68dc9b4067ae +build/test/crunch-icon-bmp-to-all/sample-icon-unvanquished-64x64.png 71bb28da97cd778b99f131acaeb1c28ea37bae295a9e9934bed339508d8428587120c0da8f5bbc7963cdb77741ef789414f9d0d2c1e0da46026336efde147cc5 +build/test/crunch-icon-bmp-to-all/sample-icon-unvanquished-64x64.crn a3b526e95f44b6a4c919bc8eb79f4debf592f0bccc163c900cd1b6f9add0ce58c3db9fc8dac1828d350bbcd915823d7743a0c114a533fbc08c163fcb4846d2f5 +build/test/crunch-icon-bmp-to-all/sample-icon-unvanquished-64x64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 +build/test/crunch-icon-bmp-to-all/sample-icon-unvanquished-64x64.ktx d82eab591163d802231722ef325571735971b6a9b0703ed8ea59b4a4144189825d96d3455605426453fb3ad8d7cc61f931c52b3e73df2bb6787f7408baeb4ac7 +build/test/crunch-icon-bmp-to-all/sample-icon-unvanquished-64x64.jpg 6cd22de7e2e5baced5ef16e84f816dde3049f822459d552ced4dcd4e3f9a16be82ee0747ed1479fe8339991176004b4ccc90380b7ef51292c7d9b518503a348d build/test/crunch-orientation-tga-to-all/sample-flat-bottom-left.tga e66a30ce22d193a2ecfec0fdcccde9579f01b547ea446c0542d155450c63df7bf443e7daf73253b22369af3195987c25336f1505fba86b82ca34f7042c025801 build/test/crunch-orientation-tga-to-all/sample-flat-bottom-left.bmp de14bb8dd4543d885bf674958753c3b0855bc8143c9e1a22e69404b81118d3fa8c2c24dc46b4ff786f1565f85ef1ae2b49e83000361d8571fcee754069bfd384 build/test/crunch-orientation-tga-to-all/sample-flat-bottom-left.png 6238f9678cd9fa774e6d50ee6638f316d0b1148ade344c06b4ddebac4738ea90e93c19d5cca405fccdabfdb37898bc7f9bccce1f0d974f9cbd18ab54b66adaa3 @@ -173,15 +173,15 @@ build/test/crunch-transparency-png-to-all/sample-rgb8-alpha8.crn 70aa2d510a77ef9 build/test/crunch-transparency-png-to-all/sample-rgb8-alpha8.dds 7ece974283299125d0578318fd9851286a731d7bd1fe8c33bfa5e40c17f8b7d23b0b445ca676a30a438dc38be53491b52dea60711fb4a260b1b9180447c96e3f build/test/crunch-transparency-png-to-all/sample-rgb8-alpha8.ktx 3e560a2f4ae02ccb133b36ccecd3c6fe4f55c6374efbe8e14e58feda68939b880619f99320b4d793a0b4b025d60e3ab48d7a178e014e2909d23ef25102135294 build/test/crunch-transparency-png-to-all/sample-rgb8-alpha8.jpg 5aa5fcb7124b2ff68169876350c7eba0b0e7e5d3a08b20cae775a2659c6f43ca35ae51121d14ab1cda9c2f1e77bfdd4694617e39e503a08239e0bc28e6b269f0 -build/test/crunch-format-jpg-to-all/sample-black.tga b316dd329ec0f0b80871a48f0eea486170671a9185bdf29da24745d46a3f08b9924e8ac306249e11f0e5ab4ffa973042f43d8d8890d8b394a77e2f88db61aa15 -build/test/crunch-format-jpg-to-all/sample-black.bmp 90fee6aca288530f2687facdbcf6392c40cc44515ab1eb41bb1076df7fc1564223e61af361d8d874ab677fa8fbfa8533be67b27737b2407d963bdb6b79aadca4 -build/test/crunch-format-jpg-to-all/sample-black.png 6bafef5b5826471257e36159fa27d812c9c12c76e1fa57d06b3549250c7b3bbac5138441c81b75d6ecb81f57780a3bf1545aa9ef255a13a1ec08be7f92182de7 -build/test/crunch-format-jpg-to-all/sample-black.crn 19fb840c8dbb7da96400af5af1c45fe48c7c7e19340d03fbe5a2af28ceecfb9efba26fe6c1bf46bd76164ecb0efe91cc9237917e8e431cd8365f80e9ffacc906 -build/test/crunch-format-jpg-to-all/sample-black.dds cadaf30985bb62b98cd601793d6440c70fa32e24459b780e043576d70817e2d4131f8902c703aa48cb7014b6e07f729e33ed9d989b0db0535261a2c6808805c2 -build/test/crunch-format-jpg-to-all/sample-black.ktx 00e261c23642594e12152e7a0f8ad56a3ed87526bb18ee2e5e0f65f1ce21bfc288bd4e6043807a7fa642f7130645025d3e621e8731bc4304e665c46a975f1c6a -build/test/crunch-format-jpg-to-all/sample-black.jpg 4e080976a21bf93553425038f152934dbb292937e8fefaa7f9bd876b551e03d4778b54c41e64f470acabea03ff8e7ad3325daf790df1b7b9042930f48a00591a -build/test/example1-icon-png-to-dds/unvanquished_64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 -build/test/example1-icon-png-to-crn/unvanquished_64.crn a3b526e95f44b6a4c919bc8eb79f4debf592f0bccc163c900cd1b6f9add0ce58c3db9fc8dac1828d350bbcd915823d7743a0c114a533fbc08c163fcb4846d2f5 -build/test/example1-icon-crn-to-dds/unvanquished_64.dds 2aae5c5bd8c6a82d1cf3fc9d9da12fe3fc5be8651261ff1cb359e754308fd81e93bf304aeb55ada0bad50794d6e97d3e48084e5a4f48fa7caec4ed954152bae9 -build/test/example2-icon-crn-to-dds/unvanquished_64.dds 2aae5c5bd8c6a82d1cf3fc9d9da12fe3fc5be8651261ff1cb359e754308fd81e93bf304aeb55ada0bad50794d6e97d3e48084e5a4f48fa7caec4ed954152bae9 -build/test/example3-icon-png-to-dds/unvanquished_64.dds a719dd943bc4e30be0c124e6bafb1d8ba4002b9233e6208104f93046edd4ddd7aea7815430ae2c0b7efe259943f6a8fe109f56ea457e43cde79295ae7ac85b43 +build/test/crunch-format-jpg-to-all/sample-black-64x64.tga b316dd329ec0f0b80871a48f0eea486170671a9185bdf29da24745d46a3f08b9924e8ac306249e11f0e5ab4ffa973042f43d8d8890d8b394a77e2f88db61aa15 +build/test/crunch-format-jpg-to-all/sample-black-64x64.bmp 90fee6aca288530f2687facdbcf6392c40cc44515ab1eb41bb1076df7fc1564223e61af361d8d874ab677fa8fbfa8533be67b27737b2407d963bdb6b79aadca4 +build/test/crunch-format-jpg-to-all/sample-black-64x64.png 6bafef5b5826471257e36159fa27d812c9c12c76e1fa57d06b3549250c7b3bbac5138441c81b75d6ecb81f57780a3bf1545aa9ef255a13a1ec08be7f92182de7 +build/test/crunch-format-jpg-to-all/sample-black-64x64.crn 19fb840c8dbb7da96400af5af1c45fe48c7c7e19340d03fbe5a2af28ceecfb9efba26fe6c1bf46bd76164ecb0efe91cc9237917e8e431cd8365f80e9ffacc906 +build/test/crunch-format-jpg-to-all/sample-black-64x64.dds cadaf30985bb62b98cd601793d6440c70fa32e24459b780e043576d70817e2d4131f8902c703aa48cb7014b6e07f729e33ed9d989b0db0535261a2c6808805c2 +build/test/crunch-format-jpg-to-all/sample-black-64x64.ktx 00e261c23642594e12152e7a0f8ad56a3ed87526bb18ee2e5e0f65f1ce21bfc288bd4e6043807a7fa642f7130645025d3e621e8731bc4304e665c46a975f1c6a +build/test/crunch-format-jpg-to-all/sample-black-64x64.jpg 4e080976a21bf93553425038f152934dbb292937e8fefaa7f9bd876b551e03d4778b54c41e64f470acabea03ff8e7ad3325daf790df1b7b9042930f48a00591a +build/test/example1-icon-png-to-dds/sample-icon-unvanquished-64x64.dds ce98b21c574b4883e4aff4a0b92fd0f533f22e00ab753686f353111fa7503287c2c4dba25f2c2670508630d79b59464578e094461bad81ad803e1d58ed5e69f8 +build/test/example1-icon-png-to-crn/sample-icon-unvanquished-64x64.crn a3b526e95f44b6a4c919bc8eb79f4debf592f0bccc163c900cd1b6f9add0ce58c3db9fc8dac1828d350bbcd915823d7743a0c114a533fbc08c163fcb4846d2f5 +build/test/example1-icon-crn-to-dds/sample-icon-unvanquished-64x64.dds 2aae5c5bd8c6a82d1cf3fc9d9da12fe3fc5be8651261ff1cb359e754308fd81e93bf304aeb55ada0bad50794d6e97d3e48084e5a4f48fa7caec4ed954152bae9 +build/test/example2-icon-crn-to-dds/sample-icon-unvanquished-64x64.dds 2aae5c5bd8c6a82d1cf3fc9d9da12fe3fc5be8651261ff1cb359e754308fd81e93bf304aeb55ada0bad50794d6e97d3e48084e5a4f48fa7caec4ed954152bae9 +build/test/example3-icon-png-to-dds/sample-icon-unvanquished-64x64.dds a719dd943bc4e30be0c124e6bafb1d8ba4002b9233e6208104f93046edd4ddd7aea7815430ae2c0b7efe259943f6a8fe109f56ea457e43cde79295ae7ac85b43 diff --git a/test/sample-black.jpg b/test/sample-black-64x64.jpg similarity index 100% rename from test/sample-black.jpg rename to test/sample-black-64x64.jpg diff --git a/test/unvanquished_64.png b/test/sample-icon-unvanquished-64x64.png similarity index 100% rename from test/unvanquished_64.png rename to test/sample-icon-unvanquished-64x64.png diff --git a/test/test.py b/test/test.py index d62ef9dd..c344708a 100755 --- a/test/test.py +++ b/test/test.py @@ -339,7 +339,7 @@ def start_from(items, value): mkdir(out_dir) for out_format in all_format_list: - sample_name = "unvanquished_64" + sample_name = "sample-icon-unvanquished-64x64" in_path = f"{in_dir}/{sample_name}.{in_format}" @@ -401,7 +401,7 @@ def start_from(items, value): "clone": False, "format": "jpg", "samples": [ - "sample-black", + "sample-black-64x64", ], }, ] @@ -429,22 +429,22 @@ def start_from(items, value): crunch(in_path, out_path, clone_name) -example(1, "test/unvanquished_64.png", None, None, options=["i"]) +example(1, "test/sample-icon-unvanquished-64x64.png", None, None, options=["i"]) mkdir("build/test/example1-icon-png-to-dds") -example(1, "test/unvanquished_64.png", "build/test/example1-icon-png-to-dds/unvanquished_64.dds", "icon-png-to-dds", options=["c"]) +example(1, "test/sample-icon-unvanquished-64x64.png", "build/test/example1-icon-png-to-dds/sample-icon-unvanquished-64x64.dds", "icon-png-to-dds", options=["c"]) mkdir("build/test/example1-icon-png-to-crn") -example(1, "test/unvanquished_64.png", "build/test/example1-icon-png-to-crn/unvanquished_64.crn", "icon-png-to-crn", options=["c", "-crn"]) +example(1, "test/sample-icon-unvanquished-64x64.png", "build/test/example1-icon-png-to-crn/sample-icon-unvanquished-64x64.crn", "icon-png-to-crn", options=["c", "-crn"]) mkdir("build/test/example1-icon-crn-to-dds") -example(1, "build/test/example1-icon-png-to-crn/unvanquished_64.crn", "build/test/example1-icon-crn-to-dds/unvanquished_64.dds", "icon-crn-to-dds", options=["d"]) +example(1, "build/test/example1-icon-png-to-crn/sample-icon-unvanquished-64x64.crn", "build/test/example1-icon-crn-to-dds/sample-icon-unvanquished-64x64.dds", "icon-crn-to-dds", options=["d"]) mkdir("build/test/example2-icon-crn-to-dds") -example(2, "build/test/example1-icon-png-to-crn/unvanquished_64.crn", "build/test/example2-icon-crn-to-dds/unvanquished_64.dds", "icon-crn-to-dds") +example(2, "build/test/example1-icon-png-to-crn/sample-icon-unvanquished-64x64.crn", "build/test/example2-icon-crn-to-dds/sample-icon-unvanquished-64x64.dds", "icon-crn-to-dds") mkdir("build/test/example3-icon-png-to-dds") -example(3, "test/unvanquished_64.png", "build/test/example3-icon-png-to-dds/unvanquished_64.dds", None) +example(3, "test/sample-icon-unvanquished-64x64.png", "build/test/example3-icon-png-to-dds/sample-icon-unvanquished-64x64.dds", None) print_success("All tests executed") From c7fe01fd1dbd166819cd38ed9ec28b3dbbb2e35e Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Mon, 10 Aug 2026 06:20:30 +0200 Subject: [PATCH 09/10] test: count the failed and verified tests and display the numbers --- test/test.py | 59 ++++++++++++++++++++++++++++++++++------------------ 1 file changed, 39 insertions(+), 20 deletions(-) diff --git a/test/test.py b/test/test.py index c344708a..af1b6d27 100755 --- a/test/test.py +++ b/test/test.py @@ -157,7 +157,8 @@ def record_sums(): print_success("All test results recorded") def verify_clones(verification): - all_verified = True + clones_verified = 0 + clones_failed = 0 if verification: for file_clone in clone_knowledge.keys(): @@ -174,17 +175,29 @@ def verify_clones(verification): if verified: print_success("Clone {}'s checksum {} matches known one".format(file_path, known_sum)) + clones_verified += 1 + + # Count the first clone as verified once the second one is found and is verified. + if len(clone_knowledge[file_clone]["files"].keys()) == 1: + clones_verified += 1 else: print_warning("Clone {}'s checksum {} doesn't match known one {}".format(file_path, file_sum, known_sum)) - all_verified = False + clones_failed += 1 + + # Count the first clone as failed once the second one is found and is failed. + if len(clone_knowledge[file_clone]["files"].keys()) == 1: + clones_verified += 1 else: clone_knowledge[file_clone]["known_sum"] = file_sum - return all_verified + # Do not count the first clone as verified or failed until a second clone is seen and verified. + + return clones_verified, clones_failed def verify_files(verification): - all_verified = True + files_verified = 0 + files_failed = 0 if verification: database_file = open(database_path, "r") @@ -202,7 +215,7 @@ def verify_files(verification): if "known_sum" not in file_knowledge[file_path].keys(): print_warning(f"Missing recorded sum for {file_path}") - all_verified = False + files_failed += 1 continue known_sum = file_knowledge[file_path]["known_sum"] @@ -211,11 +224,12 @@ def verify_files(verification): if verified: print_success("File {}'s checksum {} matches known one".format(file_path, known_sum)) + files_verified += 1 else: print_warning("File {}'s checksum {} doesn't match known one {}".format(file_path, file_sum, known_sum)) - all_verified = False + files_verified += 1 - return all_verified + return files_verified, files_failed def print_clones_results(verification): if verification: @@ -258,23 +272,28 @@ def print_files_results(verification): short_sum = file_knowledge[file_path]["file_sum"][0:10] print("{:<3} {} {}".format(verified_string, short_sum, file_path)) -def print_end_results(clones_verification, clones_verified, files_verification, files_verified): +def print_end_results(clones_verification, clones_verified, clones_failed, files_verification, files_verified, files_failed): if clones_verification: - if clones_verified: - print_success("All clones verified") + clones_total = clones_verified + clones_failed + if not clones_failed: + print_success(f"All clones verified (total: {clones_total})") else: - print_warning("Some clones were not verified") + print_warning(f"Some clones were not verified (verified: {clones_verified}, failed: {clones_failed}, total: {clones_total})") if files_verification: - if files_verified: - print_success("All files verified") + files_total = files_verified + files_failed + if not files_failed: + print_success(f"All files verified (total: {files_total})") else: - print_warning("Some files were not verified") + print_warning(f"Some files were not verified (verified: {files_verified}, failed: {files_failed}, total: {files_total})") - if clones_verified and files_verified: - print_success("All tests passed") + tests_verified = clones_verified + files_verified + tests_failed = clones_failed + files_failed + tests_total = tests_verified + tests_failed + if not tests_failed: + print_success(f"All tests passed (total: {tests_total})") else: - print_error("Some tests failed") + print_error(f"Some tests failed (verified: {tests_verified}, failed: {tests_failed}, total: {tests_total})") crunch(None, None, None, options=["--help"]) @@ -461,12 +480,12 @@ def start_from(items, value): files_verification = False record_sums() -clones_verified = verify_clones(clones_verification) +clones_verified, clones_failed = verify_clones(clones_verification) -files_verified = verify_files(files_verification) +files_verified, files_failed = verify_files(files_verification) print_clones_results(clones_verification) print_files_results(files_verification) -print_end_results(clones_verification, clones_verified, files_verification, files_verified) +print_end_results(clones_verification, clones_verified, clones_failed, files_verification, files_verified, files_failed) From 062340352d6f19772c83cd27726ad8a3028f3928 Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Fri, 7 Aug 2026 06:04:52 +0200 Subject: [PATCH 10/10] test: call wineserver -k before every wine run to avoid random errors Example of errors that would randomly surface in some test runs when running them on wine in the Azure CI: 009c:err:rpc:I_RpcReceive we got fault packet with status 0x1c010003 wine client error:0: recvmsg: Connection reset by peer --- test/test.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/test.py b/test/test.py index af1b6d27..84917320 100755 --- a/test/test.py +++ b/test/test.py @@ -56,6 +56,10 @@ def get_file_sum(file_path): return hashlib.blake2b(open(file_path, "rb").read()).hexdigest() def run(command_list): + if executable_runner and executable_runner.endswith("wine"): + wineserver = f"{executable_runner}server" + subprocess.run([wineserver, "-k"], check=False) + if executable_runner: command_list = executable_runner.split(" ") + command_list