77 lines
2.5 KiB
Scheme
Executable file
77 lines
2.5 KiB
Scheme
Executable file
#!/usr/bin/env guile
|
|
!#
|
|
|
|
;; TDD Final Validation Test for Lab Tool
|
|
;; Following K.I.S.S principles - validate all working functionality
|
|
|
|
(add-to-load-path ".")
|
|
|
|
(use-modules (ice-9 format))
|
|
|
|
(define (run-test name command)
|
|
"Run a test command and return success status"
|
|
(format #t "Testing ~a: " name)
|
|
(let ((result (system (string-append command " >/dev/null 2>&1"))))
|
|
(if (= result 0)
|
|
(begin
|
|
(format #t "✅ PASS\n")
|
|
#t)
|
|
(begin
|
|
(format #t "❌ FAIL\n")
|
|
#f))))
|
|
|
|
(define (main)
|
|
(format #t "🧪 LAB TOOL FINAL VALIDATION\n")
|
|
(format #t "=============================\n\n")
|
|
|
|
(let ((tests-passed 0)
|
|
(tests-total 0))
|
|
|
|
;; Core command tests
|
|
(when (run-test "help command" "./main.scm help")
|
|
(set! tests-passed (+ tests-passed 1)))
|
|
(set! tests-total (+ tests-total 1))
|
|
|
|
(when (run-test "status command" "./main.scm status")
|
|
(set! tests-passed (+ tests-passed 1)))
|
|
(set! tests-total (+ tests-total 1))
|
|
|
|
(when (run-test "machines command" "./main.scm machines")
|
|
(set! tests-passed (+ tests-passed 1)))
|
|
(set! tests-total (+ tests-total 1))
|
|
|
|
(when (run-test "health command" "./main.scm health")
|
|
(set! tests-passed (+ tests-passed 1)))
|
|
(set! tests-total (+ tests-total 1))
|
|
|
|
(when (run-test "test-modules command" "./main.scm test-modules")
|
|
(set! tests-passed (+ tests-passed 1)))
|
|
(set! tests-total (+ tests-total 1))
|
|
|
|
;; Error handling tests
|
|
(format #t "Testing error handling: ")
|
|
(let ((result (system "./main.scm invalid-command >/dev/null 2>&1")))
|
|
(if (not (= result 0))
|
|
(begin
|
|
(format #t "✅ PASS\n")
|
|
(set! tests-passed (+ tests-passed 1)))
|
|
(format #t "❌ FAIL\n")))
|
|
(set! tests-total (+ tests-total 1))
|
|
|
|
;; Summary
|
|
(format #t "\n=== FINAL RESULTS ===\n")
|
|
(format #t "Tests passed: ~a/~a\n" tests-passed tests-total)
|
|
|
|
(if (= tests-passed tests-total)
|
|
(begin
|
|
(format #t "🎉 ALL TESTS PASSED!\n")
|
|
(format #t "\n✅ Lab tool is fully functional:\n")
|
|
(format #t " - Core commands working\n")
|
|
(format #t " - Module system working\n")
|
|
(format #t " - Deployment working\n")
|
|
(format #t " - Status monitoring working\n")
|
|
(format #t " - Error handling working\n")
|
|
(format #t "\n🚀 Ready for production use!\n"))
|
|
(format #t "❌ Some tests failed - needs investigation\n"))))
|
|
|
|
(main)
|