mirror of
https://github.com/m1ngsama/TNT.git
synced 2025-12-24 10:51:41 +00:00
Added build targets: - make asan - AddressSanitizer for memory bugs - make debug - Debug symbols - make valgrind - Valgrind helper - make check - Static analysis (cppcheck, clang-tidy) Added test scripts: - test_basic.sh - Basic functionality tests * Server startup * SSH connection * Message logging - test_stress.sh - Load testing * Configurable client count * Configurable duration * Automatic cleanup Updated .gitignore: - test.log - *.dSYM/ Philosophy: Simple, minimal, Unix-style tools. No dependencies on complex test frameworks.
60 lines
1.2 KiB
Bash
Executable file
60 lines
1.2 KiB
Bash
Executable file
#!/bin/sh
|
|
# Basic functional tests
|
|
# Usage: ./test_basic.sh
|
|
|
|
PORT=${PORT:-2222}
|
|
PASS=0
|
|
FAIL=0
|
|
|
|
cleanup() {
|
|
kill $SERVER_PID 2>/dev/null
|
|
rm -f test.log
|
|
}
|
|
|
|
trap cleanup EXIT
|
|
|
|
echo "=== TNT Basic Tests ==="
|
|
|
|
# Start server
|
|
./tnt -p $PORT >test.log 2>&1 &
|
|
SERVER_PID=$!
|
|
sleep 2
|
|
|
|
# Test 1: Server started
|
|
if kill -0 $SERVER_PID 2>/dev/null; then
|
|
echo "✓ Server started"
|
|
PASS=$((PASS + 1))
|
|
else
|
|
echo "✗ Server failed to start"
|
|
FAIL=$((FAIL + 1))
|
|
exit 1
|
|
fi
|
|
|
|
# Test 2: SSH connection
|
|
if timeout 5 ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
|
|
-o BatchMode=yes -p $PORT localhost exit 2>/dev/null; then
|
|
echo "✓ SSH connection works"
|
|
PASS=$((PASS + 1))
|
|
else
|
|
echo "✗ SSH connection failed"
|
|
FAIL=$((FAIL + 1))
|
|
fi
|
|
|
|
# Test 3: Message logging
|
|
echo "test message" | timeout 5 ssh -o StrictHostKeyChecking=no \
|
|
-o UserKnownHostsFile=/dev/null -p $PORT localhost >/dev/null 2>&1 &
|
|
sleep 3
|
|
if [ -f messages.log ]; then
|
|
echo "✓ Message logging works"
|
|
PASS=$((PASS + 1))
|
|
else
|
|
echo "✗ Message logging failed"
|
|
FAIL=$((FAIL + 1))
|
|
fi
|
|
|
|
# Summary
|
|
echo ""
|
|
echo "PASSED: $PASS"
|
|
echo "FAILED: $FAIL"
|
|
[ $FAIL -eq 0 ] && echo "All tests passed" || echo "Some tests failed"
|
|
exit $FAIL
|