; Erase gap test 11. ; ; Test 11: Check invalid trailing record length within gap. ; ; Operations: ; - write 36 byte record "AA" ; - write 4788 byte record "BB" ; - write 32 byte record "CC" ; - rewind ; - write 32 byte record "DD" ; - write gap ; ; Record "DD" overwrites record "AA", with "DD"'s trailing length marker of 32 ; immediately followed by "AA"'s trailing length marker of 36. The gap scan ; finds a valid leading length marker of 36. However, the trailing length ; marker, which falls within the gap area, is "BBBB" and does not match, so the ; tape is considered to be invalid, and the rest of the scan is skipped. The ; nominal 4800-byte gap overwrites the trailing length marker and record "BB" ; exactly, leaving record "CC" untouched. ; ; Correct tape: ; Processing tape file 1 ; Obj 1, position 0, erase gap, length = 4800 (0x12C0) ; Obj 2, position 4800, record 1, length = 32 (0x20) ; Obj 3, position 4840, erase gap, length = 4800 (0x12C0) ; Obj 4, position 9640, record 2, length = 32 (0x20) ; End of physical tape attach -n msc0 gap-test-11.tape go until '@' ; reply '10 SEL0\r' go until '@' ; reply '20 SD AA 18\r' go until '@' ; reply '25 WR\r' go until '@' ; reply '30 SD BB 2394\r' go until '@' ; reply '35 WR\r' go until '@' ; reply '40 SD CC 16\r' go until '@' ; reply '45 WR\r' go until '@' ; reply '50 REW\r' go until '@' ; reply '51 GOSB 3000\r' go until '@' ; reply '60 SD DD 16\r' go until '@' ; reply '65 WR\r' go until '@' ; reply '70 GAP\r' go until '@' ; reply '1000 STOP\r' go until '@' ; reply '2000 SFC 2000\r' go until '@' ; reply '2010 RTN\r' go until '@' ; reply '3000 SFC 3000\r' go until '@' ; reply '3010 SC 3010 100100\r' go until '@' ; reply '3020 RTN\r' go until '@' ; reply 'GO\r' go until '@' ; reply 'BYE\r' go detach msc0 ! mtdump gap-test-11.tape > gap-test-11.log