mirror of
https://github.com/BinomialLLC/basis_universal.git
synced 2026-08-09 22:59:32 +00:00
adding new files
This commit is contained in:
70
python/tests/test_backend_loading.py
Normal file
70
python/tests/test_backend_loading.py
Normal file
@@ -0,0 +1,70 @@
|
||||
#!/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")
|
||||
Reference in New Issue
Block a user