#!/bin/sh
set -e

# Test 1: vera++ is installed and runs
echo "Checking vera++ --version..."
vera++ --version
echo "OK: vera++ runs"

# Test 2: vera++ --help works
echo "Checking vera++ --help..."
vera++ --help >/dev/null 2>&1
echo "OK: --help works"

# Test 3: Rules directory is populated
echo "Checking rules are installed..."
rules_count=$(ls /usr/lib/vera++/rules/*.tcl 2>/dev/null | wc -l)
if [ "$rules_count" -eq 0 ]; then
    echo "FAIL: no rules found in /usr/lib/vera++/rules/"
    exit 1
fi
echo "OK: found $rules_count rules"

# Test 4: Profiles directory is populated
echo "Checking profiles are installed..."
if [ ! -f /usr/lib/vera++/profiles/default ]; then
    echo "FAIL: default profile not found"
    exit 1
fi
echo "OK: default profile exists"

# Test 5: Analyse a trivial C++ file
echo "Checking vera++ can analyse a simple file..."
tmpfile=$(mktemp --suffix=.cpp)
cat > "$tmpfile" <<'EOF'
int main()
{
    return 0;
}
EOF
vera++ "$tmpfile" || true  # rules may emit warnings, that is fine
echo "OK: vera++ processed a C++ file"
rm -f "$tmpfile"

echo "All smoke tests passed."
