Include si sistemul de depanare/testare headless din Teste\ (harness UI cu capturi, verificare de sintaxa prin compilare, wrappere text<->binar) si docs\depanare_testare_flora2roa.md.
56 lines
1.8 KiB
Plaintext
56 lines
1.8 KiB
Plaintext
* test_helpers.prg - proceduri comune testelor FLORA2ROA (handler de erori headless + aserturi).
|
|
* Se incarca automat din test_init_env_auto.prg cu SET PROCEDURE ... ADDITIVE.
|
|
* TestErrorHandler - ON ERROR pentru rulare fara consola: logheaza si continua
|
|
* TestAssert(cond, mesaj) - PASS/FAIL in log; incrementeaza gnTestFail la esec
|
|
* TestAssertEqual(asteptat, obtinut, mesaj)
|
|
* TestRezultat() - 'PASS'/'FAIL' + numarul de aserturi picate
|
|
* TestLog(mesaj) - scrie in gcUILog (harness) sau in gcTestErrLog
|
|
|
|
PROCEDURE TestErrorHandler
|
|
LPARAMETERS tnError, tcMessage, tcProgram, tnLine
|
|
LOCAL lcLinie
|
|
lcLinie = TTOC(DATETIME()) + ' EROARE ' + TRANSFORM(tnError) + ': ' + TRANSFORM(tcMessage) + ;
|
|
' | program: ' + TRANSFORM(tcProgram) + ' | linia: ' + TRANSFORM(tnLine)
|
|
IF TYPE('gcTestErrLog') = 'C' AND !EMPTY(gcTestErrLog)
|
|
SET SAFETY OFF
|
|
STRTOFILE(lcLinie + CHR(13) + CHR(10), gcTestErrLog, .T.)
|
|
ENDIF
|
|
TestLog(lcLinie)
|
|
ENDPROC
|
|
|
|
PROCEDURE TestLog
|
|
LPARAMETERS tcMesaj
|
|
IF TYPE('gcUILog') = 'C' AND !EMPTY(gcUILog)
|
|
DO HarnessLog WITH TRANSFORM(tcMesaj)
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
FUNCTION TestAssert
|
|
LPARAMETERS tlConditie, tcMesaj
|
|
IF TYPE('gnTestFail') <> 'N'
|
|
PUBLIC gnTestFail
|
|
gnTestFail = 0
|
|
ENDIF
|
|
IF tlConditie
|
|
TestLog('PASS: ' + TRANSFORM(tcMesaj))
|
|
ELSE
|
|
gnTestFail = gnTestFail + 1
|
|
TestLog('FAIL: ' + TRANSFORM(tcMesaj))
|
|
ENDIF
|
|
RETURN tlConditie
|
|
ENDFUNC
|
|
|
|
FUNCTION TestAssertEqual
|
|
LPARAMETERS tuAsteptat, tuObtinut, tcMesaj
|
|
LOCAL llEgal
|
|
llEgal = (TRANSFORM(tuAsteptat) == TRANSFORM(tuObtinut))
|
|
RETURN TestAssert(llEgal, TRANSFORM(tcMesaj) + ' [asteptat: ' + TRANSFORM(tuAsteptat) + ;
|
|
' | obtinut: ' + TRANSFORM(tuObtinut) + ']')
|
|
ENDFUNC
|
|
|
|
FUNCTION TestRezultat
|
|
LOCAL lnFail
|
|
lnFail = IIF(TYPE('gnTestFail') = 'N', gnTestFail, 0)
|
|
RETURN IIF(lnFail = 0, 'PASS', 'FAIL (' + TRANSFORM(lnFail) + ' aserturi picate)')
|
|
ENDFUNC
|