view src/cs/riviera/tests/rv/rv_test_cfg.h @ 303:f76436d19a7a default tip

!GPRS config: fix long-standing AT+COPS chance hanging bug There has been a long-standing bug in FreeCalypso going back years: sometimes in the AT command bring-up sequence of an ACI-only MS, the AT+COPS command would produce only a power scan followed by cessation of protocol stack activity (only L1 ADC traces), instead of the expected network search sequence. This behaviour was seen in different FC firmware versions going back to Citrine, and seemed to follow some law of chance, not reliably repeatable. This bug has been tracked down and found to be specific to !GPRS configuration, stemming from our TCS2/TCS3 hybrid and reconstruction of !GPRS support that was bitrotten in TCS3.2/LoCosto version. ACI module psa_mms.c, needed only for !GPRS, was missing in the TCS3 version and had to be pulled from TCS2 - but as it turns out, there is a new field in the MMR_REG_REQ primitive that needs to be set correctly, and that psa_mms.c module is the place where this initialization needed to be added.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 08 Jun 2023 08:23:37 +0000
parents 4e78acac3d88
children
line wrap: on
line source

/**
 * @file	rv_test_cfg.h
 *
 * This file allows to set parameters used to perform tests.
 *
 * Parameters to set are:
 * - TEST_INIT (to set parameters statically or dynamically)
 * - TEST_TYPE
 * - TEST_LEVEL
 * - TEST_NUMBER
 * - TEST_CFG (non regression)
 * - TEST_TABLE (non regression)
 * - NB_OF_TEST_TO_PASS (non regression)
 * - TEST_OCC (non regression)
 *
 * It is also possible to set bd_addr used for the tests by
 * setting BD_ADDR_LOC and BD_ADDR_REM values at the end of this file.
 *
 * IMPORTANT: Copy contents of rv_test_cfg_template.h
 * file into this file before building.
 *
 * @author	Cedric Baudelet
 * @author	Vincent Oberle
 */

#ifndef _RV_TEST_CFG_H_
#define _RV_TEST_CFG_H_

#include "rv_test_regr.h"


/**
 *
 * Define TEST_INIT parameter.
 *
 * TEST_INIT parameter's available values are:
 *
 * -> COMP:   Set testing parameters statically during compilation using
 *            rv_test_cfg file.
 * -> EXEC:   Set testing parameters dynamically during execution using LCD
 *            and keypad.
 *
 */
#define TEST_INIT (EXEC)



/*
 * Only with TEST_INIT = COMP
 * --------------------------
 */

/**
 *
 * Define TEST_TYPE parameter.
 *
 * TEST_TYPE parameter's available values are:
 *
 * -> REGR:   Execute NON REGRESSION tests.
 * -> CERTIF: Execute CERTIFICATION tests.
 * -> DEMO:   Execute DEMONSTRATION events.
 * -> MISC:   Execute MISCELLANEOUS tests.
 * -> UPF4:   Execute UPF4 tests.
 *
 */
#define TEST_TYPE (MISC)



/**
 *
 * Define TEST_LEVEL parameter.
 *
 * TEST_LEVEL parameter is TEST_XXX_SWE, where XXX can take one of the
 * following values:
 *
 * REGR:
 * |    L2CAP     RFCOMM    SPP       SDP       SDAP      ATP
 * |    HS        OBX       OPP       EXPL      FFS       SYN
 * |    DAR       PWR       TUT
 * |______________________________________________________________
 *
 * CERTIF:
 * |    L2CAP     SDP       SPP
 * |______________________________________________________________
 *
 * DEMO:
 * |    HS        EXPL      RNET      TUT		R2D
 * |______________________________________________________________
 *
 * MISC:
 * |    BTE       SDP       HCI       SPP       BTCTRL    DUN_GW
 * |    ATP       TCS       FFS       BMI       SCM
 * |    RTC       AUDIO     R2D       KPD       TUT       MKS
 * |    RGUI      RNET      UVM       MSME
 * |______________________________________________________________
 *
 * UPF4:
 * |    L2CAP     RFCOMM    SDP       SPP       BTCTRL    DUN_GW
 * |    OPP       FAX_GW
 * |______________________________________________________________
 *
 */
#define TEST_LEVEL (TEST_MSME_SWE)


/**
 *
 * Define TEST_NUMBER parameter.
 *
 * This parameter should not be used with REGR TEST_TYPE (except if
 * TEST_TABLE[] = {TEST_NUMBER, CONFIG_X, EOL}.
 *
 */
#define TEST_NUMBER (5)



/*
 * Only with TEST_MISC = REGR
 * --------------------------
 */

/**
 *
 * Define TEST_CFG parameter.
 *
 * TEST_CFG parameter's available values are:
 *
 * -> TEST_LIST:      Execute all scenarios from TEST_TABLE[] sequentially.
 * -> TEST_LIST_RAND: Execute NB_OF_TEST_TO_PASS scenarios from TEST_TABLE[] randomly.
 * -> TEST_ALL:       Execute all the scenarios sequentially using the two
 *                    regression configurations (CONFIG_A and CONFIG_B).
 * -> TEST_ALL_RAND:  Execute NB_OF_TEST_TO_PASS scenarios randomly using the
 *                    two regression configurations (CONFIG_A and CONFIG_B).
 *
 * Note:
 *    If TEST_INIT = EXEC, test_cfg parameter (defined in rv_test.c file) is
 *    automatically set to TEST_ALL_RAND value.
 *
 */
#define TEST_CFG (TEST_ALL_RAND)


/**
 *
 * Define TEST_TABLE parameter.
 *
 * T_RV_REGR_TEST_LIST type is:
 * -> T_RV_REGR_TEST_LIST_NBR: Scenario number.
 * -> T_RV_REGR_TEST_LIST_CFG: Test configuration (CONFIG_A or CONFIG_B)
 *
 * Note:
 *    TEST_TABLE MUST contain EOL flag as its last element.
 *
 */
static const T_RV_REGR_TEST_LIST TEST_TABLE[] = {TEST_NUMBER, CONFIG_A, TEST_NUMBER, CONFIG_B,
                                                 EOL};

/**
 *
 * Define NB_OF_TEST_TO_PASS parameter.
 *
 * This parameter is only used with REGR TEST_TYPE when TEST_CFG parameter is
 * set to TEST_LIST_RAND or TEST_ALL RAND. Else not used.
 *
 */
#define NB_OF_TEST_TO_PASS (1)


/**
 *
 * Define TEST_OCC parameter.
 *
 * This parameter defines the number of occurence for each test.
 *
 * Note:
 *    This parameter can't be set dynamically.
 *
 */
#define TEST_OCC (1)


/*
 * Only with TEST LEVEL = AUDIO
 * ----------------------------
 */

/**
 *
 * Define TEST_AUDIO parameter.
 *
 * TEST_AUDIO parameter's available values are:
 * -> LIST:     to test all the Keybeep or Tones or Melody or Voice memo Tests
 * -> ONESHOT:  to test just one audio test
 */
#define TEST_AUDIO (ONESHOT)



/*
 * Only with BT devices
 * --------------------
 */

/**
 *
 * bd_addr of BT devices used to execute tests.
 *
 * Note that in case where two separated devices are used, BD_ADDR_LOC and
 * BD_ADDR_REM values shouldn't depend on DEVICE_A or DEVICE_B.
 *
 */

#ifdef DEVICE_A
   #define BD_ADDR_LOC {0x00, 0xD0, 0xB7, 0x03, 0x17, 0x26}
   #define BD_ADDR_REM {0x00, 0xD0, 0xB7, 0x03, 0x17, 0x48}
#endif
#ifdef DEVICE_B
   #define BD_ADDR_LOC {0x00, 0xD0, 0xB7, 0x03, 0x17, 0x48}
   #define BD_ADDR_REM {0x00, 0xD0, 0xB7, 0x03, 0x17, 0x26}
#endif


#endif /* _RV_TEST_CFG_H_ */