/* Copyright (c) 2024 PTC Inc. and/or Its Subsidiary Companies. All Rights Reserved. */ /*--------------------------------------------------------------------*\ Pro/TOOLKIT includes \*--------------------------------------------------------------------*/ #include "ProToolkit.h" /* Needed for standard C includes */ #include "ProTKRunTime.h" /*--------------------------------------------------------------------*\ Application includes \*--------------------------------------------------------------------*/ #include "TestError.h" #include "UtilString.h" #include <stdlib.h> /*--------------------------------------------------------------------*\ Application global/external data \*--------------------------------------------------------------------*/ static int user_run_mode = TEST_RUN_MODE_SILENT;/* Initialize to be silent */ static int user_is_run_mode_set = 0; /* Is the run mode set yet? */ /*====================================================================*\ FUNCTION : ProTestRunmodeGet() PURPOSE : To check status of user_run_mode Determined by the value of the environment variable "PROTOOL_DEBUG" : "silent" or not set - run silently (take no action over error statuses) "crash" - report error in log file, then crash "stat" - statistic "report" or any other value - report error only \*====================================================================*/ int ProTestRunmodeGet() { char *p_env; /*--------------------------------------------------------------------*\ If the run mode is already set, just return it \*--------------------------------------------------------------------*/ if(user_is_run_mode_set) return(user_run_mode); /*=====================================================================*\ | Check for "R_PRODEV_REGRESS", to run from auto \*=====================================================================*/ if( (p_env = getenv("R_PRODEV_REGRESS")) != NULL) { /* Check for regression mode */ if(!strcmp(p_env,"no_crash")) /* Report errors, no abort */ user_run_mode = TEST_RUN_MODE_REPORT; else user_run_mode = TEST_RUN_MODE_CRASH; } else { /*--------------------------------------------------------------------*\ Read the value of PROTOOL_DEBUG \*--------------------------------------------------------------------*/ p_env = getenv("PROTOOL_DEBUG"); /*--------------------------------------------------------------------*\ Is it SILENT? \*--------------------------------------------------------------------*/ if(p_env == NULL || !ProUtilStrcmp(p_env, (char *)"silent")) { user_run_mode = TEST_RUN_MODE_SILENT; ProTKPrintf("\n Pro/TOOLKIT Run Mode SILENT\n\n"); } /*--------------------------------------------------------------------*\ Are we to CRASH? \*--------------------------------------------------------------------*/ else if(!ProUtilStrcmp(p_env, (char *)"crash")) { user_run_mode = TEST_RUN_MODE_CRASH; ProTKPrintf("\n Pro/TOOLKIT Run Mode CRASH\n\n"); } /*--------------------------------------------------------------------*\ Are we to statistic ? \*--------------------------------------------------------------------*/ else if (!ProUtilStrcmp(p_env, (char *)"stat")) { user_run_mode = TEST_RUN_MODE_STAT; ProTKPrintf ("\n Pro/TOOLKIT Run Mode STATISTIC\n\n"); } /*--------------------------------------------------------------------*\ Are we to potential crash report only ? \*--------------------------------------------------------------------*/ else if (!ProUtilStrcmp(p_env, (char *)"crash_rep")) { user_run_mode = TEST_RUN_MODE_CRASH_REP; ProTKPrintf ("\n Pro/TOOLKIT Run Mode CRASH_REPORT\n\n"); } /*--------------------------------------------------------------------*\ Then just REPORT. \*--------------------------------------------------------------------*/ else { user_run_mode = TEST_RUN_MODE_REPORT; ProTKPrintf("\n Pro/TOOLKIT Run Mode REPORT\n\n"); } } /*--------------------------------------------------------------------*\ Run mode is now set \*--------------------------------------------------------------------*/ user_is_run_mode_set = 1; /*--------------------------------------------------------------------*\ Return run mode \*--------------------------------------------------------------------*/ return(user_run_mode); }