From 9ca3203c996a5cdc1a9c2fe3a0f692904824d5ea Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Sun, 7 Jul 2024 23:31:05 +0200 Subject: [PATCH] test: also test examples --- crnlib/crnlib.cpp | 1 + test/test.py | 51 +++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/crnlib/crnlib.cpp b/crnlib/crnlib.cpp index b4c3d56b..8a406692 100644 --- a/crnlib/crnlib.cpp +++ b/crnlib/crnlib.cpp @@ -253,6 +253,7 @@ bool crn_decompress_dds_to_images(const void* pDDS_file_data, crn_uint32 dds_fil for (uint32 l = 0; l < tex.get_num_levels(); l++) { mip_level* pLevel = tex.get_level(f, l); image_u8* pImg = pLevel->get_image(); + printf("===== %p\n", pImg->get_pixel_buf().assume_ownership()); ppImages[l + tex.get_num_levels() * f] = static_cast(pImg->get_pixel_buf().assume_ownership()); } } diff --git a/test/test.py b/test/test.py index 78a9b760..356a235e 100755 --- a/test/test.py +++ b/test/test.py @@ -20,16 +20,21 @@ def mkdir(path): print_command(["mkdir", path]) os.makedirs(path, exist_ok=True) -def crunch(input_path, output_path, options=[]): - executable_extension = ["", ".exe"][sys.platform == 'win32'] - executable_name = "crunch" + executable_extension - +def get_build_dir(): build_dir = "build" windows_build_dir = os.path.join(build_dir, "Release") if os.path.exists(windows_build_dir): - build_dir = windows_build_dir + return windows_build_dir + return build_dir + +def get_executable_path(executable_name): + executable_extension = ["", ".exe"][sys.platform == 'win32'] + executable_name += executable_extension + build_dir = get_build_dir() + return os.path.join(build_dir, executable_name) - executable_path = os.path.join(build_dir, executable_name) +def crunch(input_path, output_path, options=[]): + executable_path = get_executable_path("crunch") command_list = [executable_path] + options if input_path: @@ -39,6 +44,26 @@ def crunch(input_path, output_path, options=[]): run(command_list) +def example(num, input_path, output_path, options=[]): + executable_path = get_executable_path("example" + str(num)) + command_list = [executable_path] + + if (num == 1): + command_list += [options[0]] + options = options[1:] + + if input_path: + input_path = convert_path(input_path) + command_list += [input_path] + + command_list += options + + if output_path: + output_path = convert_path(output_path) + command_list += ["-out", output_path] + + run(command_list) + crunch(None, None, ["--help"]) mkdir("build/test/0") @@ -99,3 +124,17 @@ def crunch(input_path, output_path, options=[]): mkdir("build/test/7") crunch("test/black.jpg", "build/test/7/black.crn") + +mkdir("build/test/8") +example(1, "test/unvanquished_64.png", None, ["i"]) +example(1, "test/unvanquished_64.png", "build/test/8/unvanquished_64.dds", ["c"]) + +mkdir("build/test/9") +example(1, "test/unvanquished_64.png", "build/test/9/unvanquished_64.crn", ["c", "-crn"]) +example(1, "build/test/9/unvanquished_64.crn", "build/test/9/unvanquished_64.dds", ["d"]) + +mkdir("build/test/10") +example(2, "build/test/9/unvanquished_64.crn", "build/test/10/unvanquished_64.dds") + +mkdir("build/test/11") +example(3, "test/unvanquished_64.png", "build/test/11/unvanquished_64.dds")