blob: e0d1ed2f4a964f4d4a5159fea4bd0331b6309cb8 [file] [log] [blame]
#!/usr/bin/env python3
import sys
from basisu_py.transcoder import Transcoder, TranscoderBackend
from basisu_py.constants import BasisTexFormat
print("========== TESTING TRANSCODER BACKENDS ==========\n")
# 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(1)
# -------------------------------------------------------------------
# 1. Test NATIVE backend
# -------------------------------------------------------------------
print("\n--- 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)
# -------------------------------------------------------------------
# 2. 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 ==========")