[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference clt::dtm

Title:DEC/Test Manager - 'DTM Classic!'
Notice:Current version: V3.7-2 (see Note 3.2)
Moderator:EDSDS6::TOWNSEND
Created:Sat Jan 25 1986
Last Modified:Tue Jun 03 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2062
Total number of notes:7720

2060.0. "callable interface - message handler problems" by NEWVAX::RIGGS (Kirk Riggs - Washington D.C. PSC) Fri Apr 11 1997 15:30

I am experimenting with using the callable interface of DTM.  I can execute
commands, but DTM is not calling my message-handler routine in all cases.

I am using DTM version 3.5-2 on VAX/VMS V6.2.  Below I have included my 
test program and its output.  The program issues one DTM command, "RUN 
SHOWTIM".   The test collection merely exectues the DCL command SHOW TIME.

The first time I run the program, I have not defined a DTM library, so I 
expect to receive and error.  As expected, DTM calls my message handler 
routine.  Everything is OK here.

The next time I run the program, I have correctly defined the DTM library 
beforehand and the collection is actually run.  However, DTM displays 
several messages and never calls my message handler routine.  Why doesn't 
DTM call msg_handler?  I was hoping to capture the message 
"%DTM-I-UNSUCCESS" to determine if the test was successful.

For reference, here is the error I expect for the first run:

ZIGLAR> dtm run showtim
%DTM-E-NOREF, unable to reference DTM$LIB:
-DTM-E-USESETLIB, use DEC Test Manager SET LIBRARY
ZIGLAR> 


And this is the output of the program for the first run:


ZIGLAR> run vaxtest

         OpenVMS VAX DEBUG Version V6.2-000

%DEBUG-I-INITIAL, language is C, module set to VAXTEST

DBG> g
error reported to msg_handler routine is 9d8552

returned status is 9d8552
%DEBUG-I-EXITSTATUS, is '%SYSTEM-S-NORMAL, normal successful completion'
DBG> set radix hex
DBG> evaluate/condition 9d8552
%DTM-E-NOREF, unable to reference !AS
DBG>  Exit 
ZIGLAR> 

Then I set the library ...

ZIGLAR> 
ZIGLAR> dtm
DTM> set lib [.vaxdtm]
%DTM-S-LIBIS, DEC Test Manager library is USER4$:[RIGGS.VAXDTM]
DTM> exit
ZIGLAR> 

And this is the program output for the second run:

ZIGLAR> run vaxtest

         OpenVMS VAX DEBUG Version V6.2-000

%DEBUG-I-INITIAL, language is C, module set to VAXTEST

DBG> g

Starting SHOWTIM test run...

%DTM-I-BEGIN, your interactive test session is now beginning...
ZIGLAR> show time
  11-APR-1997 13:35:47
ZIGLAR> 
%DTM-S-CONCLUDED, your interactive test session has concluded

Performing post-run cleanup with comparison...

%DTM-I-UNSUCCESS, the comparison for the test SHOWTIM was unsuccessful
%DTM-S-COMPARED, collection SHOWTIM compared

returned status is 9d8989
%DEBUG-I-EXITSTATUS, is '%SYSTEM-S-NORMAL, normal successful completion'
DBG> 

Notice that the message handler routine was never called!

Here is the program:


#include <stdio>
#include <descrip.h>                 /* For DSC$ constants / structures */
#include <chfdef.h>
#include <ssdef.h>


unsigned dtm$dtm ();
unsigned msg_handler (
	struct chf$signal_array *sigarr,
	struct chf$mech_array   *mcharr );

MAIN ()
{

unsigned stat;

$DESCRIPTOR(run_test,     "RUN SHOWTIM"); /* does a $SHOW TIME  */


stat = dtm$dtm(&run_test,&msg_handler);
    printf ("\nreturned status is %x\n", stat);
return (1);

}
unsigned msg_handler (
	struct chf$signal_array *sigarr,
	struct chf$mech_array   *mcharr )
  {
  printf("error reported to msg_handler routine is %x\n",sigarr->chf$l_sig_name);
  return (SS$_RESIGNAL);
  }

T.RTitleUserPersonal
Name
DateLines
2060.1EDSDS6::WANGJames - DECset EngineeringMon Apr 14 1997 16:0621

According to "Guide to DEC Test Manager for OpenVMS Systems ", Test Manager 
for Open VMS handles error conditions in two ways.  See Section 10.3. So
I think the result in your example is the expected behavior since the message
handler will be called only for error conditions not for any of the other 
conditions: Error, Success, and Informational.
 
%DTM-I-UNSUCCESS, the comparison for the test SHOWTIM was unsuccessful

This message indicate the comparison for this test was unsuccessful, 
e.g. the result file for this test didn't match its benchmark file. However, 
DTM will not treat this as error condition (even though the message look 
incorrect). That's why your message handler routine wouldn't be called in your 
example.

DBG> eva/cond 9d8989
%DTM-S-NORMAL, normal successful completion


    -James
2060.1EDSDS6::WANGJames - DECset EngineeringTue Apr 15 1997 08:3920
According to "Guide to DEC Test Manager for OpenVMS Systems ", Test Manager 
for Open VMS handles error conditions in two ways.  See Section 10.3. So
I think the result in your example is the expected behavior since the message
handler will be called only for error conditions not for any of the other 
conditions: Fatal, Success, and Informational.
 
%DTM-I-UNSUCCESS, the comparison for the test SHOWTIM was unsuccessful

This message indicate the comparison for this test was unsuccessful, 
e.g. the result file for this test didn't match its benchmark file. However, 
DTM will not treat this as error condition (even though the message look 
incorrect). That's why your message handler routine wouldn't be called in your 
example.

DBG> eva/cond 9d8989
%DTM-S-NORMAL, normal successful completion


    -James