WITH REPORT; USE REPORT;
WITH DIRECT_IO;
PROCEDURE CE2102M IS
PACKAGE DIR_IO IS NEW DIRECT_IO(INTEGER);
USE DIR_IO;
TEST_FILE_ONE : DIR_IO.FILE_TYPE;
STR : STRING (1 .. 10);
FL_MODE : DIR_IO.FILE_MODE ;
BEGIN
TEST ("CE2102M", "CHECK THAT STATUS_ERROR IS RAISED WHEN " &
"PERFORMING ILLEGAL OPERATIONS ON UNOPENED " &
"FILES OF TYPE DIRECT_IO");
BEGIN
CLOSE (TEST_FILE_ONE);
FAILED ("STATUS_ERROR NOT RAISED WHEN AN UNOPENED FILE " &
"IS USED IN A CLOSE OPERATION");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED ON CLOSE");
END;
BEGIN
DELETE (TEST_FILE_ONE);
FAILED ("STATUS_ERROR NOT RAISED WHEN AN UNOPENED FILE " &
"IS USED IN A DELETE OPERATION");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED ON DELETE");
END;
BEGIN
RESET (TEST_FILE_ONE);
FAILED ("STATUS_ERROR NOT RAISED WHEN AN UNOPENED FILE " &
"IS USED IN A RESET");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED ON RESET");
END;
BEGIN
RESET (TEST_FILE_ONE, IN_FILE);
FAILED ("STATUS_ERROR NOT RAISED WHEN AN UNOPENED FILE " &
"IS USED IN A RESET WITH MODE PARAMETER");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED ON RESET WITH " &
"MODE PARAMETER");
END;
BEGIN
FL_MODE := MODE (TEST_FILE_ONE);
FAILED ("STATUS_ERROR NOT RAISED WHEN AN UNOPENED FILE " &
"IS USED IN A MODE OPERATION");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED ON MODE");
END;
BEGIN
STR := NAME (TEST_FILE_ONE);
FAILED ("STATUS_ERROR NOT RAISED WHEN AN UNOPENED FILE " &
"IS USED IN A NAME OPERATION");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED ON NAME");
END;
BEGIN
STR := FORM (TEST_FILE_ONE);
FAILED ("STATUS_ERROR NOT RAISED WHEN AN UNOPENED FILE " &
"IS USED IN A FORM OPERATION");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED ON FORM");
END;
RESULT;
END CE2102M;