WITH REPORT;
USE REPORT;
WITH TEXT_IO;
USE TEXT_IO;
PROCEDURE CE3102F IS
INCOMPLETE : EXCEPTION;
FILE : FILE_TYPE;
BEGIN
TEST ("CE3102F", "CHECK THAT USE_ERROR IS RAISED WHEN AN " &
"EXTERNAL FILE CANNOT BE RESET");
BEGIN
CREATE (FILE, OUT_FILE, LEGAL_FILE_NAME);
EXCEPTION
WHEN USE_ERROR =>
NOT_APPLICABLE ("USE_ERROR RAISED ON CREATE");
RAISE INCOMPLETE;
WHEN NAME_ERROR =>
NOT_APPLICABLE ("NAME_ERROR RAISED ON CREATE");
RAISE INCOMPLETE;
END;
BEGIN
RESET (FILE);
NOT_APPLICABLE ("RESET FOR OUT_FILE MODE ALLOWED - 1");
EXCEPTION
WHEN USE_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("UNEXPECTED EXCEPTION RAISED FOR RESET - 1");
END;
PUT (FILE, "HELLO");
BEGIN
RESET (FILE, IN_FILE);
NOT_APPLICABLE ("RESET FROM OUT_FILE TO IN_FILE MODE " &
"ALLOWED - 1");
EXCEPTION
WHEN USE_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("UNEXPECTED EXCEPTION RASIED FOR RESET - 2");
END;
CLOSE (FILE);
BEGIN
OPEN (FILE, IN_FILE, LEGAL_FILE_NAME);
EXCEPTION
WHEN USE_ERROR =>
NOT_APPLICABLE ("TEXT_IO NOT SUPPORTED FOR IN_FILE " &
"OPEN");
RAISE INCOMPLETE;
END;
BEGIN
RESET (FILE);
NOT_APPLICABLE ("RESET FOR IN_FILE MODE ALLOWED - 2");
EXCEPTION
WHEN USE_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("UNEXPECTED EXCEPTION RAISED FOR RESET - 3");
END;
BEGIN
RESET (FILE, OUT_FILE);
NOT_APPLICABLE ("RESET FROM IN_FILE TO OUT_FILE MODE " &
"ALLOWED - 2");
EXCEPTION
WHEN USE_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("UNEXPECTED EXCEPTION RAISED FOR RESET - 4");
END;
BEGIN
DELETE (FILE);
EXCEPTION
WHEN USE_ERROR =>
NULL;
END;
RESULT;
EXCEPTION
WHEN INCOMPLETE =>
RESULT;
END CE3102F;