⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cxa8003.a

📁 Mac OS X 10.4.9 for x86 Source Code gcc 实现源代码
💻 A
字号:
-- CXA8003.A----                             Grant of Unlimited Rights----     Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,--     F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained --     unlimited rights in the software and documentation contained herein.--     Unlimited rights are defined in DFAR 252.227-7013(a)(19).  By making --     this public release, the Government intends to confer upon all --     recipients unlimited rights  equal to those held by the Government.  --     These rights include rights to use, duplicate, release or disclose the --     released technical data and computer software in whole or in part, in --     any manner and for any purpose whatsoever, and to have or permit others --     to do so.----                                    DISCLAIMER----     ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR--     DISCLOSED ARE AS IS.  THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED --     WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE--     SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE --     OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A--     PARTICULAR PURPOSE OF SAID MATERIAL.--*---- OBJECTIVE:--      Check that Append_File mode has not been added to package Direct_IO.---- TEST DESCRIPTION:--      This test uses a procedure to change the mode of an existing Direct_IO--      file.  The file descriptor is passed as a parameter, along with a--      numeric indicator for the new mode.  Based on the numeric parameter,--      a Direct_IO.Reset is performed using a File_Mode'Value transformation--      of a string constant into a File_Mode value.  An attempt to reset a --      Direct_IO file to mode Append_File should cause an Constraint_Error--      to be raised, as Append_File mode has not been added to Direct_IO in--      Ada 9X.---- APPLICABILITY CRITERIA: --      This test is applicable to all implementations supporting Direct_IO--      files.----       -- CHANGE HISTORY:--      06 Dec 94   SAIC    ACVC 2.0--      19 Feb 97   PWB.CTA Allowed for non-support of Reset for certain --                  modes.--!with Direct_IO;with Report;procedure CXA8003 is   Incomplete : exception;      begin         Report.Test ("CXA8003", "Check that Append_File mode has not " &                                 "been added to package Direct_IO");         Test_for_Direct_IO_Support:         declare            subtype String_Data_Type    is String (1 .. 20);            type    Numeric_Data_Type   is range 1 .. 512;            type    Composite_Data_Type is array (1 .. 3) of String_Data_Type;            type File_Data_Type is record               Data_Field_1 : String_Data_Type;               Data_Field_2 : Numeric_Data_Type;               Data_Field_3 : Composite_Data_Type;            end record;            package Dir_IO is new Direct_IO (File_Data_Type);            Data_File    : Dir_IO.File_Type;            Dir_Filename : constant String := Report.Legal_File_Name;         begin            -- An application creates a text file with mode Out_File.              -- Use_Error will be raised if Direct_IO operations or external             -- files are not supported.            Dir_IO.Create (Data_File,                            Dir_IO.Out_File,                            Dir_Filename);            Change_File_Mode:            declare               TC_Append_Test_Executed : Boolean := False;               type Mode_Selection_Type is ( A, I, IO, O );                     procedure Change_Mode (File : in out Dir_IO.File_Type;                                      To   : in     Mode_Selection_Type) is               begin                  case To is                     when A  =>                         TC_Append_Test_Executed := True;                        Dir_IO.Reset                           (File, Dir_IO.File_Mode'Value("Append_File"));                     when I  =>                         begin                          Dir_IO.Reset                             (File, Dir_IO.File_Mode'Value("In_File"));                        exception                          when Dir_IO.Use_Error =>                            Report.Not_Applicable                              ("Reset to In_File not supported: Direct_IO");                            raise Incomplete;                        end;                     when IO =>                         begin                          Dir_IO.Reset                             (File, Dir_IO.File_Mode'Value("Inout_File"));                        exception                          when Dir_IO.Use_Error =>                            Report.Not_Applicable                              ("Reset to InOut_File not supported: Direct_IO");                            raise Incomplete;                        end;                     when O  =>                        begin                         Dir_IO.Reset                            (File, Dir_IO.File_Mode'Value("Out_File"));                        exception                          when Dir_IO.Use_Error =>                            Report.Not_Applicable                              ("Reset to Out_File not supported: Direct_IO");                            raise Incomplete;                        end;                  end case;               end Change_Mode;            begin              -- At some point in the processing, the application may call a               -- procedure to change the mode of the file (perhaps for               -- additional data entry, data verification, etc.).  It is at               -- this point that a use of Append_File mode for a Direct_IO               -- file would cause an exception.               for I in reverse Mode_Selection_Type loop                  Change_Mode (Data_File, I);                  Report.Comment                     ("Mode changed to " &                      Dir_IO.File_Mode'Image (Dir_IO.Mode (Data_File)));               end loop;               Report.Failed("No error raised on change to Append_File mode");            exception               -- A handler has been provided in the application, which                -- handles the constraint error, allowing processing to                -- continue.               when Constraint_Error =>                   if TC_Append_Test_Executed then                      Report.Comment ("Constraint_Error correctly raised on " &                                     "attempted Append_File mode selection " &                                     "for a Direct_IO file");                  else                     Report.Failed ("Append test was not executed");                  end if;               when Incomplete => raise;               when others  => Report.Failed ("Unexpected exception raised");            end Change_File_Mode;            Final_Block:            begin              if Dir_IO.Is_Open (Data_File) then                 Dir_IO.Delete (Data_File);              else                 Dir_IO.Open (Data_File, Dir_IO.In_File, Dir_Filename);                 Dir_IO.Delete (Data_File);              end if;            exception              when others =>                Report.Failed ("Delete not properly supported: Direct_IO");            end Final_Block;         exception            -- Since Use_Error or Name_Error can be raised if, for the             -- specified mode, the environment does not support Direct_IO             -- operations, the following handlers are included:            when Dir_IO.Name_Error =>               Report.Not_Applicable("Name_Error raised on Direct IO Create");            when Dir_IO.Use_Error  =>               Report.Not_Applicable("Use_Error raised on Direct IO Create");            when others            =>               Report.Failed                  ("Unexpected exception raised on Direct IO Create");         end Test_for_Direct_IO_Support;         Report.Result;exception  when Incomplete =>    Report.Result;end CXA8003;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -