| from __future__ import annotations |
|
|
| import hashlib |
| import os |
| from pathlib import Path |
|
|
| import joblib |
|
|
|
|
| ROOT = Path(__file__).resolve().parent |
| ARTIFACT = ROOT / "sklearn_nopad_swallow_tail_payload.joblib" |
| MARKER = ROOT / "joblib_inline_array_tail_marker.txt" |
| EXPECTED_SHA256 = "141d2d0b175dc53671dae11994500e0cb82633ba305381b56c6af22cbbbdd5c4" |
|
|
|
|
| def sha256(path: Path) -> str: |
| return hashlib.sha256(path.read_bytes()).hexdigest() |
|
|
|
|
| def main() -> None: |
| os.chdir(ROOT) |
| MARKER.unlink(missing_ok=True) |
| digest = sha256(ARTIFACT) |
| print(f"artifact={ARTIFACT.name}") |
| print(f"sha256={digest}") |
| if digest != EXPECTED_SHA256: |
| raise SystemExit("artifact hash mismatch") |
|
|
| obj = joblib.load(ARTIFACT) |
| print(f"loaded_type={type(obj).__name__}") |
| print(f"marker_created={MARKER.exists()}") |
| if type(obj).__name__ != "FunctionTransformer": |
| raise SystemExit("unexpected loaded object type") |
| if not MARKER.exists(): |
| raise SystemExit("marker was not created") |
| marker_text = MARKER.read_text().strip() |
| print(marker_text) |
| if marker_text != "joblib inline-array tail payload executed": |
| raise SystemExit("marker text mismatch") |
|
|
|
|
| if __name__ == "__main__": |
| main() |
|
|