Files
OpenMaidEngine/godot/Main.PackageSmoke.cs
gamer147 02e9891baa
All checks were successful
Core validation / Linux core gate (push) Successful in 1m40s
Linux release build / Linux x64 artifact (push) Successful in 1m37s
Linux release build / Publish tagged Gitea release (push) Has been skipped
Cross-export Windows release package on Linux
2026-08-03 21:59:52 -04:00

34 lines
1.3 KiB
C#

using System;
using Godot;
public partial class Main
{
private void RunPackageSmoke()
{
try
{
if (!OS.HasFeature("linux") && !OS.HasFeature("windows"))
throw new PlatformNotSupportedException(
"the packaged-runtime smoke gate supports Linux and Windows x64");
var table = HimegariRuntimeMetadata.LoadOpcodeTable();
if (table.Count != 548)
throw new InvalidOperationException(
$"embedded opcode table has {table.Count} entries; expected 548");
if (!table.TryGet(0x55, out string label, out int argc)
|| label != "mov" || argc != 2)
throw new InvalidOperationException("embedded opcode 0x55 metadata is invalid");
uint ffmpegAbi = FfmpegMovieNative.AbiVersion();
if (ffmpegAbi != 3)
throw new InvalidOperationException(
$"native FFmpeg shim ABI is {ffmpegAbi}; expected 3");
GD.Print($"PACKAGE SMOKE OK: opcodes={table.Count} ffmpeg-abi={ffmpegAbi}");
GetTree().Quit(0);
}
catch (Exception error)
{
GD.PushError($"[package-smoke] {error}");
GetTree().Quit(1);
}
}
}