The following is a screen capture for installation, running unit tests, and running coverage analysis on the m-unit routines (%ut, %ut1, and %utcover) in the GT.M environment. VISTA>S DUZ=1 D Q^DI,^%ZIS VA FileMan 22.0 Select OPTION: DEVICE: HOME// Console (Cache' on Windows) Right Margin: 80// VISTA>D ^XUP Setting up programmer environment This is a TEST account. Terminal Type set to: C-VT100 Select OPTION NAME: EVE 1 EVE Systems Manager Menu 2 EVENT CAPTURE ECX ECS MAINTENANCE Event Capture 3 EVENT CAPTURE (ECS) EXTRACT AU ECX ECS SOURCE AUDIT Event Capture (ECS) Extract Audit 4 EVENT CAPTURE DATA ENTRY ECENTER Event Capture Data Entry 5 EVENT CAPTURE EXTRACT ECXEC Event Capture Extract Press to see more, '^' to exit this list, OR CHOOSE 1-5: 1 EVE Systems Manager Menu Select Systems Manager Menu Option: PROgrammer Options Select Programmer Options Option: KIDS Kernel Installation & Distribution Syste m Select Kernel Installation & Distribution System Option: INSTallation Select Installation Option: LOAd a Distribution Enter a Host File: C:\TEMP\M\MASH_1.3_0.KID KIDS Distribution saved on Dec 16, 2015@10:13:18 Comment: Updated version supporting coverage analysis in Cache systems. This Distribution contains Transport Globals for the following Package(s): MASH*1.3*0 Distribution OK! Want to Continue with Load? YES// Loading Distribution... MASH*1.3*0 This Patch is for Version 1.3, you are running Version 1 Want to continue installing this build? NO// YES Use INSTALL NAME: MASH*1.3*0 to install this Distribution. Select Installation Option: INSTall Package(s) Select INSTALL NAME: MASH*1.3*0 Loaded from Distribution 12/16/15@11:03 :06 This Distribution was loaded on Dec 16, 2015@11:03:06 with header of Updated version supporting coverage analysis in Cache systems. ;Created on D ec 16, 2015@10:13:18 It consisted of the following Install(s): MASH*1.3*0 Checking Install for Package MASH*1.3*0 This Patch is for Version 1.3, you are running Version 1 Want to continue installing this build? NO// YES Install Questions for MASH*1.3*0 Incoming Files: 17.9001 M-UNIT TEST GROUP (including data) Want KIDS to Rebuild Menu Trees Upon Completion of Install? NO// Want KIDS to INHIBIT LOGONs during the install? NO// Want to DISABLE Scheduled Options, Menu Options, and Protocols? NO// Enter the Device you want to print the Install messages. You can queue the install by enter a 'Q' at the device prompt. Enter a '^' to abort the install. DEVICE: HOME// Console (Cache' on Windows) Install Started for MASH*1.3*0 : Dec 16, 2015@11:04:04 Build Distribution Date: Dec 16, 2015 Installing Routines: Dec 16, 2015@11:04:04 Running Pre-Install Routine: ^ZZUTPRE Installing Data Dictionaries: Dec 16, 2015@11:04:04 Installing Data: Dec 16, 2015@11:04:04 Installing PACKAGE COMPONENTS: Installing REMOTE PROCEDURE Installing OPTION Dec 16, 2015@11:04:04 Running Post-Install Routine: ^ZZUTPOST Routine: ut Loaded, Saved as %ut Routine: ut1 Loaded, Saved as %ut1 Routine: utcover Loaded, Saved as %utcover Routine: utt1 Loaded, Saved as %utt1 Routine: utt2 Loaded, Saved as %utt2 Routine: utt3 Loaded, Saved as %utt3 Routine: utt4 Loaded, Saved as %utt4 Routine: utt5 Loaded, Saved as %utt5 Routine: utt6 Loaded, Saved as %utt6 Routine: uttcovr Loaded, Saved as %uttcovr Updating Routine file... Updating KIDS files... MASH*1.3*0 Installed. Dec 16, 2015@11:04:04 NO Install Message sent Install Completed Select Installation Option: ^PG Programmer mode VISTA> -------------------------- START OF COMMENT ------------------- The following runs the sequence of unit tests (DOing ^%utt1 from the top runs the code D EN^%ut($T(+0),1) ; Run tests here, be verbose. QUIT which is a good way to set up both development code (e.g., %ut, %ut1, and %utcover) and unit tests so that starting code from the top runs the tests. The routines %uttcovr and %utt6 are special, and run series of tests or coverages when run from the top. Once %utt1 is running, due to the routines following an XTROU tag in it, it also runs the unit tests in %utt2, %utt4, %utt5, %utt6, and %uttcovr. The XTROU tags could be in each and a given unit test routine would still be run only once. To test error handling, and handling of failed tests and other problems, unlike most unit tests, there are 7 expected failures and 1 expected error (dividing by zero) in these tests. All of the other tests which are not indicated as expected failures or tests, should pass without problems. __________________________ END OF COMMENT ------------------- VISTA>D ^%utt1 T1 - - Make sure Start-up Ran.----------------------------------------- [OK] T2 - - Make sure Set-up runs.------------------------------------------ [OK] T3 - - Make sure Teardown runs.---------------------------------------- [OK] T4 - Entry point using XTMENT.----------------------------------------- [OK] T5 - Error count check T5^%utt1 - Error count check - This is an intentional failure. . T5^%utt1 - Error count check - Intentionally throwing a failure .---------------------------------------------------------------------- [FAIL] T6 - Succeed Entry Point...-------------------------------------------- [OK] T7 - Make sure we write to principal even though we are on another device..[OK] T8 - If IO starts with another device, write to that device as if it's the prici pal device.------------------------------------------------------------ [OK] COVRPTGL - coverage report returning global....------------------------ [OK] T11 - An @TEST Entry point in Another Routine invoked through XTROU offsets.[OK] T12 - An XTENT offset entry point in Another Routine invoked through XTROU offse ts.-------------------------------------------------------------------- [OK] MAIN - - Test coverage calculations T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] Ran 1 Routine, 2 Entry Tags Checked 2 tests, with 0 failures and encountered 0 errors.....--------- [OK] NEWSTYLE - identify new style test indicator functionality.------------ [OK] OLDSTYLE - identify old style test indicator functionality..---------- [OK] OLDSTYL1 - identify old style test indicator 2.----------------------- [OK] BADCHKEQ - CHKEQ should fail on unequal value BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL ----------------------------------------------------------------------- [FAIL] BADCHKTF - CHKTF should fail on false value BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL ----------------------------------------------------------------------- [FAIL] BADERROR - throws an error on purpose BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q ----------------------------------------------------------------------- [FAIL] CALLFAIL - called FAIL to test it CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it ----------------------------------------------------------------------- [FAIL] LEAKSOK - check leaks should be ok------------------------------------- [OK] LEAKSBAD - check leaks with leak LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X ----------------------------------------------------------------------- [FAIL] NVLDARG1 - check invalid arg in CHKEQ NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible ----------------------------------------------------------------------- [FAIL] ISUTEST - check ISUTEST inside unit test.------------------------------ [OK] SETROUS - - generate array with indices of routines to exclude......--- [OK] CHKCMDLN - check command line processing of %utt5---------------------- [OK] CHKGUI - check GUI processing of %utt5--------------------------------- [OK] CKGUISET - check list of tests returned by GUISET---------------------- [OK] NEWSTYLE - test return of valid new style or @TEST indicators...------- [OK] RTNANAL - - routine analysis...---------------------------------------- [OK] COVCOV - - check COVCOV - remove seen lines......---------------------- [OK] COVRPT...........------------------------------------------------------ [OK] COVRPTLS - - coverage report returning text in global...........------- [OK] TRIMDATA - - TRIMDATA in %utcover..------------------------------------ [OK] LIST - - LIST in %utcover............---------------------------------- [OK] CACHECOV - - set up routine for analysis in globals..------------------ [OK] LINEDATA - - convert code line to based on tags and offset, and identify active code lines............------------------------------------------------- [OK] TOTAGS - - convert from lines of code by line number to lines ordered by tag, li ne from tag, and only not covered...........--------------------------- [OK] Ran 6 Routines, 37 Entry Tags Checked 113 tests, with 7 failures and encountered 1 error. -------------------------- START OF COMMENT ------------------- %uttcovr runs a series of tests from both the regular code (e.g., DO EN^%ut("routinename")) as well as by calling other entry points (e.g., DO ^%ut), so that coverage can be included for these other entry points. While it is recommended that normally the unit tests be run when entering at the top, the routines %utt6 instead run a series of different unit tests and the routine %uttcovr runs coverage analysis for all of the unit tests. __________________________ END OF COMMENT ------------------- VISTA>d ^%uttcovr ------------------- RUNNING %utt1 -------------------.... T5^%utt1 - Error count check - This is an intentional failure. . T5^%utt1 - Error count check - Intentionally throwing a failure ................. BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible ................................................................................ Ran 6 Routines, 37 Entry Tags Checked 109 tests, with 7 failures and encountered 1 error. ------------------- RUNNING %uttcovr -------------------........................ .............................................. Ran 1 Routine, 9 Entry Tags Checked 70 tests, with 0 failures and encountered 0 errors. ------------------- RUNNING ENTRY^%uttcovr ------------------- LEAKSBAD TEST - X NOT SPECIFIED VARIABLE LEAK: X xxxxxxxxxxxxxxxxxxxx GOING TO COV^%ut FOR %utt5 at 3 .... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible . Ran 1 Routine, 11 Entry Tags Checked 10 tests, with 5 failures and encountered 1 error. xxxxxxxxxxxxxxxxxxxx GOING TO COV^%ut FOR %utt5 at -1 .... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible . Ran 1 Routine, 11 Entry Tags Checked 10 tests, with 5 failures and encountered 1 error. xxxxxxxxxxxxxxxxxxxx GOING TO MULTAPIS for %utt4 and %ut ------------------- RUNNING ^%ut ------------------- RUNNING COMMAND LINE TESTS VIA DOSET^%ut .... T5^%utt1 - Error count check - This is an intentional failure. . T5^%utt1 - Error count check - Intentionally throwing a failure ............... T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] Ran 1 Routine, 2 Entry Tags Checked 2 tests, with 0 failures and encountered 0 errors......... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible ................................................................................ Ran 7 Routines, 39 Entry Tags Checked 115 tests, with 7 failures and encountered 1 error. Running command line tests by RUNSET^%ut .... T5^%utt1 - Error count check - This is an intentional failure. . T5^%utt1 - Error count check - Intentionally throwing a failure ............... T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] Ran 1 Routine, 2 Entry Tags Checked 2 tests, with 0 failures and encountered 0 errors......... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible ................................................................................ Ran 7 Routines, 39 Entry Tags Checked 115 tests, with 7 failures and encountered 1 error. RUNNING COMMAND LINE UNIT TESTS FOR %utt5 .... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible . Ran 1 Routine, 11 Entry Tags Checked 10 tests, with 5 failures and encountered 1 error. RUNNING UNIT TESTS FOR %utt5 VIA GUI CALLS - Silent NOW RUNNING UNIT TESTS FOR %uttcovr ...................................................................... Ran 1 Routine, 9 Entry Tags Checked 70 tests, with 0 failures and encountered 0 errors. NOW RUNNING UNIT TESTS FOR %utt6 ......... Ran 1 Routine, 5 Entry Tags Checked 9 tests, with 0 failures and encountered 0 errors. ------------------- RUNNING ^%utt4 ------------------- MAIN - - Test coverage calculations T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] Ran 1 Routine, 2 Entry Tags Checked 2 tests, with 0 failures and encountered 0 errors.....--------- [OK] Ran 1 Routine, 1 Entry Tag Checked 4 tests, with 0 failures and encountered 0 errors. ------------ SUMMARY ------------ Ran 2 Routines, 6 Entry Tags Checked 13 tests, with 0 failures and encountered 0 errors. xxxxxxxxxxxxxxxxxxxx GOING TO COVERAGE for %utt4 and %ut at 3 ------------------- RUNNING ^%ut ------------------- RUNNING COMMAND LINE TESTS VIA DOSET^%ut .... T5^%utt1 - Error count check - This is an intentional failure. . T5^%utt1 - Error count check - Intentionally throwing a failure ............... T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] Ran 1 Routine, 2 Entry Tags Checked 2 tests, with 0 failures and encountered 0 errors......... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible ................................................................................ Ran 7 Routines, 39 Entry Tags Checked 115 tests, with 7 failures and encountered 1 error. Running command line tests by RUNSET^%ut .... T5^%utt1 - Error count check - This is an intentional failure. . T5^%utt1 - Error count check - Intentionally throwing a failure ............... T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] Ran 1 Routine, 2 Entry Tags Checked 2 tests, with 0 failures and encountered 0 errors......... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible ................................................................................ Ran 7 Routines, 39 Entry Tags Checked 115 tests, with 7 failures and encountered 1 error. RUNNING COMMAND LINE UNIT TESTS FOR %utt5 .... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible . Ran 1 Routine, 11 Entry Tags Checked 10 tests, with 5 failures and encountered 1 error. RUNNING UNIT TESTS FOR %utt5 VIA GUI CALLS - Silent NOW RUNNING UNIT TESTS FOR %uttcovr ...................................................................... Ran 1 Routine, 9 Entry Tags Checked 70 tests, with 0 failures and encountered 0 errors. NOW RUNNING UNIT TESTS FOR %utt6 ......... Ran 1 Routine, 5 Entry Tags Checked 9 tests, with 0 failures and encountered 0 errors. ------------------- RUNNING ^%utt4 ------------------- MAIN - - Test coverage calculations T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] Ran 1 Routine, 2 Entry Tags Checked 2 tests, with 0 failures and encountered 0 errors.....--------- [OK] Ran 1 Routine, 1 Entry Tag Checked 4 tests, with 0 failures and encountered 0 errors. ------------ SUMMARY ------------ Ran 2 Routines, 6 Entry Tags Checked 13 tests, with 0 failures and encountered 0 errors. Routine %utt3 (73.68%) 14 out of 19 lines covered - Detailed Breakdown Tag %utt3^%utt3 ------ 0 out of 0 lines covered Tag INTERNAL^%utt3 (40.00%) 2 out of 5 lines covered the following is a list of the lines **NOT** covered INTERNAL+3 S A=2 ; Dead code INTERNAL+4 S Y=2 ; Dead code INTERNAL+5 QUIT ; Dead code Tag SETUP^%utt3 (100.00%) 1 out of 1 lines covered Tag SHUTDOWN^%utt3 (100.00%) 1 out of 1 lines covered Tag STARTUP^%utt3 (100.00%) 3 out of 3 lines covered Tag T1^%utt3 (100.00%) 2 out of 2 lines covered Tag T2^%utt3 (60.00%) 3 out of 5 lines covered the following is a list of the lines **NOT** covered T2+4 S X=1 ; Dead code T2+5 QUIT ; Dead code Tag TEARDOWN^%utt3 (100.00%) 2 out of 2 lines covered Tag XTMUNITV^%utt3 ------ 0 out of 0 lines covered Routine %utt3 (73.68%) 14 out of 19 lines covered - Summary Tag %utt3^%utt3 ------ 0 out of 0 lines covered Tag INTERNAL^%utt3 (40.00%) 2 out of 5 lines covered Tag SETUP^%utt3 (100.00%) 1 out of 1 lines covered Tag SHUTDOWN^%utt3 (100.00%) 1 out of 1 lines covered Tag STARTUP^%utt3 (100.00%) 3 out of 3 lines covered Tag T1^%utt3 (100.00%) 2 out of 2 lines covered Tag T2^%utt3 (60.00%) 3 out of 5 lines covered Tag TEARDOWN^%utt3 (100.00%) 2 out of 2 lines covered Tag XTMUNITV^%utt3 ------ 0 out of 0 lines covered Routine %utt3 (73.68%) 14 out of 19 lines covered Overall Analysis 14 out of 19 lines covered (73% coverage) xxxxxxxxxxxxxxxxxxxx LISTING DATA VIA LIST Routine %utt3 (73.68%) 14 out of 19 lines covered - Detailed Breakdown Tag %utt3^%utt3 ------ 0 out of 0 lines covered Tag INTERNAL^%utt3 (40.00%) 2 out of 5 lines covered the following is a list of the lines **NOT** covered INTERNAL+3 S A=2 ; Dead code INTERNAL+4 S Y=2 ; Dead code INTERNAL+5 QUIT ; Dead code Tag SETUP^%utt3 (100.00%) 1 out of 1 lines covered Tag SHUTDOWN^%utt3 (100.00%) 1 out of 1 lines covered Tag STARTUP^%utt3 (100.00%) 3 out of 3 lines covered Tag T1^%utt3 (100.00%) 2 out of 2 lines covered Tag T2^%utt3 (60.00%) 3 out of 5 lines covered the following is a list of the lines **NOT** covered T2+4 S X=1 ; Dead code T2+5 QUIT ; Dead code Tag TEARDOWN^%utt3 (100.00%) 2 out of 2 lines covered Tag XTMUNITV^%utt3 ------ 0 out of 0 lines covered Routine %utt3 (73.68%) 14 out of 19 lines covered - Summary Tag %utt3^%utt3 ------ 0 out of 0 lines covered Tag INTERNAL^%utt3 (40.00%) 2 out of 5 lines covered Tag SETUP^%utt3 (100.00%) 1 out of 1 lines covered Tag SHUTDOWN^%utt3 (100.00%) 1 out of 1 lines covered Tag STARTUP^%utt3 (100.00%) 3 out of 3 lines covered Tag T1^%utt3 (100.00%) 2 out of 2 lines covered Tag T2^%utt3 (60.00%) 3 out of 5 lines covered Tag TEARDOWN^%utt3 (100.00%) 2 out of 2 lines covered Tag XTMUNITV^%utt3 ------ 0 out of 0 lines covered Routine %utt3 (73.68%) 14 out of 19 lines covered Overall Analysis 14 out of 19 lines covered (73% coverage) xxxxxxxxxxxxxxxxxxxx Finished in ENTRY^%uttcovr ------------------- RUNNING VERBOSE^%utt6 ------------------- RUNNING COMMAND LINE TESTS VIA DOSET^%ut T1 - - Make sure Start-up Ran.----------------------------------------- [OK] T2 - - Make sure Set-up runs.------------------------------------------ [OK] T3 - - Make sure Teardown runs.---------------------------------------- [OK] T4 - Entry point using XTMENT.----------------------------------------- [OK] T5 - Error count check T5^%utt1 - Error count check - This is an intentional failure. . T5^%utt1 - Error count check - Intentionally throwing a failure .---------------------------------------------------------------------- [FAIL] T6 - Succeed Entry Point...-------------------------------------------- [OK] T7 - Make sure we write to principal even though we are on another device..[OK] T8 - If IO starts with another device, write to that device as if it's the prici pal device.------------------------------------------------------------ [OK] COVRPTGL - coverage report returning global....------------------------ [OK] T11 - An @TEST Entry point in Another Routine invoked through XTROU offsets.[OK] T12 - An XTENT offset entry point in Another Routine invoked through XTROU offse ts.-------------------------------------------------------------------- [OK] T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] MAIN - - Test coverage calculations T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] Ran 1 Routine, 2 Entry Tags Checked 2 tests, with 0 failures and encountered 0 errors.....--------- [OK] NEWSTYLE - identify new style test indicator functionality.------------ [OK] OLDSTYLE - identify old style test indicator functionality..---------- [OK] OLDSTYL1 - identify old style test indicator 2.----------------------- [OK] BADCHKEQ - CHKEQ should fail on unequal value BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL ----------------------------------------------------------------------- [FAIL] BADCHKTF - CHKTF should fail on false value BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL ----------------------------------------------------------------------- [FAIL] BADERROR - throws an error on purpose BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q ----------------------------------------------------------------------- [FAIL] CALLFAIL - called FAIL to test it CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it ----------------------------------------------------------------------- [FAIL] LEAKSOK - check leaks should be ok------------------------------------- [OK] LEAKSBAD - check leaks with leak LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X ----------------------------------------------------------------------- [FAIL] NVLDARG1 - check invalid arg in CHKEQ NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible ----------------------------------------------------------------------- [FAIL] ISUTEST - check ISUTEST inside unit test.------------------------------ [OK] SETROUS - - generate array with indices of routines to exclude......--- [OK] CHKCMDLN - check command line processing of %utt5---------------------- [OK] CHKGUI - check GUI processing of %utt5--------------------------------- [OK] CKGUISET - check list of tests returned by GUISET---------------------- [OK] NEWSTYLE - test return of valid new style or @TEST indicators...------- [OK] RTNANAL - - routine analysis...---------------------------------------- [OK] COVCOV - - check COVCOV - remove seen lines......---------------------- [OK] COVRPT...........------------------------------------------------------ [OK] COVRPTLS - - coverage report returning text in global...........------- [OK] TRIMDATA - - TRIMDATA in %utcover..------------------------------------ [OK] LIST - - LIST in %utcover............---------------------------------- [OK] CACHECOV - - set up routine for analysis in globals..------------------ [OK] LINEDATA - - convert code line to based on tags and offset, and identify active code lines............------------------------------------------------- [OK] TOTAGS - - convert from lines of code by line number to lines ordered by tag, li ne from tag, and only not covered...........--------------------------- [OK] Ran 7 Routines, 39 Entry Tags Checked 115 tests, with 7 failures and encountered 1 error. Running command line tests by RUNSET^%ut .... T5^%utt1 - Error count check - This is an intentional failure. . T5^%utt1 - Error count check - Intentionally throwing a failure ............... T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] Ran 1 Routine, 2 Entry Tags Checked 2 tests, with 0 failures and encountered 0 errors......... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible ................................................................................ Ran 7 Routines, 39 Entry Tags Checked 115 tests, with 7 failures and encountered 1 error. RUNNING COMMAND LINE UNIT TESTS FOR %utt5 NEWSTYLE - identify new style test indicator functionality.------------ [OK] OLDSTYLE - identify old style test indicator functionality..---------- [OK] OLDSTYL1 - identify old style test indicator 2.----------------------- [OK] BADCHKEQ - CHKEQ should fail on unequal value BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL ----------------------------------------------------------------------- [FAIL] BADCHKTF - CHKTF should fail on false value BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL ----------------------------------------------------------------------- [FAIL] BADERROR - throws an error on purpose BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q ----------------------------------------------------------------------- [FAIL] CALLFAIL - called FAIL to test it CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it ----------------------------------------------------------------------- [FAIL] LEAKSOK - check leaks should be ok------------------------------------- [OK] LEAKSBAD - check leaks with leak LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X ----------------------------------------------------------------------- [FAIL] NVLDARG1 - check invalid arg in CHKEQ NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible ----------------------------------------------------------------------- [FAIL] ISUTEST - check ISUTEST inside unit test.------------------------------ [OK] Ran 1 Routine, 11 Entry Tags Checked 10 tests, with 5 failures and encountered 1 error. RUNNING UNIT TESTS FOR %utt5 VIA GUI CALLS - Silent NOW RUNNING UNIT TESTS FOR %uttcovr RTNANAL - - routine analysis...---------------------------------------- [OK] COVCOV - - check COVCOV - remove seen lines......---------------------- [OK] COVRPT...........------------------------------------------------------ [OK] COVRPTLS - - coverage report returning text in global...........------- [OK] TRIMDATA - - TRIMDATA in %utcover..------------------------------------ [OK] LIST - - LIST in %utcover............---------------------------------- [OK] CACHECOV - - set up routine for analysis in globals..------------------ [OK] LINEDATA - - convert code line to based on tags and offset, and identify active code lines............------------------------------------------------- [OK] TOTAGS - - convert from lines of code by line number to lines ordered by tag, li ne from tag, and only not covered...........--------------------------- [OK] Ran 1 Routine, 9 Entry Tags Checked 70 tests, with 0 failures and encountered 0 errors. NOW RUNNING UNIT TESTS FOR %utt6 SETROUS - - generate array with indices of routines to exclude......--- [OK] CHKCMDLN - check command line processing of %utt5---------------------- [OK] CHKGUI - check GUI processing of %utt5--------------------------------- [OK] CKGUISET - check list of tests returned by GUISET---------------------- [OK] NEWSTYLE - test return of valid new style or @TEST indicators...------- [OK] Ran 1 Routine, 5 Entry Tags Checked 9 tests, with 0 failures and encountered 0 errors. ------------------- RUNNING ^%ut ------------------- RUNNING COMMAND LINE TESTS VIA DOSET^%ut .... T5^%utt1 - Error count check - This is an intentional failure. . T5^%utt1 - Error count check - Intentionally throwing a failure ............... T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] Ran 1 Routine, 2 Entry Tags Checked 2 tests, with 0 failures and encountered 0 errors......... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible ................................................................................ Ran 7 Routines, 39 Entry Tags Checked 115 tests, with 7 failures and encountered 1 error. Running command line tests by RUNSET^%ut .... T5^%utt1 - Error count check - This is an intentional failure. . T5^%utt1 - Error count check - Intentionally throwing a failure ............... T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] Ran 1 Routine, 2 Entry Tags Checked 2 tests, with 0 failures and encountered 0 errors......... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible ................................................................................ Ran 7 Routines, 39 Entry Tags Checked 115 tests, with 7 failures and encountered 1 error. RUNNING COMMAND LINE UNIT TESTS FOR %utt5 .... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible . Ran 1 Routine, 11 Entry Tags Checked 10 tests, with 5 failures and encountered 1 error. RUNNING UNIT TESTS FOR %utt5 VIA GUI CALLS - Silent NOW RUNNING UNIT TESTS FOR %uttcovr ...................................................................... Ran 1 Routine, 9 Entry Tags Checked 70 tests, with 0 failures and encountered 0 errors. NOW RUNNING UNIT TESTS FOR %utt6 ......... Ran 1 Routine, 5 Entry Tags Checked 9 tests, with 0 failures and encountered 0 errors. ------------------- RUNNING ^%ut1 ------------------- RUNNING COMMAND LINE TESTS VIA DOSET^%ut .... T5^%utt1 - Error count check - This is an intentional failure. . T5^%utt1 - Error count check - Intentionally throwing a failure ............... T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] Ran 1 Routine, 2 Entry Tags Checked 2 tests, with 0 failures and encountered 0 errors......... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible ................................................................................ Ran 7 Routines, 39 Entry Tags Checked 115 tests, with 7 failures and encountered 1 error. Running command line tests by RUNSET^%ut .... T5^%utt1 - Error count check - This is an intentional failure. . T5^%utt1 - Error count check - Intentionally throwing a failure ............... T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] Ran 1 Routine, 2 Entry Tags Checked 2 tests, with 0 failures and encountered 0 errors......... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible ................................................................................ Ran 7 Routines, 39 Entry Tags Checked 115 tests, with 7 failures and encountered 1 error. RUNNING COMMAND LINE UNIT TESTS FOR %utt5 .... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible . Ran 1 Routine, 11 Entry Tags Checked 10 tests, with 5 failures and encountered 1 error. RUNNING UNIT TESTS FOR %utt5 VIA GUI CALLS - Silent NOW RUNNING UNIT TESTS FOR %uttcovr ...................................................................... Ran 1 Routine, 9 Entry Tags Checked 70 tests, with 0 failures and encountered 0 errors. NOW RUNNING UNIT TESTS FOR %utt6 ......... Ran 1 Routine, 5 Entry Tags Checked 9 tests, with 0 failures and encountered 0 errors. ------------------- RUNNING ^%utcover -------------------....................... ............................................... Ran 1 Routine, 9 Entry Tags Checked 70 tests, with 0 failures and encountered 0 errors. ------------------- RUNNING ^%utt1 ------------------- T1 - - Make sure Start-up Ran.----------------------------------------- [OK] T2 - - Make sure Set-up runs.------------------------------------------ [OK] T3 - - Make sure Teardown runs.---------------------------------------- [OK] T4 - Entry point using XTMENT.----------------------------------------- [OK] T5 - Error count check T5^%utt1 - Error count check - This is an intentional failure. . T5^%utt1 - Error count check - Intentionally throwing a failure .---------------------------------------------------------------------- [FAIL] T6 - Succeed Entry Point...-------------------------------------------- [OK] T7 - Make sure we write to principal even though we are on another device..[OK] T8 - If IO starts with another device, write to that device as if it's the prici pal device.------------------------------------------------------------ [OK] COVRPTGL - coverage report returning global....------------------------ [OK] T11 - An @TEST Entry point in Another Routine invoked through XTROU offsets.[OK] T12 - An XTENT offset entry point in Another Routine invoked through XTROU offse ts.-------------------------------------------------------------------- [OK] MAIN - - Test coverage calculations T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] Ran 1 Routine, 2 Entry Tags Checked 2 tests, with 0 failures and encountered 0 errors.....--------- [OK] NEWSTYLE - identify new style test indicator functionality.------------ [OK] OLDSTYLE - identify old style test indicator functionality..---------- [OK] OLDSTYL1 - identify old style test indicator 2.----------------------- [OK] BADCHKEQ - CHKEQ should fail on unequal value BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL ----------------------------------------------------------------------- [FAIL] BADCHKTF - CHKTF should fail on false value BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL ----------------------------------------------------------------------- [FAIL] BADERROR - throws an error on purpose BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q ----------------------------------------------------------------------- [FAIL] CALLFAIL - called FAIL to test it CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it ----------------------------------------------------------------------- [FAIL] LEAKSOK - check leaks should be ok------------------------------------- [OK] LEAKSBAD - check leaks with leak LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X ----------------------------------------------------------------------- [FAIL] NVLDARG1 - check invalid arg in CHKEQ NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible ----------------------------------------------------------------------- [FAIL] ISUTEST - check ISUTEST inside unit test.------------------------------ [OK] SETROUS - - generate array with indices of routines to exclude......--- [OK] CHKCMDLN - check command line processing of %utt5---------------------- [OK] CHKGUI - check GUI processing of %utt5--------------------------------- [OK] CKGUISET - check list of tests returned by GUISET---------------------- [OK] NEWSTYLE - test return of valid new style or @TEST indicators...------- [OK] RTNANAL - - routine analysis...---------------------------------------- [OK] COVCOV - - check COVCOV - remove seen lines......---------------------- [OK] COVRPT...........------------------------------------------------------ [OK] COVRPTLS - - coverage report returning text in global...........------- [OK] TRIMDATA - - TRIMDATA in %utcover..------------------------------------ [OK] LIST - - LIST in %utcover............---------------------------------- [OK] CACHECOV - - set up routine for analysis in globals..------------------ [OK] LINEDATA - - convert code line to based on tags and offset, and identify active code lines............------------------------------------------------- [OK] TOTAGS - - convert from lines of code by line number to lines ordered by tag, li ne from tag, and only not covered...........--------------------------- [OK] Ran 6 Routines, 37 Entry Tags Checked 113 tests, with 7 failures and encountered 1 error. ------------------- RUNNING ^%utt6 ------------------- RUNNING COMMAND LINE TESTS VIA DOSET^%ut .... T5^%utt1 - Error count check - This is an intentional failure. . T5^%utt1 - Error count check - Intentionally throwing a failure ............... T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] Ran 1 Routine, 2 Entry Tags Checked 2 tests, with 0 failures and encountered 0 errors......... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible ................................................................................ Ran 7 Routines, 39 Entry Tags Checked 115 tests, with 7 failures and encountered 1 error. Running command line tests by RUNSET^%ut .... T5^%utt1 - Error count check - This is an intentional failure. . T5^%utt1 - Error count check - Intentionally throwing a failure ............... T1 - Test 1.----------------------------------------------------------- [OK] T2 - Test 2.----------------------------------------------------------- [OK] Ran 1 Routine, 2 Entry Tags Checked 2 tests, with 0 failures and encountered 0 errors......... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible ................................................................................ Ran 7 Routines, 39 Entry Tags Checked 115 tests, with 7 failures and encountered 1 error. RUNNING COMMAND LINE UNIT TESTS FOR %utt5 .... BADCHKEQ^%utt5 - CHKEQ should fail on unequal value - <4> vs <3> - SET UNEQUAL ON PURPOSE - SHOULD FAIL BADCHKTF^%utt5 - CHKTF should fail on false value - SET FALSE (0) ON PURPOSE - SHOULD FAIL BADERROR^%utt5 - throws an error on purpose - Error: BADERROR+6^%utt 5 *Q CALLFAIL^%utt5 - called FAIL to test it - Called FAIL to test it LEAKSBAD^%utt5 - check leaks with leak - LEAKSBAD TEST - X NOT SPECIFIED VARIABL E LEAK: X NVLDARG1^%utt5 - check invalid arg in CHKEQ - NO VALUES INPUT TO CHKEQ^%ut - no evaluation possible . Ran 1 Routine, 11 Entry Tags Checked 10 tests, with 5 failures and encountered 1 error. RUNNING UNIT TESTS FOR %utt5 VIA GUI CALLS - Silent NOW RUNNING UNIT TESTS FOR %uttcovr ...................................................................... Ran 1 Routine, 9 Entry Tags Checked 70 tests, with 0 failures and encountered 0 errors. NOW RUNNING UNIT TESTS FOR %utt6 ......... Ran 1 Routine, 5 Entry Tags Checked 9 tests, with 0 failures and encountered 0 errors. ------------ SUMMARY ------------ Ran 18 Routines, 112 Entry Tags Checked 398 tests, with 14 failures and encountered 2 errors. Routine %ut (100.00%) 256 out of 256 lines covered - Detailed Breakdown Tag %ut^%ut (100.00%) 2 out of 2 lines covered Tag CHKEQ^%ut (100.00%) 17 out of 17 lines covered Tag CHKLEAKS^%ut (100.00%) 13 out of 13 lines covered Tag CHKTF^%ut (100.00%) 14 out of 14 lines covered Tag COV^%ut (100.00%) 2 out of 2 lines covered Tag COVERAGE^%ut (100.00%) 2 out of 2 lines covered Tag DOSET^%ut (100.00%) 6 out of 6 lines covered Tag EN^%ut (100.00%) 7 out of 7 lines covered Tag EN1^%ut (100.00%) 44 out of 44 lines covered Tag ERROR^%ut (100.00%) 9 out of 9 lines covered Tag ERROR1^%ut (100.00%) 7 out of 7 lines covered Tag FAIL^%ut (100.00%) 2 out of 2 lines covered Tag GETLIST^%ut (100.00%) 11 out of 11 lines covered Tag GETSET^%ut (100.00%) 4 out of 4 lines covered Tag GETUTVAL^%ut (100.00%) 5 out of 5 lines covered Tag GUILOAD^%ut (100.00%) 8 out of 8 lines covered Tag GUINEXT^%ut (100.00%) 43 out of 43 lines covered Tag GUISET^%ut (100.00%) 8 out of 8 lines covered Tag ISUTEST^%ut (100.00%) 1 out of 1 lines covered Tag LOAD^%ut (100.00%) 10 out of 10 lines covered Tag LSTUTVAL^%ut (100.00%) 4 out of 4 lines covered Tag MULTAPIS^%ut (100.00%) 2 out of 2 lines covered Tag PICKSET^%ut (100.00%) 3 out of 3 lines covered Tag RUNSET^%ut (100.00%) 9 out of 9 lines covered Tag SETUT^%ut (100.00%) 6 out of 6 lines covered Tag SUCCEED^%ut (100.00%) 6 out of 6 lines covered Tag VERBOSE^%ut (100.00%) 7 out of 7 lines covered Tag VERBOSE1^%ut (100.00%) 4 out of 4 lines covered Routine %ut1 (88.43%) 237 out of 268 lines covered - Detailed Breakdown Tag %ut1^%ut1 (100.00%) 2 out of 2 lines covered Tag ACTLINES^%ut1 (100.00%) 8 out of 8 lines covered Tag CACHECOV^%ut1 (100.00%) 12 out of 12 lines covered Tag CHECKTAG^%ut1 (100.00%) 10 out of 10 lines covered Tag CHEKTEST^%ut1 (100.00%) 9 out of 9 lines covered Tag COV^%ut1 (52.31%) 34 out of 65 lines covered the following is a list of the lines **NOT** covered COV+17 . N %ZR ; GT.M specific COV+18 . D SILENT^%RSEL(NMSP,"SRC") ; GT.M specific. On Cache use $O(^$R( RTN)). COV+19 . N RN S RN="" COV+20 . W !,"Loading routines to test coverage...",! COV+21 . F S RN=$O(%ZR(RN)) Q:RN="" W RN," " D COV+22 . . N L2 S L2=$T(+2^@RN) COV+23 . . S L2=$TR(L2,$C(9,32)) ; Translate spaces and tabs out COV+24 . . I $E(L2,1,2)'=";;" K %ZR(RN) ; Not a human produced routine COV+26 . M RTNS=%ZR COV+27 . K %ZR COV+28 . Q COV+45 . K ^TMP("%utCOVCOHORTSAV",$J) COV+46 . M ^TMP("%utCOVCOHORTSAV",$J)=^TMP("%utCOVCOHORT",$J) COV+47 . K ^TMP("%utCOVRESULT",$J) COV+48 . S ^TMP("%utcovrunning",$J)=1,%utcovxx=1 COV+50 . I (+$SY=47) VIEW "TRACE":1:$NA(^TMP("%utCOVRESULT",$J)) ; GT.M START PROFILING COV+52 . I (+$SY=0) D ; CACHE CODE TO START PROFILING COV+53 . . S STATUS=##class(%Monitor.System.LineByLine).Start($lb(NMSP),$ lb("RtnLine"),$lb($j)) COV+61 . . SET $ETRAP="Q:($ES&$Q) -9 Q:$ES W ""CTRL-C ENTERED""" COV+62 . . USE $PRINCIPAL:(CTRAP=$C(3)) COV+63 . . Q COV+79 . . D TOTAGS(COVERSAV,0),TOTAGS(COVER,1) COV+80 . . D ##class(%Monitor.System.LineByLine).Stop() COV+81 . . Q COV+82 . D COVCOV($NA(^TMP("%utCOVCOHORT",$J)),$NA(^TMP("%utCOVRESULT",$J ))) ; Venn diagram matching between globals COV+84 . I VERBOSITY=-1 D COV+85 . . K ^TMP("%utCOVREPORT",$J) COV+86 . . D COVRPTGL($NA(^TMP("%utCOVCOHORTSAV",$J)),$NA(^TMP("%utCOVCOH ORT",$J)),$NA(^TMP("%utCOVRESULT",$J)),$NA(^TMP("%utCOVREPORT",$J))) COV+87 . . Q COV+88 . E D COVRPT($NA(^TMP("%utCOVCOHORTSAV",$J)),$NA(^TMP("%utCOVCOHO RT",$J)),$NA(^TMP("%utCOVRESULT",$J)),VERBOSITY) COV+89 . Q Tag COVCOV^%ut1 (100.00%) 9 out of 9 lines covered Tag COVRPT^%ut1 (100.00%) 5 out of 5 lines covered Tag COVRPTGL^%ut1 (100.00%) 14 out of 14 lines covered Tag COVRPTLS^%ut1 (100.00%) 31 out of 31 lines covered Tag FAIL^%ut1 (100.00%) 12 out of 12 lines covered Tag GETTREE^%ut1 (100.00%) 7 out of 7 lines covered Tag GETVALS^%ut1 (100.00%) 11 out of 11 lines covered Tag ISUTEST^%ut1 (100.00%) 1 out of 1 lines covered Tag LINEDATA^%ut1 (100.00%) 9 out of 9 lines covered Tag NEWSTYLE^%ut1 (100.00%) 4 out of 4 lines covered Tag NVLDARG^%ut1 (100.00%) 11 out of 11 lines covered Tag RESETIO^%ut1 (100.00%) 2 out of 2 lines covered Tag RTNANAL^%ut1 (100.00%) 30 out of 30 lines covered Tag SETIO^%ut1 (100.00%) 2 out of 2 lines covered Tag TOTAGS^%ut1 (100.00%) 13 out of 13 lines covered Tag UP^%ut1 (100.00%) 1 out of 1 lines covered Routine %utcover (100.00%) 79 out of 79 lines covered - Detailed Breakdown Tag %utcover^%utcover (100.00%) 2 out of 2 lines covered Tag COVENTRY^%utcover (100.00%) 14 out of 14 lines covered Tag COVERAGE^%utcover (100.00%) 13 out of 13 lines covered Tag LIST^%utcover (100.00%) 38 out of 38 lines covered Tag MULTAPIS^%utcover (100.00%) 5 out of 5 lines covered Tag SETROUS^%utcover (100.00%) 4 out of 4 lines covered Tag TRIMDATA^%utcover (100.00%) 3 out of 3 lines covered Routine %ut (100.00%) 256 out of 256 lines covered - Summary Tag %ut^%ut (100.00%) 2 out of 2 lines covered Tag CHKEQ^%ut (100.00%) 17 out of 17 lines covered Tag CHKLEAKS^%ut (100.00%) 13 out of 13 lines covered Tag CHKTF^%ut (100.00%) 14 out of 14 lines covered Tag COV^%ut (100.00%) 2 out of 2 lines covered Tag COVERAGE^%ut (100.00%) 2 out of 2 lines covered Tag DOSET^%ut (100.00%) 6 out of 6 lines covered Tag EN^%ut (100.00%) 7 out of 7 lines covered Tag EN1^%ut (100.00%) 44 out of 44 lines covered Tag ERROR^%ut (100.00%) 9 out of 9 lines covered Tag ERROR1^%ut (100.00%) 7 out of 7 lines covered Tag FAIL^%ut (100.00%) 2 out of 2 lines covered Tag GETLIST^%ut (100.00%) 11 out of 11 lines covered Tag GETSET^%ut (100.00%) 4 out of 4 lines covered Tag GETUTVAL^%ut (100.00%) 5 out of 5 lines covered Tag GUILOAD^%ut (100.00%) 8 out of 8 lines covered Tag GUINEXT^%ut (100.00%) 43 out of 43 lines covered Tag GUISET^%ut (100.00%) 8 out of 8 lines covered Tag ISUTEST^%ut (100.00%) 1 out of 1 lines covered Tag LOAD^%ut (100.00%) 10 out of 10 lines covered Tag LSTUTVAL^%ut (100.00%) 4 out of 4 lines covered Tag MULTAPIS^%ut (100.00%) 2 out of 2 lines covered Tag PICKSET^%ut (100.00%) 3 out of 3 lines covered Tag RUNSET^%ut (100.00%) 9 out of 9 lines covered Tag SETUT^%ut (100.00%) 6 out of 6 lines covered Tag SUCCEED^%ut (100.00%) 6 out of 6 lines covered Tag VERBOSE^%ut (100.00%) 7 out of 7 lines covered Tag VERBOSE1^%ut (100.00%) 4 out of 4 lines covered Routine %ut1 (88.43%) 237 out of 268 lines covered - Summary Tag %ut1^%ut1 (100.00%) 2 out of 2 lines covered Tag ACTLINES^%ut1 (100.00%) 8 out of 8 lines covered Tag CACHECOV^%ut1 (100.00%) 12 out of 12 lines covered Tag CHECKTAG^%ut1 (100.00%) 10 out of 10 lines covered Tag CHEKTEST^%ut1 (100.00%) 9 out of 9 lines covered Tag COV^%ut1 (52.31%) 34 out of 65 lines covered Tag COVCOV^%ut1 (100.00%) 9 out of 9 lines covered Tag COVRPT^%ut1 (100.00%) 5 out of 5 lines covered Tag COVRPTGL^%ut1 (100.00%) 14 out of 14 lines covered Tag COVRPTLS^%ut1 (100.00%) 31 out of 31 lines covered Tag FAIL^%ut1 (100.00%) 12 out of 12 lines covered Tag GETTREE^%ut1 (100.00%) 7 out of 7 lines covered Tag GETVALS^%ut1 (100.00%) 11 out of 11 lines covered Tag ISUTEST^%ut1 (100.00%) 1 out of 1 lines covered Tag LINEDATA^%ut1 (100.00%) 9 out of 9 lines covered Tag NEWSTYLE^%ut1 (100.00%) 4 out of 4 lines covered Tag NVLDARG^%ut1 (100.00%) 11 out of 11 lines covered Tag RESETIO^%ut1 (100.00%) 2 out of 2 lines covered Tag RTNANAL^%ut1 (100.00%) 30 out of 30 lines covered Tag SETIO^%ut1 (100.00%) 2 out of 2 lines covered Tag TOTAGS^%ut1 (100.00%) 13 out of 13 lines covered Tag UP^%ut1 (100.00%) 1 out of 1 lines covered Routine %utcover (100.00%) 79 out of 79 lines covered - Summary Tag %utcover^%utcover (100.00%) 2 out of 2 lines covered Tag COVENTRY^%utcover (100.00%) 14 out of 14 lines covered Tag COVERAGE^%utcover (100.00%) 13 out of 13 lines covered Tag LIST^%utcover (100.00%) 38 out of 38 lines covered Tag MULTAPIS^%utcover (100.00%) 5 out of 5 lines covered Tag SETROUS^%utcover (100.00%) 4 out of 4 lines covered Tag TRIMDATA^%utcover (100.00%) 3 out of 3 lines covered Routine %ut (100.00%) 256 out of 256 lines covered Routine %ut1 (88.43%) 237 out of 268 lines covered Routine %utcover (100.00%) 79 out of 79 lines covered Overall Analysis 572 out of 603 lines covered (94% coverage) VISTA> -------------------------- START OF COMMENT ------------------- The output presented by the use of COVERAGE^%ut (which is called by running %uttcovr from the top) presents the overall result as the last item in the output, with finer detail available by backing up to earlier parts of the output. For the verbosity variable values of zero or one only the totals by routine and total for all routines is shown. For a verbosity value of two, the coverage for tags within the routines is shown followed by the totals for each routines and for all routines. For a value of three (as used above) the output first shows the routines with coverage by tags, and if the coverage is less than 100%, then the lines that were NOT covered during the analysis are listed as well (as shown above for the routine %ut1), followed by the output for tags only and for totals. __________________________ END OF COMMENT ------------------- VISTA>D H^XUS End of installation, unit tests, and coverage analysis Logged out at Dec 16, 2015 11:08 am VISTA>D H^XUISS Logged out at Dec 16, 2015 11:08 am