| #!/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 ==========") |