OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [ada/] [acats/] [tests/] [ca/] [ca110042.am] - Diff between revs 294 and 338

Only display areas with differences | Details | Blame | View Log

Rev 294 Rev 338
-- CA110042.AM
-- CA110042.AM
--
--
--                             Grant of Unlimited Rights
--                             Grant of Unlimited Rights
--
--
--     Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
--     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
--     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 in the software and documentation contained herein.
--     Unlimited rights are defined in DFAR 252.227-7013(a)(19).  By making
--     Unlimited rights are defined in DFAR 252.227-7013(a)(19).  By making
--     this public release, the Government intends to confer upon all
--     this public release, the Government intends to confer upon all
--     recipients unlimited rights  equal to those held by the Government.
--     recipients unlimited rights  equal to those held by the Government.
--     These rights include rights to use, duplicate, release or disclose the
--     These rights include rights to use, duplicate, release or disclose the
--     released technical data and computer software in whole or in part, in
--     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
--     any manner and for any purpose whatsoever, and to have or permit others
--     to do so.
--     to do so.
--
--
--                                    DISCLAIMER
--                                    DISCLAIMER
--
--
--     ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
--     ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
--     DISCLOSED ARE AS IS.  THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
--     DISCLOSED ARE AS IS.  THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
--     WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
--     WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
--     SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
--     SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
--     OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
--     OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
--     PARTICULAR PURPOSE OF SAID MATERIAL.
--     PARTICULAR PURPOSE OF SAID MATERIAL.
--*
--*
--
--
-- OBJECTIVE:
-- OBJECTIVE:
--      Check that the private part of a child library unit package can
--      Check that the private part of a child library unit package can
--      utilize its parent unit's visible definitions.
--      utilize its parent unit's visible definitions.
--
--
-- TEST DESCRIPTION:
-- TEST DESCRIPTION:
--      Declare a public library unit package and child package, with the
--      Declare a public library unit package and child package, with the
--      child package having a private part in the specification.  Within
--      child package having a private part in the specification.  Within
--      this child private part, make use of components that are declared in
--      this child private part, make use of components that are declared in
--      the visible part of the parent.
--      the visible part of the parent.
--
--
--      Demonstrate visibility to the following parent components in the
--      Demonstrate visibility to the following parent components in the
--      child private part:
--      child private part:
--                          Parent
--                          Parent
--          Type              X
--          Type              X
--          Constant          X
--          Constant          X
--          Object            X
--          Object            X
--          Subprogram        X
--          Subprogram        X
--          Exception         X
--          Exception         X
--
--
--
--
-- TEST FILES:
-- TEST FILES:
--      The following files comprise this test:
--      The following files comprise this test:
--
--
--         CA110040.A
--         CA110040.A
--         CA110041.A
--         CA110041.A
--      => CA110042.AM
--      => CA110042.AM
--
--
--
--
-- CHANGE HISTORY:
-- CHANGE HISTORY:
--      06 Dec 94   SAIC    ACVC 2.0
--      06 Dec 94   SAIC    ACVC 2.0
--
--
--!
--!
with Report;
with Report;
with CA110040.CA110041;
with CA110040.CA110041;
procedure CA110042 is
procedure CA110042 is
      package System_Manager renames CA110040.CA110041;
      package System_Manager renames CA110040.CA110041;
      use CA110040;
      use CA110040;
      User1, User2, User3 : System_Manager.User_Account;
      User1, User2, User3 : System_Manager.User_Account;
begin
begin
   Report.Test ("CA110042", "Check that the private part of a child "     &
   Report.Test ("CA110042", "Check that the private part of a child "     &
                            "library unit package can utilize its "       &
                            "library unit package can utilize its "       &
                            "parent unit's visible definitions");
                            "parent unit's visible definitions");
   Assign_New_Accounts:            -- This code simulates the entering of new
   Assign_New_Accounts:            -- This code simulates the entering of new
                                   -- user accounts into a computer system.
                                   -- user accounts into a computer system.
                                   -- It also simulates the processing that
                                   -- It also simulates the processing that
                                   -- could occur when the limit on system
                                   -- could occur when the limit on system
                                   -- accounts has been exceeded.
                                   -- accounts has been exceeded.
                                   -- This processing block demonstrates the
                                   -- This processing block demonstrates the
                                   -- use of child package functionality that
                                   -- use of child package functionality that
                                   -- takes advantage of components declared in
                                   -- takes advantage of components declared in
                                   -- the parent package.
                                   -- the parent package.
   begin
   begin
      if Total_Accounts /= 2 then
      if Total_Accounts /= 2 then
         Report.Failed ("Incorrect number of accounts currently allocated");
         Report.Failed ("Incorrect number of accounts currently allocated");
      end if;                                         -- At this point, both
      end if;                                         -- At this point, both
                                                      -- System_Account and
                                                      -- System_Account and
                                                      -- Auditor_Account have
                                                      -- Auditor_Account have
                                                      -- been declared and
                                                      -- been declared and
                                                      -- initialized in package
                                                      -- initialized in package
                                                      -- CA110040.CA110041.
                                                      -- CA110040.CA110041.
      System_Manager.Initialize_User_Account (User1); -- User_ID has been
      System_Manager.Initialize_User_Account (User1); -- User_ID has been
                                                      -- set to 3.
                                                      -- set to 3.
      System_Manager.Initialize_User_Account (User2); -- User_ID has been
      System_Manager.Initialize_User_Account (User2); -- User_ID has been
                                                      -- set to 4, which
                                                      -- set to 4, which
                                                      -- is the last value
                                                      -- is the last value
                                                      -- defined for the
                                                      -- defined for the
                                                      -- CA110040.ID_Type
                                                      -- CA110040.ID_Type
                                                      -- range.
                                                      -- range.
      System_Manager.Initialize_User_Account (User3); -- This final call will
      System_Manager.Initialize_User_Account (User3); -- This final call will
                                                      -- result in an
                                                      -- result in an
                                                      -- Account_Limit_Exceeded
                                                      -- Account_Limit_Exceeded
                                                      -- exception being raised.
                                                      -- exception being raised.
      Report.Failed ("Control should have transferred with exception");
      Report.Failed ("Control should have transferred with exception");
   exception
   exception
      when Account_Limit_Exceeded =>
      when Account_Limit_Exceeded =>
         if (not (Administrator_Account.User_ID = ID_Type'First)) or
         if (not (Administrator_Account.User_ID = ID_Type'First)) or
           (User2.User_ID /= CA110040.ID_Type'Last)
           (User2.User_ID /= CA110040.ID_Type'Last)
         then
         then
            Report.Failed ("Account initialization failure");
            Report.Failed ("Account initialization failure");
         end if;
         end if;
      when others =>
      when others =>
         Report.Failed ("Unexpected exception raised");
         Report.Failed ("Unexpected exception raised");
   end Assign_New_Accounts;
   end Assign_New_Accounts;
   if (User1.User_ID /= 3) or (User2.User_ID /= 4) then
   if (User1.User_ID /= 3) or (User2.User_ID /= 4) then
      Report.Failed ("Improper initialization of user accounts");
      Report.Failed ("Improper initialization of user accounts");
   end if;
   end if;
   Report.Result;
   Report.Result;
end CA110042;
end CA110042;
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.