#!/bin/sh
set -e

export AUTOPKGTEST_TMP=${AUTOPKGTEST_TMP:-/tmp/adt-bpfcc-lua-smoke}
mkdir -p "$AUTOPKGTEST_TMP"

failed=0

check() {
    if [ $1 -eq 0 ]; then
        echo "  PASS: $2"
    else
        echo "  FAIL: $2 (exit $1)"
        failed=$((failed + 1))
    fi
}

echo "bpfcc autopkgtest — bpfcc-lua smoke test"
echo "=========================================="

# 1. Check bcc-lua binary exists
lua_bin="/usr/bin/bcc-lua"
if [ -x "$lua_bin" ]; then
    echo "  PASS: bcc-lua binary exists at $lua_bin"
else
    echo "  SKIP: bcc-lua binary not found (package may not be installed on this arch)"
fi

# 2. Check Lua module via lua interpreter
if command -v lua >/dev/null 2>&1 || command -v lua5.1 >/dev/null 2>&1 || command -v luajit >/dev/null 2>&1; then
    # Try to find lua interpreter
    LUA_CMD=$(command -v lua || command -v lua5.1 || command -v luajit || echo "")
    if [ -n "$LUA_CMD" ]; then
        # Check if bcc Lua module loads
        if "$LUA_CMD" -e "require('bcc')" >/dev/null 2>&1; then
            echo "  PASS: Lua bcc module loads via $LUA_CMD"
        else
            echo "  SKIP: Lua bcc module not available (may need luajit)"
        fi
    else
        echo "  SKIP: Lua interpreter not found"
    fi
else
    echo "  SKIP: Lua interpreter not available"
fi

# 3. Check for Lua bindings files
if [ -d /usr/lib/lua ]; then
    lua_files=$(find /usr/lib/lua -name "*bcc*" -type f 2>/dev/null | head -5)
    if [ -n "$lua_files" ]; then
        echo "  PASS: Lua bcc bindings found"
    else
        echo "  SKIP: No Lua bcc bindings found in /usr/lib/lua"
    fi
else
    echo "  SKIP: /usr/lib/lua not found"
fi

echo "=========================================="
if [ $failed -gt 0 ]; then
    echo "FAILED: $failed test(s)"
    exit 1
else
    echo "ALL SMOKE TESTS PASSED"
fi

echo "bpfcc-lua-smoke: PASS"
