|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 14454 (0x3876)
Types: TextFile
Names: »V«
└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
└─⟦5cb1d1d7f⟧ »DATA«
└─⟦3b1ee7bd8⟧
└─⟦this⟧
with Type_Definitions, Implementation_Dependencies, Time_Library_1;
with Calendar;
-----------------
package Write_Log is
-----------------
--| Overview
--| Write_Log is an output package used by the Run Time Monitor (RTM)
--| for the Ada Testing and Evaluation Tools. It performs all output
--| to the Execution Log File (ELF) that is used to dynamically record
--| information about programs written in the Ada language. The ELF is
--| used for output by the Run Time Monitor (RTM) to record runtime
--| information about the execution of the Ada program being
--| tested. It is used as input by various report generators which
--| summarize the information and present it in a meaningful format.
--| N/A: Errors, Raises, Modifies, Requires
-- Version : 5.0
-- Author : Jeff England
-- Last Modified : 05/13/85
use Type_Definitions; --| Global type declarations for all of
--| the Ada Testing and Analysis Tools.
use Implementation_Dependencies; --| Ada Compiler dependencies
use Time_Library_1; --| For Timing_Type ( Wall_Clock, Raw )
Logfile_Access_Error : exception;--| Raised if attempt to:
--| - open already open file
--| - put to unopened file
--| - close unopened file
--------------------
procedure Create_Log (--| Creates and opens the ELF for output
Logfile_Name : in
Filename; --| Name of logfile to be created
Timing_Method : in Time_Library_1.Timing_Type := Raw;
--| The method of recording timing data
Start_Time : in Calendar.Time --| Program start time
);
--| Raises: Logfile_Access_Error
--| Effects
--| Creates and opens the ELF for output by the Run Time Monitor.
--| If the logfile already exists it will be overwritten.
--| The date and time of the test are written
--| to the logfile. If the logfile is already open then a
--| Logfile_Access_Error exception is raised. Any other
--| Text_IO exceptions that may be raised are allowed to pass
--| unhandled back to the calling program.
--| Requires
--| Logfile_Name must conform to the file naming conventions for
--| the host computer operating system.
--| N/A: Modifies, Errors
--------------------------------
procedure Put_Configuration_Data
(--| Records configuration info in the ELF
Tool_Name : in Tool_Names; --| Name of the tool
Program_Name : in Ada_Name; --| Program being tested
Test_Ident : in
Test_Identifier --| A unique identifier specified
--| by the user
);
--| Raises: Logfile_Access_Error
--| Effects
--| Records test configuration information in the logfile. The purpose of
--| recording this information in the logfile is to internally uniquely
--| identify the logfile for later use by the report generators. If the
--| logfile already exists it will be overwritten. If the logfile
--| is already open then the exception Logfile_Access_Error is raised.
--| Any other Text_IO exceptions that may be raised are allowed to
--| pass unhandled back to the calling program.
--| Requires
--| The logfile must have been previously opened via a call to the
--| procedure Create_Log.
--| N/A: Modifies, Errors
--------------------------
procedure Define_Compilation_Unit
(--| Define a new compilation unit
Compilation_Unit : in
Ada_Name; --| Name of the compilation unit
Number_Of_Breakpoints : in Breakpoint_Number_Range;
--| Number of breakpoints in the compilation unit
List_Of_Procedures : in
Procedure_List --| Array of names and unit
--| types of all program units
--| in this compilation unit
);
--| Raises: Logfile_Access_Error
--| Effects
--| Defines a new Compilation Unit and all of its program units
--| to the execution log file. Subsequent references by the calling
--| program to program units in the current compilation unit will
--| be by a unit ID of type Program_Unit where:
--|
--| Unit_Identifier.Program_Unit_Number = offset into List_of_Procedures
--|
--| If the logfile has not been previously opened via a call to
--| the procedure Create_Log then the exception Logfile_Access_Error
--| is raised.
--| Requires
--| The log file must have been previously opened by the calling
--| program via a call to Create_Log.
--| N/A: Modifies, Errors
--------------------
procedure Start_Unit
(--| starts the current unit in the ELF
Unit_Identifier : in Program_Unit_Unique_Identifier;
--| A unique ID assigned by the Source Instrumenter for the current unit
Start_Time : in out Calendar.Time --| Program unit start time
);
--| Effects
--| Puts the program unit and start time to the execution log file.
--| Requires
--| The log file must have been previously opened by the calling
--| program via a call to Create_Log.
--| N/A: Raises, Modifies, Errors
-------------------
procedure Stop_Unit
(--| Stops the current unit in the ELF
Unit_Identifier : in Program_Unit_Unique_Identifier;
--| A unique ID assigned by the Source Instrumenter for the current unit
Stop_Time : in out Calendar.Time --| Program unit stop time
);
--| Effects
--| Puts the program unit and stop time to the execution log file.
--| Requires
--| The log file must have been previously opened by the calling
--| program via a call to Create_Log.
--| The program unit must have been previously defined to the log file by
--| the calling program via a call to the procedure Define_Compilation_Unit.
--| N/A: Raises, Modifies, Errors
-----------------------
function Starting_Delay
(--| Records a delay for the specified unit and
--| duration in the ELF
Unit_Identifier : in Program_Unit_Unique_Identifier;
--| A unique ID assigned by the Source Instrumenter for the current unit
Seconds : in Duration
)
return Duration;
--| Effects
--| Records a delay for the specified unit and duration in the
--| Execution Log File. The length of the Delay is returned to
--| the calling unit.
--| Requires
--| The log file must have been previously opened by the calling
--| program via a call to Create_Log.
--| The program unit must have been previously defined to the log file by
--| the calling program via a call to the procedure Define_Compilation_Unit.
--| N/A: Raises, Modifies, Errors
------------------------
procedure Put_Breakpoint
(--| Puts info about the current breakpont to ELF
Breakpoint_Type : in
Breakpoint_Types; --| The type of breakpoint
Unit_Identifier : in Program_Unit_Unique_Identifier;
--| A unique ID assigned by the Source Instrumenter for the current unit
Current_Breakpoint : in Breakpoint_Number_Range
--| The breakpoint number assigned by the Source Instrumenter
);
--| Effects
--| Puts the program unit, statement type, and current breakpoint
--| number to the execution log file.
--| Requires
--| The log file must have been previously opened by the calling
--| program via a call to Create_Log.
--| The program unit must have been previously defined to the log file by
--| the calling program via a call to the procedure Define_Compilation_Unit.
--| N/A: Raises, Modifies, Errors
-----------------------------
procedure Put_Call_Parameters (--| Log AutoPath input parameter list to ELF
Call_Parameters : in Input_Parameter_List
--| The user specified input parameter list
);
--| Effects
--| Logs the calling parameter list for a single execution of the
--| unit under test by the AutoPath shell.
--| Requires
--| The log file must have been previously opened by the calling
--| program via a call to Create_Log.
--| N/A: Raises, Modifies, Errors
-------------------
procedure Put_Value
(--| Logs value of integer variable to the ELF
Unit_Identifier : in Program_Unit_Unique_Identifier;
--| A unique ID assigned by the Source Instrumenter for the current unit
Variable_Name : in String; --| The name of the variable
Integer_Value : in Integer --| The variable's value
);
--| Effects
--| Logs integer values to the execution log file.
--| Puts the program unit, variable name, and current value.
--| Requires
--| The log file must have been previously opened by the calling
--| program via a call to Create_Log.
--| The program unit must have been previously defined to the log file by
--| the calling program via a call to the procedure Define_Compilation_Unit.
--| N/A: Raises, Modifies, Errors
-------------------
procedure Put_Value
(--| Logs value of Long_Integer variable to the ELF
Unit_Identifier : in Program_Unit_Unique_Identifier;
--| A unique ID assigned by the Source Instrumenter for the current unit
Variable_Name : in
String; --| The name of the variable
Long_Integer_Value : in Long_Integer --| The variable's value
);
--| Effects
--| Logs long_integer values to the execution log file.
--| Puts the program unit, variable name, and current value.
--| Requires
--| The log file must have been previously opened by the calling
--| program via a call to Create_Log.
--| The program unit must have been previously defined to the log file by
--| the calling program via a call to the procedure Define_Compilation_Unit.
--| N/A: Raises, Modifies, Errors
-------------------
procedure Put_Value
(--| Logs value of FLOAT variable to the ELF
Unit_Identifier : in Program_Unit_Unique_Identifier;
--| A unique ID assigned by the Source Instrumenter for the current unit
Variable_Name : in String; --| The name of the variable
Float_Value : in Float --| The variable's value
);
--| Effects
--| Logs floating point values to the execution log file
--| Puts the program unit, variable name, and current value
--| Requires
--| The log file must have been previously opened by the calling
--| program via a call to Create_Log.
--| The program unit must have been previously defined to the log file by
--| the calling program via a call to the procedure Define_Compilation_Unit.
--| N/A: Modifies, Errors
-------------------
-- Rational Environment note: Long_Float not supported; following removed - jwb
-- procedure Put_Value (--| Logs value of Long_Float variable to the ELF
-- Unit_Identifier : in Program_Unit_Unique_Identifier;
--| A unique ID assigned by the Source Instrumenter for the current unit
-- Variable_Name : in String; --| The name of the variable
-- Long_Float_Value : in Long_Float --| The variable's value
-- );
--| Effects
--| Logs long_float values to the execution log file.
--| Puts the program unit, variable name, and current value.
--| Requires
--| The log file must have been previously opened by the calling
--| program via a call to Create_Log.
--| The program unit must have been previously defined to the log file by
--| the calling program via a call to the procedure Define_Compilation_Unit.
--| N/A: Raises, Modifies, Errors
-------------------
procedure Put_Value
(--| Logs value of string variable to the ELF
Unit_Identifier : in Program_Unit_Unique_Identifier;
--| A unique ID assigned by the Source Instrumenter for the current unit
Variable_Name : in String; --| The name of the variable
String_Value : in String --| The variable's value
);
--| Effects
--| Logs string values to the execution log file
--| Puts the program unit, variable name, and current value
--| This procedure used to log the value of
--| strings
--| characters
--| enumerated data types (including booleans)
--| Requires
--| The log file must have been previously opened by the calling
--| program via a call to Create_Log.
--| The program unit must have been previously defined to the log file by
--| the calling program via a call to the procedure Define_Compilation_Unit.
--| N/A: Raises, Modifies, Errors
-------------------
procedure Close_Log ( --| Closes the execution log file
Accumulated_Overhead : in
Duration --| Total accumulated tool overhead
);
--| Raises: Logfile_Access_Error
--| Effects
--| Closes the execution log file.
--| If the logfile has not been previously opened via a call to
--| the procedure Create_Log then the exception Logfile_Access_Error
--| is raised.
--| Requires
--| The log file must have been previously opened by the calling
--| program via a call to Create_Log.
--| N/A: Modifies, Errors
end Write_Log;