neuer testfall

This commit is contained in:
2026-09-15 14:21:14 +02:00
parent 44f14e3e98
commit 044103300b
2 changed files with 160 additions and 1 deletions
+1 -1
View File
@@ -8,7 +8,7 @@
// Serviceprogramm erstellen mit : // Serviceprogramm erstellen mit :
// CRTSRVPGM SRVPGM(GOSCH1/MEDDFNSRV) // CRTSRVPGM SRVPGM(GOSCH1/MEDDFNSRV)
// MODULE(GOSCH1/MEDDFNSRV // MODULE(GOSCH1/MEDDFNSRV
// GOSCH1/MEEDFNPRS // GOSCH1/MEdDFNPRS
// GOSCH1/MEDDFNBLD) // GOSCH1/MEDDFNBLD)
// EXPORT(*SRCFILE) // EXPORT(*SRCFILE)
// SRCFILE(GOSCH1/MEDDFN) // SRCFILE(GOSCH1/MEDDFN)
+159
View File
@@ -0,0 +1,159 @@
**FREE
//=====================================================================
//
// Project.....: MEDDFN
//
// Member......: MEDDFNTSTX
//
// Description.: MEDDFN Parser Error Test Program
//
// Erstellen mit:
//
// CRTRPGMOD MODULE(GOSCH1/MEDDFNTSTX)
// SRCSTMF('/home/GOSCH/meddfn/meddfntstx.rpgle')
// OPTION(*EVENTF)
// DBGVIEW(*SOURCE)
// TGTRLS(*CURRENT)
//
// CRTPGM PGM(GOSCH1/MEDDFNTSTX)
// MODULE(GOSCH1/MEDDFNTSTX)
// MODULE(GOSCH1/MEDDFNPRS)
// ACTGRP(*NEW)
// TGTRLS(*CURRENT)
//
//=====================================================================
ctl-opt
option(*srcstmt:*nodebugio);
/COPY './meddfn_h.rpgle'
/COPY './meddfnap_h.rpgle'
//=====================================================================
//
// Data
//
//=====================================================================
dcl-s ReceiverBuffer
char(32767);
dcl-ds MediaDefinition
likeds(MD_MediaDefinition_T);
dcl-ds Error
likeds(MD_Error_T);
//=====================================================================
//
// Prototype
//
//=====================================================================
dcl-pr MD_ParseRetrieveBuffer;
ReceiverBuffer
char(32767) const
options(*varsize);
MediaDefinition
likeds(MD_MediaDefinition_T);
Error
likeds(MD_Error_T);
end-pr;
dcl-pr TestInvalidHeader;
end-pr;
//=====================================================================
//
// Main
//
//=====================================================================
TestInvalidHeader();
dsply '----------------------------------------';
dsply 'MEDDFN Parser Error Test completed';
dsply '----------------------------------------';
//=====================================================================
//
// TestInvalidHeader
//
// Verifies that the parser rejects an invalid TAPE0200 header.
//
// The buffer is cleared, so LengthOfHeader is zero instead of the
// expected TAPE0200 header length.
//
// Expected error: MDF2001
//
//=====================================================================
dcl-proc TestInvalidHeader;
clear ReceiverBuffer;
clear MediaDefinition;
clear Error;
dsply '----------------------------------------';
dsply 'Test: Invalid TAPE0200 header';
dsply '----------------------------------------';
monitor;
MD_ParseRetrieveBuffer(
ReceiverBuffer :
MediaDefinition :
Error);
on-error;
dsply 'FAIL Unexpected runtime error';
return;
endmon;
if Error.HasError;
dsply 'PASS Error.HasError';
else;
dsply 'FAIL Error.HasError';
endif;
if Error.MessageID = 'MDF2001';
dsply 'PASS Error.MessageID';
else;
dsply 'FAIL Error.MessageID';
endif;
if %trim(Error.MessageData) = '';
dsply 'PASS Error.MessageData';
else;
dsply 'INFO Error.MessageData contains data';
endif;
end-proc;
//=====================================================================
//
// End
//
//=====================================================================
*inlr = *on;
return;