blob: 598bae84f8a6015ea98ad1fcfa4938ecbb70df36 [file] [log] [blame]
#!/usr/bin/env python3
import numpy as np
from PIL import Image
from basisu_py.codec import Encoder, EncoderBackend
from basisu_py.constants import BasisTexFormat
print("========== BACKEND LOADING TEST ==========\n")
# --------------------------------------------------------------
# 1. Test native backend (if available)
# --------------------------------------------------------------
print("Testing native backend...")
try:
enc_native = Encoder(backend=EncoderBackend.NATIVE)
print(" [OK] Native backend loaded")
except Exception as e:
print(" [FAIL] Native backend failed to load:", e)
enc_native = None
# If native loaded, test very basic functionality
if enc_native:
try:
version = enc_native._native.get_version()
print(f" Native get_version() ? {version}")
ptr = enc_native._native.alloc(16)
print(f" Native alloc() returned ptr = {ptr}")
enc_native._native.free(ptr)
print(f" Native free() OK")
print(" [OK] Native basic operations working.\n")
except Exception as e:
print(" [FAIL] Native operations error:", e)
else:
print(" Skipping native basic operations.\n")
# --------------------------------------------------------------
# 2. Test WASM backend
# --------------------------------------------------------------
print("\nTesting WASM backend...")
try:
enc_wasm = Encoder(backend=EncoderBackend.WASM)
print(" [OK] WASM backend loaded")
except Exception as e:
print(" [FAIL] WASM backend failed to load:", e)
enc_wasm = None
# If WASM loaded, test basic methods
if enc_wasm and enc_wasm._wasm is not None:
try:
version = enc_wasm._wasm.get_version()
print(f" WASM get_version() ? {version}")
ptr = enc_wasm._wasm.alloc(16)
print(f" WASM alloc() returned ptr = {ptr}")
enc_wasm._wasm.free(ptr)
print(f" WASM free() OK")
print(" [OK] WASM basic operations working.\n")
except Exception as e:
print(" [FAIL] WASM operations error:", e)
else:
print(" Skipping WASM basic operations.\n")
print("\n========== DONE ==========\n")