allow_failure: true
variables:
LOG_PATH: "$CI_PROJECT_DIR/$CI_BUILD_REF"
- TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/test"
+ TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test"
REPORT_PATH: "$CI_PROJECT_DIR/CI_Test_Report"
artifacts:
when: always
BIN_PATH: "$CI_PROJECT_DIR/SSC/build/"
APP_NAME: "ssc"
LOG_PATH: "$CI_PROJECT_DIR/$CI_BUILD_REF"
- # assume tests are put in "components/test"
- TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/test"
+ # append test level folder to TEST_CASE_FILE_PATH in before_script of test job
+ TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test"
# jobs MUST set CONFIG_FILE in before_script, and overwrite the variables above if necessary
artifacts:
# run test
- python CIRunner.py -l $LOG_PATH -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH bin_path $APP_NAME $BIN_PATH
-Function_SYS_01:
+IT_Function_SYS_01:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T1_1
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_SYS_01.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_SYS_01.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_WIFI_01:
+IT_Function_WIFI_01:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T1_1
- SSC_T2_1
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_WIFI_01.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_01.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_WIFI_02:
+IT_Function_WIFI_02:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T1_1
- SSC_T2_1
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_WIFI_02.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_02.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_TCPIP_01:
+IT_Function_TCPIP_01:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T1_1
- SSC_T2_1
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_TCPIP_01.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_01.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_TCPIP_02:
+IT_Function_TCPIP_02:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T1_1
- SSC_T2_1
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_TCPIP_02.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_02.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_TCPIP_03:
+IT_Function_TCPIP_03:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T1_1
- SSC_T2_1
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_TCPIP_03.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_03.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_TCPIP_04:
+IT_Function_TCPIP_04:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T1_1
- SSC_T2_1
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_TCPIP_04.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_04.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_TCPIP_05:
+IT_Function_TCPIP_05:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T1_1
- SSC_T2_1
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_TCPIP_05.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_05.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_TCPIP_06:
+IT_Function_TCPIP_06:
<<: *test_template_night
tags:
- ESP32_IDF
- SSC_T1_1
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_TCPIP_06.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_06.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_WIFI_03:
+IT_Function_WIFI_03:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T3_PhyMode
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_WIFI_03.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_03.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_WIFI_04:
+IT_Function_WIFI_04:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T1_APC
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_WIFI_04.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_04.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_WIFI_05:
+IT_Function_WIFI_05:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T1_WEP
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_WIFI_05.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_05.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_WIFI_06:
+IT_Function_WIFI_06:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T2_PhyMode
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_WIFI_06.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_06.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_TCPIP_07:
+IT_Function_TCPIP_07:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T1_1
- SSC_T1_2
+ - SSC_T2_1
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_TCPIP_07.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_07.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_TCPIP_08:
+IT_Function_TCPIP_08:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T1_1
- - SSC_T2_1
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_TCPIP_08.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_08.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_TCPIP_09:
+IT_Function_TCPIP_09:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T1_1
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_TCPIP_09.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_09.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_TCPIP_10:
+IT_Function_TCPIP_10:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T1_2
- SSC_T2_1
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_TCPIP_10.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_10.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_TCPIP_11:
+IT_Function_TCPIP_11:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T1_1
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_TCPIP_11.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_11.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
-Function_TCPIP_12:
+IT_Function_TCPIP_12:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T1_1
- SSC_T1_2
before_script:
- - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_TCPIP_12.yml
+ - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_12.yml
+ - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test
--- /dev/null
+
+# Note: The test cases in this folder are for Espressif internal use.
+
+# Goto internal project wiki Testing page for detail about this folder.
+
+## File Structure
+
+```
+test --- CIConfigs --- sanity_test1.yml (Runner config files)
+ | |-- stress_test1.yml
+ |-- TestCaseAll.yml (TestCaseFiles)
+ |-- TestEnvAll.yml (TestCaseFiles)
+ |-- InitialConditionAll.yml (TestCaseFiles)
+ |-- TestCaseScript --- ... (Test case scripts)
+```
+
+1. CIConfigs folder
+ * config for CI config files are put in this folder
+ * CI config files configs the cases and some other options for the CI job with same name
+1. Test case files
+ * TestCaseAll.yml (test cases)
+ * InitialConditionAll.yml (initial conditions)
+ * TestEnvAll.yml (test environments)
+ * [how to modify test cases](https://gitlab.espressif.cn:6688/yinling/auto_test_script/blob/master/public/Design/TestCaseFiles.DesignNote.md)
+1. Test case scripts
+ * some cases are implemented by specified script. those scripts are put in this folder.
+
+
+## Modify test cases
+
+1. check if the "SDK" of the test case only contain the current SDK
+ * if Yes, then just modify the test case behavior
+ * if No:
+ 1. then remove current SDK name from "SDK" of the test case
+ 2. Add a new test case, and set "SDK" only support current SDK name
+2. use [auto_test_script](https://gitlab.espressif.cn:6688/yinling/auto_test_script) to load the modified case and verify the modification
+3. create a merge request and assign to HYL (or add comment @yinling for merging test).
+After review it will be merged to SDK and will be The cases will be synced to database in auto_test_script.
+
+
+## Run test case locally
+
+1. clone auto_test_script (ssh://git@gitlab.espressif.cn:27227/yinling/auto_test_script.git) from gitlab
+2. create test environment:
+ 1. search test case (search test case ID in components/test/TestCaseAll.yml, get the "test environment" value
+ 2. goto [test environment list](https://gitlab.espressif.cn:6688/yinling/auto_test_script/blob/master/public/Documents/TestEnvList.md), find the link and goto the environment detail page
+ 3. create test environment according to figure and description
+ 4. [config test environment](https://gitlab.espressif.cn:6688/yinling/auto_test_script/blob/master/public/Design/TestEnvConfig.DesignNote.md). All parameters in table "Parameters require config before use" MUST be configured.
+3. run test cases with [CIRunner.py](https://gitlab.espressif.cn:6688/yinling/auto_test_script/blob/master/public/Design/RunnerConfigs.DesignNote.md)
+
+
+
+## exclude known issues for CI
+the test cases listed in file "KnownIssues" will be excluded by CI when calculating results
+
+Editing KnownIssues file is very simple, one single line for the ID for each case.
+```
+TCPIP_TCP_0101
+TCPIP_TCP_0201
+...
+```
\ No newline at end of file
--- /dev/null
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+ ID: [^TCPIP_DHCP_0302, TCPIP_DHCP_0302, TCPIP_DHCP_0301, TCPIP_TCP_0403, TCPIP_TCP_0402,
+ TCPIP_TCP_0401, TCPIP_TCP_0407, TCPIP_TCP_0406, ^TCPIP_TCP_0411, TCPIP_TCP_0404,
+ TCPIP_TCP_0408, TCPIP_TCP_0110, TCPIP_TCP_0115, TCPIP_IP_0101, TCPIP_IP_0102,
+ ^TCPIP_IGMP_0102, ^TCPIP_IGMP_0101, ^TCPIP_IGMP_0104, TCPIP_IGMP_0104, TCPIP_IGMP_0103,
+ TCPIP_IGMP_0102, TCPIP_IGMP_0101, TCPIP_UDP_0108, TCPIP_UDP_0106, TCPIP_UDP_0107,
+ TCPIP_UDP_0105, TCPIP_UDP_0101, TCPIP_IGMP_0204, TCPIP_IGMP_0201, TCPIP_IGMP_0202]
--- /dev/null
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+ ID: [TCPIP_IGMP_0203, ^TCPIP_TCP_0403, ^TCPIP_TCP_0408, TCPIP_UDP_0201, TCPIP_UDP_0202,
+ ^TCPIP_DHCP_0301, ^TCPIP_TCP_0101, ^TCPIP_TCP_0103, ^TCPIP_TCP_0105, ^TCPIP_TCP_0104,
+ ^TCPIP_TCP_0107, ^TCPIP_TCP_0106, ^TCPIP_DHCP_0210, ^TCPIP_DHCP_0211, ^TCPIP_TCP_0404,
+ TCPIP_TCP_0212, TCPIP_TCP_0210, ^TCPIP_TCP_0406, ^TCPIP_TCP_0407, ^TCPIP_TCP_0401,
+ ^TCPIP_TCP_0210, ^TCPIP_TCP_0212, TCPIP_DHCP_0211, TCPIP_DHCP_0210, TCPIP_DHCP_0101,
+ TCPIP_DHCP_0103, TCPIP_DHCP_0102, TCPIP_DHCP_0206, TCPIP_DHCP_0207, ^TCPIP_IP_0102]
--- /dev/null
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+ ID: [^TCPIP_UDP_0105, ^TCPIP_UDP_0107, ^TCPIP_UDP_0106, ^TCPIP_UDP_0101, TCPIP_TCP_0203,
+ TCPIP_TCP_0202, ^TCPIP_UDP_0108, ^TCPIP_IGMP_0201, ^TCPIP_IGMP_0203, ^TCPIP_IGMP_0202,
+ ^TCPIP_IGMP_0103, TCPIP_UDP_0114, TCPIP_UDP_0113, TCPIP_UDP_0112, TCPIP_DHCP_0205,
+ TCPIP_DHCP_0202, TCPIP_DHCP_0203, ^TCPIP_TCP_0102, TCPIP_TCP_0106, TCPIP_TCP_0107,
+ TCPIP_TCP_0104, TCPIP_TCP_0105, TCPIP_TCP_0102, TCPIP_TCP_0103, TCPIP_TCP_0101,
+ ^TCPIP_TCP_0116, ^TCPIP_TCP_0114, ^TCPIP_TCP_0115, ^TCPIP_TCP_0112, ^TCPIP_TCP_0113]
--- /dev/null
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+ ID: [^TCPIP_TCP_0110, ^TCPIP_TCP_0111, TCPIP_DHCP_0209, ^TCPIP_DHCP_0209, ^TCPIP_DHCP_0207,
+ ^TCPIP_DHCP_0206, ^TCPIP_DHCP_0205, ^TCPIP_DHCP_0204, ^TCPIP_DHCP_0203, ^TCPIP_DHCP_0202,
+ ^TCPIP_DHCP_0201, TCPIP_TCP_0204, TCPIP_TCP_0207, TCPIP_TCP_0206, TCPIP_TCP_0201,
+ ^TCPIP_DHCP_0101, ^TCPIP_DHCP_0102, ^TCPIP_DHCP_0103, ^TCPIP_DHCP_0208, TCPIP_TCP_0208,
+ ^TCPIP_TCP_0202, ^TCPIP_TCP_0203, TCPIP_DHCP_0204, ^TCPIP_TCP_0201, ^TCPIP_TCP_0206,
+ ^TCPIP_TCP_0207, ^TCPIP_TCP_0204, TCPIP_DHCP_0201, ^TCPIP_TCP_0208, TCPIP_DHCP_0208]
--- /dev/null
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+ ID: [^TCPIP_IGMP_0204, ^TCPIP_TCP_0412, TCPIP_TCP_0411, TCPIP_TCP_0412, ^TCPIP_UDP_0112,
+ ^TCPIP_UDP_0113, ^TCPIP_UDP_0114, ^TCPIP_UDP_0202, ^TCPIP_UDP_0201, ^TCPIP_IP_0101,
+ ^TCPIP_TCP_0402, TCPIP_TCP_0114, TCPIP_TCP_0116, TCPIP_TCP_0111, TCPIP_TCP_0113,
+ TCPIP_TCP_0112]
DUT: [SSC2, SSC1]
Filter:
- Add:
- ID: [^TCPIP_UDP_0110, ^TCPIP_UDP_0110, ^TCPIP_UDP_0110, ^TCPIP_UDP_0110, ^TCPIP_UDP_0110,
+ ID: [TCPIP_ICMP_0101, TCPIP_ICMP_0101, TCPIP_ICMP_0101, TCPIP_ICMP_0101, TCPIP_ICMP_0101,
+ TCPIP_DNS_0102, TCPIP_DNS_0102, TCPIP_DNS_0102, TCPIP_DNS_0102, TCPIP_DNS_0102,
+ TCPIP_DNS_0101, TCPIP_DNS_0101, TCPIP_DNS_0101, TCPIP_DNS_0101, TCPIP_DNS_0101,
^TCPIP_ICMP_0101, ^TCPIP_ICMP_0101, ^TCPIP_ICMP_0101, ^TCPIP_ICMP_0101, ^TCPIP_ICMP_0101,
TCPIP_UDP_0109, TCPIP_UDP_0109, TCPIP_UDP_0109, TCPIP_UDP_0109, TCPIP_UDP_0109,
- TCPIP_UDP_0104, TCPIP_UDP_0104, TCPIP_UDP_0104, TCPIP_UDP_0104, TCPIP_UDP_0104,
- TCPIP_UDP_0102, TCPIP_UDP_0102, TCPIP_UDP_0102, TCPIP_UDP_0102, TCPIP_UDP_0102,
- TCPIP_UDP_0103, TCPIP_UDP_0103, TCPIP_UDP_0103, TCPIP_UDP_0103, TCPIP_UDP_0103]
+ TCPIP_UDP_0104, TCPIP_UDP_0104, TCPIP_UDP_0104, TCPIP_UDP_0104, TCPIP_UDP_0104]
DUT: [SSC1]
Filter:
- Add:
- ID: [^TCPIP_UDP_0307, ^TCPIP_UDP_0307, ^TCPIP_UDP_0307, ^TCPIP_UDP_0307, ^TCPIP_UDP_0307,
+ ID: [TCPIP_UDP_0102, TCPIP_UDP_0102, TCPIP_UDP_0102, TCPIP_UDP_0102, TCPIP_UDP_0102,
+ TCPIP_UDP_0103, TCPIP_UDP_0103, TCPIP_UDP_0103, TCPIP_UDP_0103, TCPIP_UDP_0103,
+ ^TCPIP_UDP_0307, ^TCPIP_UDP_0307, ^TCPIP_UDP_0307, ^TCPIP_UDP_0307, ^TCPIP_UDP_0307,
^TCPIP_UDP_0306, ^TCPIP_UDP_0306, ^TCPIP_UDP_0306, ^TCPIP_UDP_0306, ^TCPIP_UDP_0306,
^TCPIP_UDP_0305, ^TCPIP_UDP_0305, ^TCPIP_UDP_0305, ^TCPIP_UDP_0305, ^TCPIP_UDP_0305,
- ^TCPIP_UDP_0304, ^TCPIP_UDP_0304, ^TCPIP_UDP_0304, ^TCPIP_UDP_0304, ^TCPIP_UDP_0304,
- ^TCPIP_UDP_0104, ^TCPIP_UDP_0104, ^TCPIP_UDP_0104, ^TCPIP_UDP_0104, ^TCPIP_UDP_0104,
- ^TCPIP_UDP_0103, ^TCPIP_UDP_0103, ^TCPIP_UDP_0103, ^TCPIP_UDP_0103, ^TCPIP_UDP_0103]
+ ^TCPIP_UDP_0304, ^TCPIP_UDP_0304, ^TCPIP_UDP_0304, ^TCPIP_UDP_0304, ^TCPIP_UDP_0304]
--- /dev/null
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC1]
+Filter:
+- Add:
+ ID: [^TCPIP_UDP_0303, ^TCPIP_UDP_0303, ^TCPIP_UDP_0303, ^TCPIP_UDP_0303, ^TCPIP_UDP_0303,
+ ^TCPIP_UDP_0302, ^TCPIP_UDP_0302, ^TCPIP_UDP_0302, ^TCPIP_UDP_0302, ^TCPIP_UDP_0302,
+ ^TCPIP_UDP_0301, ^TCPIP_UDP_0301, ^TCPIP_UDP_0301, ^TCPIP_UDP_0301, ^TCPIP_UDP_0301,
+ ^TCPIP_UDP_0104, ^TCPIP_UDP_0104, ^TCPIP_UDP_0104, ^TCPIP_UDP_0104, ^TCPIP_UDP_0104,
+ ^TCPIP_UDP_0103, ^TCPIP_UDP_0103, ^TCPIP_UDP_0103, ^TCPIP_UDP_0103, ^TCPIP_UDP_0103,
+ ^TCPIP_UDP_0102, ^TCPIP_UDP_0102, ^TCPIP_UDP_0102, ^TCPIP_UDP_0102, ^TCPIP_UDP_0102]
DUT: [SSC2, SSC1]
Filter:
- Add:
- ID: [^TCPIP_UDP_0102, ^TCPIP_UDP_0102, ^TCPIP_UDP_0102, ^TCPIP_UDP_0102, ^TCPIP_UDP_0102,
- TCPIP_UDP_0111, TCPIP_UDP_0111, TCPIP_UDP_0111, TCPIP_UDP_0111, TCPIP_UDP_0111,
+ ID: [TCPIP_UDP_0111, TCPIP_UDP_0111, TCPIP_UDP_0111, TCPIP_UDP_0111, TCPIP_UDP_0111,
TCPIP_UDP_0110, TCPIP_UDP_0110, TCPIP_UDP_0110, TCPIP_UDP_0110, TCPIP_UDP_0110,
^TCPIP_DNS_0101, ^TCPIP_DNS_0101, ^TCPIP_DNS_0101, ^TCPIP_DNS_0101, ^TCPIP_DNS_0101,
^TCPIP_DNS_0103, ^TCPIP_DNS_0103, ^TCPIP_DNS_0103, ^TCPIP_DNS_0103, ^TCPIP_DNS_0103,
- ^TCPIP_DNS_0102, ^TCPIP_DNS_0102, ^TCPIP_DNS_0102, ^TCPIP_DNS_0102, ^TCPIP_DNS_0102]
+ ^TCPIP_DNS_0102, ^TCPIP_DNS_0102, ^TCPIP_DNS_0102, ^TCPIP_DNS_0102, ^TCPIP_DNS_0102,
+ TCPIP_UDP_0304, TCPIP_UDP_0304, TCPIP_UDP_0304, TCPIP_UDP_0304, TCPIP_UDP_0304]
DUT: [SSC1]
Filter:
- Add:
- ID: [TCPIP_UDP_0304, TCPIP_UDP_0304, TCPIP_UDP_0304, TCPIP_UDP_0304, TCPIP_UDP_0304,
- TCPIP_UDP_0305, TCPIP_UDP_0305, TCPIP_UDP_0305, TCPIP_UDP_0305, TCPIP_UDP_0305,
+ ID: [TCPIP_UDP_0305, TCPIP_UDP_0305, TCPIP_UDP_0305, TCPIP_UDP_0305, TCPIP_UDP_0305,
TCPIP_UDP_0306, TCPIP_UDP_0306, TCPIP_UDP_0306, TCPIP_UDP_0306, TCPIP_UDP_0306,
TCPIP_UDP_0307, TCPIP_UDP_0307, TCPIP_UDP_0307, TCPIP_UDP_0307, TCPIP_UDP_0307,
TCPIP_UDP_0301, TCPIP_UDP_0301, TCPIP_UDP_0301, TCPIP_UDP_0301, TCPIP_UDP_0301,
- TCPIP_UDP_0302, TCPIP_UDP_0302, TCPIP_UDP_0302, TCPIP_UDP_0302, TCPIP_UDP_0302]
+ TCPIP_UDP_0302, TCPIP_UDP_0302, TCPIP_UDP_0302, TCPIP_UDP_0302, TCPIP_UDP_0302,
+ TCPIP_UDP_0303, TCPIP_UDP_0303, TCPIP_UDP_0303, TCPIP_UDP_0303, TCPIP_UDP_0303]
--- /dev/null
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC1]
+Filter:
+- Add:
+ ID: [TCPIP_DNS_0103, TCPIP_DNS_0103, TCPIP_DNS_0103, TCPIP_DNS_0103, TCPIP_DNS_0103,
+ ^TCPIP_UDP_0110, ^TCPIP_UDP_0110, ^TCPIP_UDP_0110, ^TCPIP_UDP_0110, ^TCPIP_UDP_0110]
--- /dev/null
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+ ID: [^WIFI_CONN_0601, ^WIFI_ADDR_0101, WIFI_SCAN_0103, WIFI_SCAN_0102, WIFI_SCAN_0101,
+ WIFI_SCAN_0105, WIFI_SCAN_0104, ^WIFI_CONN_0103, WIFI_CONN_0201, WIFI_CONN_0904,
+ ^WIFI_SCAN_0102, ^WIFI_SCAN_0103, ^WIFI_SCAN_0104, ^WIFI_SCAN_0105, WIFI_CONN_0401,
+ WIFI_ADDR_0101, WIFI_ADDR_0102, WIFI_CONN_0301, ^WIFI_CONN_0801, ^WIFI_CONN_0301,
+ WIFI_CONN_0501, WIFI_CONN_0502, ^WIFI_CONN_0401, WIFI_MODE_0101, WIFI_MODE_0103,
+ WIFI_MODE_0102, ^WIFI_CONN_0904, ^WIFI_CONN_0901, WIFI_CONN_0601, ^WIFI_CONN_0201]
--- /dev/null
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+ ID: [^WIFI_ADDR_0102, WIFI_CONN_0901, WIFI_CONN_0801, ^WIFI_CONN_0104, WIFI_CONN_0104,
+ WIFI_CONN_0101, WIFI_CONN_0102, WIFI_CONN_0103, ^WIFI_SCAN_0101, ^WIFI_CONN_0101,
+ ^WIFI_CONN_0502, ^WIFI_CONN_0501]
--- /dev/null
+Config: {execute count: 1, execute order: in order}
+DUT: [SSC2, SSC1]
+Filter:
+- Add:
+ ID: [WIFI_SCAN_0301, WIFI_SCAN_0303, WIFI_SCAN_0304, WIFI_SCAN_0302, WIFI_SCAN_0201,
+ WIFI_PHY_0403, WIFI_PHY_0402, WIFI_PHY_0401, WIFI_PHY_0407, WIFI_PHY_0406, WIFI_PHY_0405,
+ WIFI_PHY_0404, WIFI_PHY_0408]
initial condition:
- check cmd set:
- ''
- - - ASSERT
- - [dummy]
- - - SSC SSC[1-<node_num>] mesh -Q -t 4
- - ['R SSC[1-<node_num>] T <node_num>']
- - - MESHTREE
- - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
- force restore cmd set:
- - ''
- - - SSC SSC[1-<node_num>] reboot
- - ['P SSC[1-<node_num>] C !!!ready!!!']
- - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
- -p <test_tcp_port1> -h 5
- - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
- - - SSC SSC1 mesh -A -s <ap_ssid> -k <ap_password>
- - ['P SSC1 C +MESHINIT:AP,OK']
- - - SSC SSC1 mesh -E -o 1 -t 1
- - ['P SSC1 C +MESH:ENABLED']
- - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
- - ['']
- - - DELAY 60
- - ['P SSC[2-<node_num>] C +MESH:ENABLED']
- - - SSC SSC[1-<node_num>] mesh -C
- - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
- - - SSC SSC[1-<node_num>] mesh -Q -t 4
- - ['R SSC[1-<node_num>] T <node_num>']
- - - MESHTREE
- - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
- initial condition detail: root as LOCAL, rest node as ONLINE, mesh network established
- restore cmd set:
- - ''
- - - SSC SSC[1-<node_num>] mesh -E -o 0
- - ['P SSC[1-<node_num>] C +MESH:DISABLED']
- - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
- -p <test_tcp_port1> -h 5
- - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
- - - SSC SSC1 mesh -A -s <ap_ssid> -k <ap_password>
- - ['P SSC1 C +MESHINIT:AP,OK']
- - - SSC SSC1 mesh -E -o 1 -t 1
- - ['P SSC1 C +MESH:ENABLED']
- - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
- - ['']
- - - DELAY 60
- - ['P SSC[2-<node_num>] C +MESH:ENABLED']
- - - SSC SSC[1-<node_num>] mesh -C
- - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
- - - SSC SSC[1-<node_num>] mesh -Q -t 4
- - ['R SSC[1-<node_num>] T <node_num>']
- - - MESHTREE
- - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
- restore post cmd set:
- - ''
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
- script path: InitCondBase.py
- start: 24.0
- tag: ENABLED_2
- test script: InitCondBase
-- check cmd set:
- - ''
- - - ASSERT
- - [dummy]
- - - SSC SSC[1-<node_num>] mesh -Q -t 4
- - ['R SSC[1-<node_num>] T <node_num>']
- - - MESHTREE
- - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
- force restore cmd set:
- - ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - - SSC SSC[1-<node_num>] mesh -E -o 0
- - ['P SSC[1-<node_num>] C +MESH:DISABLED']
- - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
- -p <test_tcp_port1> -h 5
- - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
- - - SSC SSC[1-<node_num>] mesh -A -s <ap_ssid> -k <ap_password>
- - ['P SSC[1-<node_num>] C +MESHINIT:AP,OK']
- - - SSC SSC1 mesh -E -o 1 -t 2
- - ['P SSC1 C +MESH:ENABLED']
- - - SOC SOC1 MACCEPT GSOC1
- - [R SOC_COM L OK]
- - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
- - ['P SSC[2-<node_num>] C +MESH:ENABLED']
- - - DELAY 60
- - ['']
- - - SSC SSC[1-<node_num>] mesh -C
- - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
- - - SSC SSC[1-<node_num>] mesh -Q -t 4
- - ['R SSC[1-<node_num>] T <node_num>']
- - - MESHTREE
- - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
- - - SSC SSC[1-<node_num>] mesh -O -t 1 -o 1
- - ['P SSC[1-<node_num>] C +MESH:OK']
- initial condition detail: all mesh node enabled as ONLINE, mesh network established
- restore cmd set:
- - ''
- - - SSC SSC[1-<node_num>] reboot
- - ['P SSC[1-<node_num>] C !!!ready!!!']
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - - SSC SSC[1-<node_num>] mesh -E -o 0
- - ['P SSC[1-<node_num>] C +MESH:DISABLED']
- - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
- -p <test_tcp_port1> -h 5
- - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
- - - SSC SSC[1-<node_num>] mesh -A -s <ap_ssid> -k <ap_password>
- - ['P SSC[1-<node_num>] C +MESHINIT:AP,OK']
- - - SSC SSC1 mesh -E -o 1 -t 2
- - ['P SSC1 C +MESH:ENABLED']
- - - SOC SOC1 MACCEPT GSOC1
- - [R SOC_COM L OK]
- - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
- - ['P SSC[2-<node_num>] C +MESH:ENABLED']
- - - DELAY 60
- - ['']
- - - SSC SSC[1-<node_num>] mesh -C
- - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
- - - SSC SSC[1-<node_num>] mesh -Q -t 4
- - ['R SSC[1-<node_num>] T <node_num>']
- - - MESHTREE
- - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
- - - SSC SSC[1-<node_num>] mesh -O -t 1 -o 1
- - ['P SSC[1-<node_num>] C +MESH:OK']
- restore post cmd set:
- - ''
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
- script path: InitCondBase.py
- start: 17.0
- tag: ENABLED_1
- test script: InitCondBase
-- check cmd set:
- - ''
- - - SSC SSC1 upgrade -Q -t 1
- - ['R SSC1 C BIN_ID,0']
- - - SSC SSC1 upgrade -Q -t 2 -b 0
- - ['R SSC1 C BIN_INFO,0']
- - - SSC SSC1 op -S -o 3
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 1
- - [R SSC1 C +DHCP]
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:2']
+ - - SSC SSC1 ap -Q
+ - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(<target_ssid>,<target_password>)']
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 C +DHCP:AP,STARTED']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
force restore cmd set:
- ''
- - - SSC SSC1 upgrade -R -r 1 -s <ota_bin_size>
- - [R SSC1 NC ERROR C !!!ready!!!]
- - - SSC SSC1 op -S -o 3
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 1
- - [R SSC1 C +DHCP]
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- - - SOC SOC1 ULISTEN <test_tcp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - - SOC SOC1 SETOPT REPLY BIN
- - [R SOC_COM C OK]
- - - SSC SSC1 upgrade -I -b 0 -f 0
- - ['P SSC1 C +UPGRADE:OK']
- - - SSC SSC1 upgrade -U -i <pc_ip> -p <test_tcp_port1> -u <ota_bin>
- - ['P SSC1 C +UPGRADE:SUCCEED']
- - - SSC SSC1 upgrade -R -b 0
+ - - SSC SSC1 reboot
- [R SSC1 C !!!ready!!!]
- - - SSC SSC1 dhcp -S -o 1
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 2
- [R SSC1 C +DHCP]
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- initial condition detail: APSTA mode, connected to AP, running BIN0 (located on
- flash id 0)
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ initial condition detail: AP mode, DHCP on, will autogen a TC with initial condition
+ APSTA1
restore cmd set:
- ''
- - - SSC SSC1 upgrade -Q -t 2 -b 0
- - ['R SSC1 C BIN_INFO,0']
- - - SSC SSC1 upgrade -R -b 0
- - [R SSC1 C !!!ready!!!]
- - - SSC SSC1 op -S -o 3
+ - - SSC SSC1 op -S -o 2
- ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 1
+ - - SSC SSC1 dhcp -S -o 2
- [R SSC1 C +DHCP]
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
restore post cmd set:
- ''
- - - SSC SSC1 upgrade -D
- - ['R SSC1 C +UPGRADE:OK']
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
- - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
+ - ['R SSC1 C +FREEHEAP:']
script path: InitCondBase.py
- start: 24.0
- tag: STAAPBIN0
+ start: 31.0
+ tag: APM1
test script: InitCondBase
- check cmd set:
- ''
- - SSC SSC1 op -Q
- - ['R SSC1 C +CURMODE:3']
+ - ['R SSC1 C +CURMODE:2']
- - SSC SSC1 ap -Q
- ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(<target_ssid>,<target_password>)']
- - SSC SSC1 ap -L
- ''
- - SSC SSC1 reboot
- [R SSC1 C !!!ready!!!]
- - - SSC SSC1 op -S -o 3
+ - - SSC SSC1 op -S -o 2
- ['R SSC1 C +MODE:OK']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 3
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -S -o 2
- - [R SSC1 C +DHCP]
- - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- ['R SSC1 C +MAC:AP,OK']
- - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi>
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
- ['R PC_COM NC ERROR C +WIFICONN:OK']
- initial condition detail: testing ap on sta + ap mode, PC join AP (autogen)
+ initial condition detail: AP mode, PC join AP, DHCP on, will autogen a TC with initial
+ condition APSTA2
restore cmd set:
- ''
- - - SSC SSC1 op -S -o 3
+ - - SSC SSC1 op -S -o 2
- ['R SSC1 C +MODE:OK']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 3
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -S -o 2
- - [R SSC1 C +DHCP]
- - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- ['R SSC1 C +MAC:AP,OK']
- - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi>
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
- ['R PC_COM NC ERROR C +WIFICONN:OK']
restore post cmd set:
- ''
- - SSC SSC1 soc -T
- [R SSC1 C +CLOSEALL]
- - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
+ - ['R SSC1 C +FREEHEAP:']
script path: InitCondBase.py
- start: 66.0
- tag: APSTA2
+ start: 38.0
+ tag: APM2
test script: InitCondBase
- check cmd set:
- ''
- - SSC SSC1 op -Q
- - ['R SSC1 C +CURMODE:3']
+ - ['R SSC1 C +CURMODE:2']
- - SSC SSC1 ap -Q
- ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(<target_ssid>,<target_password>)']
- - SSC SSC1 dhcp -Q -o 2
- ''
- - SSC SSC1 reboot
- [R SSC1 C !!!ready!!!]
- - - SSC SSC1 op -S -o 3
+ - - SSC SSC1 op -S -o 2
- ['R SSC1 C +MODE:OK']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 3
- - ['R SSC1 C +SAP:OK']
- - SSC SSC1 dhcp -S -o 2
- [R SSC1 C +DHCP]
- - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- ['R SSC1 C +MAC:AP,OK']
- initial condition detail: testing ap on sta + ap mode (autogen)
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ initial condition detail: AP mode, will NOT autogen a TC with initial condition
+ APSTA1
restore cmd set:
- ''
- - - SSC SSC1 op -S -o 3
+ - - SSC SSC1 op -S -o 2
- ['R SSC1 C +MODE:OK']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 3
- - ['R SSC1 C +SAP:OK']
- - SSC SSC1 dhcp -S -o 2
- [R SSC1 C +DHCP]
- - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
restore post cmd set:
- ''
- - SSC SSC1 soc -T
- [R SSC1 C +CLOSEALL]
- - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
+ - ['R SSC1 C +FREEHEAP:']
script path: InitCondBase.py
- start: 59.0
- tag: APSTA1
+ start: 31.0
+ tag: APO1
test script: InitCondBase
- check cmd set:
- ''
- - SSC SSC1 op -Q
- - ['R SSC1 C +CURMODE:3']
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:']
- - - SSC SSC1 dhcp -Q -o 1
- - ['R SSC1 C +DHCP:STA,STARTED']
- - - SSC SSC1 mac -Q -o 1
- - [R SSC1 P <target_mac>]
- force restore cmd set:
- - ''
- - - SSC SSC1 reboot
+ - ['R SSC1 C +CURMODE:2']
+ - - SSC SSC1 ap -Q
+ - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(<target_ssid>,<target_password>)']
+ - - SSC SSC1 ap -L
+ - ['R SSC1 RE "\+LSTA:.+,%%s"%%(<pc_ip_wifi>)']
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 C +DHCP:AP,STARTED']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
- [R SSC1 C !!!ready!!!]
- - - SSC SSC1 op -S -o 3
+ - - SSC SSC1 op -S -o 2
- ['R SSC1 C +MODE:OK']
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:']
- - - SSC SSC1 dhcp -S -o 1
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 dhcp -S -o 2
- [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 1 -m <target_mac>
- - ['R SSC1 C +MAC:STA,OK']
- initial condition detail: testing sta on sta + ap mode, quit AP (autogen)
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ initial condition detail: AP mode, will NOT autogen a TC with initial condition
+ APSTA2
restore cmd set:
- ''
- - - SSC SSC1 op -S -o 3
+ - - SSC SSC1 op -S -o 2
- ['R SSC1 C +MODE:OK']
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:']
- - - SSC SSC1 dhcp -S -o 1
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 dhcp -S -o 2
- [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 1 -m <target_mac>
- - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
restore post cmd set:
- ''
- - SSC SSC1 soc -T
- [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 38.0
+ tag: APO2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 upgrade -Q -t 1
+ - ['R SSC1 C BIN_ID,0']
+ - - SSC SSC1 upgrade -Q -t 2 -b 0
+ - ['R SSC1 C BIN_INFO,0']
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 upgrade -R -r 1 -s <ota_bin_size>
+ - [R SSC1 NC ERROR C !!!ready!!!]
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SOC SOC1 ULISTEN <test_tcp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SOC SOC1 SETOPT REPLY BIN
+ - [R SOC_COM C OK]
+ - - SSC SSC1 upgrade -I -b 0 -f 0
+ - ['P SSC1 C +UPGRADE:OK']
+ - - SSC SSC1 upgrade -U -i <pc_ip> -p <test_tcp_port1> -u <ota_bin>
+ - ['P SSC1 C +UPGRADE:SUCCEED']
+ - - SSC SSC1 upgrade -R -b 0
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ initial condition detail: AP only mode, running BIN0 (located on flash id 0)
+ restore cmd set:
+ - ''
+ - - SSC SSC1 upgrade -Q -t 2 -b 0
+ - ['R SSC1 C BIN_INFO,0']
+ - - SSC SSC1 upgrade -R -b 0
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 upgrade -D
+ - ['R SSC1 C +UPGRADE:OK']
- - SSC SSC1 ram
- ['R SSC1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 45.0
- tag: STAAP1
+ start: 31.0
+ tag: APOBIN0
test script: InitCondBase
- check cmd set:
- ''
- - - DELAY 0.1
- - [dummy]
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:3']
+ - - SSC SSC1 ap -Q
+ - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(<target_ssid>,<target_password>)']
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 C +DHCP:AP,STARTED']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
force restore cmd set:
- ''
- - - DELAY 0.1
- - [dummy]
- initial condition detail: none 2
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ initial condition detail: testing ap on sta + ap mode (autogen by APM1)
restore cmd set:
- ''
- - - DELAY 0.1
- - [dummy]
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
restore post cmd set:
- ''
- - - ATS AT1 AT+CWSTOPSMART
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - AT+SYSRAM
- - ['R AT1 A <heap_size>:(\d+)']
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
script path: InitCondBase.py
- start: 108.0
- tag: ATNone2
+ start: 59.0
+ tag: APSTA1
test script: InitCondBase
- check cmd set:
- ''
- - SSC SSC1 op -Q
- ['R SSC1 C +CURMODE:3']
- - - SSC SSC1 sta -Q
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- - - SSC SSC1 dhcp -Q -o 1
- - ['R SSC1 C +DHCP:STA,STARTED']
- - - SSC SSC1 mac -Q -o 1
- - [R SSC1 P <target_mac>]
+ - - SSC SSC1 ap -Q
+ - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(<target_ssid>,<target_password>)']
+ - - SSC SSC1 ap -L
+ - ['R SSC1 RE "\+LSTA:.+,%%s"%%(<pc_ip_wifi>)']
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 C +DHCP:AP,STARTED']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
force restore cmd set:
- ''
- - SSC SSC1 reboot
- [R SSC1 C !!!ready!!!]
- - SSC SSC1 op -S -o 3
- ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 1
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 dhcp -S -o 2
- [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 1 -m <target_mac>
- - ['R SSC1 C +MAC:STA,OK']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- initial condition detail: testing sta on sta + ap mode, join AP, DHCP on (autogen)
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ initial condition detail: testing ap on sta + ap mode, PC join AP (autogen by APM2)
restore cmd set:
- ''
- - SSC SSC1 op -S -o 3
- ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 1
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 dhcp -S -o 2
- [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 1 -m <target_mac>
- - ['R SSC1 C +MAC:STA,OK']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
restore post cmd set:
- ''
- - SSC SSC1 soc -T
- [R SSC1 C +CLOSEALL]
- - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
+ - ['R SSC1 C +FREEHEAP:']
script path: InitCondBase.py
- start: 52.0
- tag: STAAP2
+ start: 66.0
+ tag: APSTA2
test script: InitCondBase
- check cmd set:
- ''
- - ATS AT1 AT+CWMODE_CUR?
- ['R AT1 L +CWMODE_CUR:3']
- - - ATS AT1 AT+CWJAP_CUR?
- - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
- - - ATS AT1 AT+CIPMUX?
- - ['R AT1 L +CIPMUX:1']
- - - ATS AT1 AT+CWDHCP_CUR?
- - ['R AT1 C DHCP:3']
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
- [R AT1 R *]
force restore cmd set:
- ''
- [R AT1 C ready]
- - ATS AT1 AT+CWMODE_DEF=3
- [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=2,1
- - [R AT1 R *]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=2,1
- - [R AT1 R *]
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=1
+ - - DELAY 5
+ - ['']
+ - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
- [R AT1 L OK]
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
- - ATS AT1 AT+CWDHCP_DEF=2,1
- [R AT1 R *]
- initial condition detail: StationSoftAP mode, connected to AP, multi link, use dhcp
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ initial condition detail: StationSoftAP mode
restore cmd set:
- ''
- - ATSO AT1 +++
- [R AT1 R *]
- - ATS AT1 AT+CWMODE_DEF=3
- [R AT1 L OK]
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
- - ATS AT1 AT+CWDHCP_DEF=2,1
- [R AT1 R *]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMODE=0
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
restore post cmd set:
- ''
- - ATS AT1 AT+CWSTOPSMART
- - AT+SYSRAM
- ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 94.0
- tag: ATAPSTA3
+ start: 24.0
+ tag: ATAP1
test script: InitCondBase
- check cmd set:
- ''
- - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 C +CWMODE_CUR:2 C OK']
- - - ATS AT2 AT+CWMODE_CUR?
- - ['R AT2 C +CWMODE_CUR:3 C OK']
- - - ATS AT1 AT+CWJAP_CUR?
- - [R AT1 NC OK L ERROR]
+ - ['R AT1 C +CWMODE_CUR:3 L OK']
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:1']
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
force restore cmd set:
- ''
- - ATS AT1 AT+RST
- [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=2
- - [R AT1 L OK]
- - - ATS AT2 AT+CWMODE_DEF=3
- - [R AT2 L OK]
- initial condition detail: Target 1 in SoftAP mode, Target 2 in StationSoftAP mode,
- use dhcp
- restore cmd set:
- - ''
- - - ATSO AT1 +++
- - ['']
- - - ATS AT1 AT
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=2
- - [R AT1 L OK]
- - - ATS AT2 AT+CWMODE_DEF=3
- - [R AT2 L OK]
- restore post cmd set:
- - ''
- - - ATS AT1 AT+CWSTOPSMART
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - AT+SYSRAM
- - ['R AT1 A <heap_size>:(\d+)']
- script path: InitCondBase.py
- start: 80.0
- tag: ATT2_2
- test script: InitCondBase
-- check cmd set:
- - ''
- - - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 C +CWMODE_CUR:3 L OK']
- - - ATS AT1 AT+CWLIF
- - [R AT1 P <pc_ip>]
- - - ATS AT1 AT+CIPMUX?
- - ['R AT1 L +CIPMUX:1']
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
- - - ATS AT1 AT+CWDHCP_DEF=2,1
- - [R AT1 R *]
- force restore cmd set:
- - ''
- - - ATS AT1 AT+RST
- - [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=3
+ - - ATS AT1 AT+CWMODE_DEF=3
- [R AT1 L OK]
- - DELAY 5
- ['']
start: 31.0
tag: ATAP3
test script: InitCondBase
-- check cmd set:
- - ''
- - - SSC SSC1 op -Q
- - ['R SSC1 C +CURMODE:1']
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:']
- - - SSC SSC1 dhcp -Q -o 1
- - ['R SSC1 C +DHCP:STA,STARTED']
- - - SSC SSC1 mac -Q -o 1
- - [R SSC1 P <target_mac>]
- force restore cmd set:
- - ''
- - - SSC SSC1 reboot
- - [R SSC1 C !!!ready!!!]
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:']
- - - SSC SSC1 dhcp -S -o 1
- - [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 1 -m <target_mac>
- - ['R SSC1 C +MAC:STA,OK']
- initial condition detail: sta mode, quit AP, will NOT autogen a TC with initial
- condition STAAP1
- restore cmd set:
- - ''
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:']
- - - SSC SSC1 dhcp -S -o 1
- - [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 1 -m <target_mac>
- - ['R SSC1 C +MAC:STA,OK']
- restore post cmd set:
- - ''
- - - SSC SSC1 soc -T
- - [R SSC1 C +CLOSEALL]
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
- script path: InitCondBase.py
- start: 17.0
- tag: STAO1
- test script: InitCondBase
-- check cmd set:
- - ''
- - - ATS AT1 AT
- - [R AT1 L OK]
- - - ATS AT1 AT
- - [R AT1 R *]
- force restore cmd set:
- - ''
- - - ATS AT1 AT+RST
- - [R AT1 C ready]
- - - ATS AT1 AT+RST
- - [R AT1 L OK]
- initial condition detail: StationSoftAP mode, both PC join Target AP, single link,
- use dhcp
- restore cmd set:
- - ''
- - - ATSO AT1 +++
- - ['']
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- restore post cmd set:
- - ''
- - - ATS AT1 AT+CWSTOPSMART
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - AT+SYSRAM
- - ['R AT1 A <heap_size>:(\d+)']
- script path: InitCondBase.py
- start: 3.0
- tag: ATAP5
- test script: InitCondBase
- check cmd set:
- ''
- - ATS AT1 AT+CWMODE_CUR?
- [R AT1 C ready]
- - ATS AT1 AT+RST
- [R AT1 L OK]
- initial condition detail: StationSoftAP mode, both PC join Target AP, multi link,
+ initial condition detail: StationSoftAP mode, both PC join Target AP, single link,
use dhcp
restore cmd set:
- ''
- ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
start: 3.0
- tag: ATAP6
+ tag: ATAP5
test script: InitCondBase
- check cmd set:
- ''
- - - SSC SSC1 upgrade -Q -t 1
- - ['R SSC1 C BIN_ID,0']
- - - SSC SSC1 upgrade -Q -t 2 -b 0
- - ['R SSC1 C BIN_INFO,0']
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
+ - - ATS AT1 AT
+ - [R AT1 L OK]
+ - - ATS AT1 AT
+ - [R AT1 R *]
force restore cmd set:
- ''
- - - SSC SSC1 upgrade -R -r 1 -s <ota_bin_size>
- - [R SSC1 NC ERROR C !!!ready!!!]
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 1
- - [R SSC1 C +DHCP]
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- - - SOC SOC1 ULISTEN <test_tcp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - - SOC SOC1 SETOPT REPLY BIN
- - [R SOC_COM C OK]
- - - SSC SSC1 upgrade -I -b 0 -f 0
- - ['P SSC1 C +UPGRADE:OK']
- - - SSC SSC1 upgrade -U -i <pc_ip> -p <test_tcp_port1> -u <ota_bin>
- - ['P SSC1 C +UPGRADE:SUCCEED']
- - - SSC SSC1 upgrade -R -b 0
- - [R SSC1 C !!!ready!!!]
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- initial condition detail: AP only mode, running BIN0 (located on flash id 0)
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+RST
+ - [R AT1 L OK]
+ initial condition detail: StationSoftAP mode, both PC join Target AP, multi link,
+ use dhcp
restore cmd set:
- ''
- - - SSC SSC1 upgrade -Q -t 2 -b 0
- - ['R SSC1 C BIN_INFO,0']
- - - SSC SSC1 upgrade -R -b 0
- - [R SSC1 C !!!ready!!!]
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
restore post cmd set:
- ''
- - - SSC SSC1 upgrade -D
- - ['R SSC1 C +UPGRADE:OK']
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 31.0
- tag: APOBIN0
+ start: 3.0
+ tag: ATAP6
test script: InitCondBase
- check cmd set:
- ''
- - - SSC SSC1 op -Q
- - ['R SSC1 C +CURMODE:1']
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:']
- - - SSC SSC1 dhcp -Q -o 1
- - ['R SSC1 C +DHCP:STA,STARTED']
- - - SSC SSC1 mac -Q -o 1
- - [R SSC1 P <target_mac>]
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:2']
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - [R AT1 R *]
force restore cmd set:
- ''
- - - SSC SSC1 reboot
- - [R SSC1 C !!!ready!!!]
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:']
- - - SSC SSC1 dhcp -S -o 1
- - [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 1 -m <target_mac>
- - ['R SSC1 C +MAC:STA,OK']
- initial condition detail: sta mode, quit AP, DHCP on
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=2
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - [R AT1 R *]
+ initial condition detail: SoftAP mode, use dhcp
restore cmd set:
- ''
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:']
- - - SSC SSC1 dhcp -S -o 1
- - [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 1 -m <target_mac>
- - ['R SSC1 C +MAC:STA,OK']
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=2
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - [R AT1 R *]
restore post cmd set:
- ''
- - - SSC SSC1 soc -T
- - [R SSC1 C +CLOSEALL]
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 17.0
- tag: STAM1
+ start: 59.0
+ tag: ATAPO1
test script: InitCondBase
- check cmd set:
- ''
- - - SSC SSC1 op -Q
- - ['R SSC1 C +CURMODE:1']
- - - SSC SSC1 sta -Q
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- - - SSC SSC1 dhcp -Q -o 1
- - ['R SSC1 C +DHCP:STA,STARTED']
- - - SSC SSC1 mac -Q -o 1
- - [R SSC1 P <target_mac>]
- force restore cmd set:
- - ''
- - - SSC SSC1 reboot
- - [R SSC1 C !!!ready!!!]
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 1
- - [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 1 -m <target_mac>
- - ['R SSC1 C +MAC:STA,OK']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- initial condition detail: sta mode, join AP, DHCP on
- restore cmd set:
- - ''
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 1
- - [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 1 -m <target_mac>
- - ['R SSC1 C +MAC:STA,OK']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- restore post cmd set:
- - ''
- - - SSC SSC1 soc -T
- - [R SSC1 C +CLOSEALL]
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
- script path: InitCondBase.py
- start: 24.0
- tag: STAM2
- test script: InitCondBase
-- check cmd set:
- - ''
- - - ATS AT1 AT
- - [R AT1 L OK]
- - - ATS AT1 AT
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 C +CWMODE_CUR:2 L OK']
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:1']
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
- [R AT1 R *]
force restore cmd set:
- ''
- - ATS AT1 AT+RST
- [R AT1 C ready]
- - - ATS AT1 AT+RST
+ - - ATS AT1 AT+CWMODE_DEF=2
- [R AT1 L OK]
- initial condition detail: none
+ - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+ - [R AT1 L OK]
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - [R AT1 R *]
+ initial condition detail: SoftAP mode, PC join Target AP, multi link, use dhcp
restore cmd set:
- ''
- - ATSO AT1 +++
- ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
- - ATS AT1 AT+SAVETRANSLINK=0
- [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=2
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - [R AT1 R *]
restore post cmd set:
- ''
- - ATS AT1 AT+CWSTOPSMART
- - AT+SYSRAM
- ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 3.0
- tag: ATNone
+ start: 66.0
+ tag: ATAPO3
test script: InitCondBase
- check cmd set:
- ''
- - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 L +CWMODE_CUR:3']
- - - ATS AT1 AT+CWJAP_CUR?
- - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - ['R AT1 C +CWMODE_CUR:2 L OK']
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
- - ATS AT1 AT+CIPMUX?
- ['R AT1 L +CIPMUX:0']
- - - ATS AT1 AT+CWDHCP_CUR?
- - ['R AT1 C DHCP:3']
- - ATS AT1 AT+CIPCLOSE
- [R AT1 R *]
- - ATS AT1 AT+CIPMODE=0
- [R AT1 R *]
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - [R AT1 R *]
force restore cmd set:
- ''
- - ATS AT1 AT+RST
- [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=3
+ - - ATS AT1 AT+CWMODE_DEF=2
- [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=2,1
- - [R AT1 R *]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
- [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - [R AT1 R *]
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
- - ATS AT1 AT+CIPSERVER=0
- [R AT1 R *]
- - ATC AT1 CIPCLOSE <max_conn>
- [R AT1 L OK]
- - ATS AT1 AT+CIPCLOSE
- [R AT1 R *]
- initial condition detail: StationSoftAP mode, connected to AP, single link, use
- dhcp
+ initial condition detail: SoftAP mode, PC join Target AP, single link, use dhcp
restore cmd set:
- ''
- - ATSO AT1 +++
- [R AT1 R *]
- - ATS AT1 AT+SAVETRANSLINK=0
- [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=3
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=2,1
- - [R AT1 R *]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - - ATS AT1 AT+CWMODE_DEF=2
- [R AT1 L OK]
- - ATS AT1 AT+CIPSERVER=0
- [R AT1 R *]
- [R AT1 R *]
- - ATS AT1 AT+CIPMODE=0
- [R AT1 R *]
- - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
- [R AT1 R *]
restore post cmd set:
- ''
- - AT+SYSRAM
- ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 101.0
- tag: ATAPSTA4
+ start: 73.0
+ tag: ATAPO4
test script: InitCondBase
- check cmd set:
- ''
- - - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 L +CWMODE_CUR:1']
- - - ATS AT1 AT+CWJAP_CUR?
- - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
- - - ATS AT1 AT+CIPMUX?
- - ['R AT1 L +CIPMUX:0']
- - - ATS AT1 AT+CWDHCP_CUR?
- - ['R AT1 C DHCP:3']
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMODE=0
+ - - ATS AT1 AT
+ - [R AT1 L OK]
+ - - ATS AT1 AT
- [R AT1 R *]
force restore cmd set:
- ''
- - ATS AT1 AT+RST
- [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=1,1
- - [R AT1 R *]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=0
+ - - ATS AT1 AT+RST
- [R AT1 L OK]
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- initial condition detail: same as STA4, but will not autogen STA+AP STA test case
+ initial condition detail: SoftAP mode, both PC join Target AP, single link, use
+ dhcp
restore cmd set:
- ''
- - ATSO AT1 +++
- ['']
- - - ATS AT1 AT
- - [R AT1 R *]
- - ATS AT1 AT+SAVETRANSLINK=0
- [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=1,1
- - [R AT1 R *]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPSERVER=0
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
- [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
+ - - ATS AT1 AT+SAVETRANSLINK=0
- [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=0
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 3.0
+ tag: ATAPO5
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT
- [R AT1 L OK]
- - - ATS AT1 AT+CIPCLOSE
+ - - ATS AT1 AT
- [R AT1 R *]
- - - ATS AT1 AT+CIPMODE=0
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+RST
+ - [R AT1 L OK]
+ initial condition detail: SoftAP mode, both PC join Target AP, multi link, use dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT+SAVETRANSLINK=0
- [R AT1 R *]
restore post cmd set:
- ''
- - AT+SYSRAM
- ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 17.0
- tag: ATOSTA4
+ start: 3.0
+ tag: ATAPO6
test script: InitCondBase
- check cmd set:
- ''
- - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 L +CWMODE_CUR:1']
- - - ATS AT1 AT+CWDHCP_DEF=1,1
- - [R AT1 L OK]
+ - ['R AT1 L +CWMODE_CUR:3']
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
force restore cmd set:
- ''
- - ATS AT1 AT+RST
- [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - - ATS AT1 AT+CWMODE_DEF=3
- [R AT1 L OK]
- initial condition detail: same as STA1, but will not autogen STA+AP STA test case
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ initial condition detail: StationSoftAP mode
restore cmd set:
- ''
- - ATSO AT1 +++
- [R AT1 R *]
- - ATS AT1 AT+SAVETRANSLINK=0
- [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - - ATS AT1 AT+CWMODE_DEF=3
- [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
restore post cmd set:
- ''
- - ATS AT1 AT+CWSTOPSMART
- - AT+SYSRAM
- ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 10.0
- tag: ATOSTA1
+ start: 87.0
+ tag: ATAPSTA1
test script: InitCondBase
- check cmd set:
- ''
- - ATS AT1 AT+CWMODE_CUR?
- ['R AT1 L +CWMODE_CUR:3']
- - - ATS AT1 AT+CWLIF
- - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
- - ATS AT1 AT+CWDHCP_DEF=2,1
- [R AT1 R *]
force restore cmd set:
- [R AT1 C ready]
- - ATS AT1 AT+CWMODE_DEF=3
- [R AT1 L OK]
- - - DELAY 5
- - ['']
- - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
- - [R AT1 L OK]
- - ATS AT1 AT+CWDHCP_DEF=2,1
- [R AT1 R *]
- - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
- <target_encryption>
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- - - ATS AT1 AT+CWLIF
- - [R AT1 P <pc_ip>]
- initial condition detail: StationSoftAP mode
+ initial condition detail: StationSoftAP mode, DHCP client on
restore cmd set:
- ''
- - ATSO AT1 +++
- [R AT1 R *]
- - ATS AT1 AT+CWMODE_DEF=3
- [R AT1 L OK]
- - - ATS AT1 AT+CWLIF
- - [R AT1 P <pc_ip>]
- - ATS AT1 AT+CWDHCP_DEF=2,1
- [R AT1 R *]
restore post cmd set:
- - AT+SYSRAM
- ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 24.0
- tag: ATAP1
+ start: 87.0
+ tag: ATAPSTA2
test script: InitCondBase
- check cmd set:
- ''
- - - DELAY 0.1
- - [dummy]
- force restore cmd set:
- - ''
- - - SSC SSC1 reboot
- - [R SSC1 C !!!ready!!!]
- initial condition detail: none
- restore cmd set:
- - ''
- - - DELAY 0.1
- - [dummy]
- restore post cmd set:
- - ''
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
- script path: InitCondBase.py
- start: 10.0
- tag: None
- test script: InitCondBase
-- check cmd set:
- - ''
- - - ATS AT1 AT
- - [R AT1 L OK]
- - - ATS AT1 AT+RESTORE
- - [R AT1 L OK, R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:3']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:1']
+ - - ATS AT1 AT+CWDHCP_CUR?
+ - ['R AT1 C DHCP:3']
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
force restore cmd set:
- ''
- - ATS AT1 AT+RST
- [R AT1 C ready]
- - - ATS AT1 AT
+ - - ATS AT1 AT+CWMODE_DEF=3
- [R AT1 L OK]
- - - ATS AT1 AT+RESTORE
- - [R AT1 L OK, R AT1 C ready]
- initial condition detail: 'first time usage. Use restore function. '
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ initial condition detail: StationSoftAP mode, connected to AP, multi link, use dhcp
restore cmd set:
- ''
- - ATSO AT1 +++
- [R AT1 R *]
- - ATS AT1 AT+SAVETRANSLINK=0
- [R AT1 R *]
- - - ATS AT1 AT+RESTORE
- - [R AT1 L OK, R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
restore post cmd set:
- ''
- - ATS AT1 AT+CWSTOPSMART
- - AT+SYSRAM
- ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 143.0
- tag: ATFTU
+ start: 94.0
+ tag: ATAPSTA3
test script: InitCondBase
- check cmd set:
- ''
- - - ATS AT1 AT
- - [R AT1 L OK]
- - - ATS AT1 AT
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:3']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:0']
+ - - ATS AT1 AT+CWDHCP_CUR?
+ - ['R AT1 C DHCP:3']
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
- [R AT1 R *]
force restore cmd set:
- ''
- - ATS AT1 AT+RST
- [R AT1 C ready]
- - - ATS AT1 AT+RST
+ - - ATS AT1 AT+CWMODE_DEF=3
- [R AT1 L OK]
- initial condition detail: SoftAP mode, both PC join Target AP, single link, use
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ initial condition detail: StationSoftAP mode, connected to AP, single link, use
dhcp
restore cmd set:
- ''
- - ATSO AT1 +++
- ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
- - ATS AT1 AT+SAVETRANSLINK=0
- [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
restore post cmd set:
- ''
- - ATS AT1 AT+CWSTOPSMART
- - AT+SYSRAM
- ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 3.0
- tag: ATAPO5
- test script: InitCondBase
-- check cmd set:
- - ''
- - - SSC SSC1 op -Q
- - ['R SSC1 C +CURMODE:1']
- - - SSC SSC1 sta -Q
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- - - SSC SSC1 dhcp -Q -o 1
- - ['R SSC1 C +DHCP:STA,STARTED']
- - - SSC SSC1 mac -Q -o 1
- - [R SSC1 P <target_mac>]
- force restore cmd set:
- - ''
- - - SSC SSC1 reboot
- - [R SSC1 C !!!ready!!!]
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 1
- - [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 1 -m <target_mac>
- - ['R SSC1 C +MAC:STA,OK']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- initial condition detail: sta mode, join AP, DHCP on, will NOT autogen a TC with
- initial condition STAAP2
- restore cmd set:
- - ''
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 1
- - [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 1 -m <target_mac>
- - ['R SSC1 C +MAC:STA,OK']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- restore post cmd set:
- - ''
- - - SSC SSC1 soc -T
- - [R SSC1 C +CLOSEALL]
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
- script path: InitCondBase.py
- start: 24.0
- tag: STAO2
- test script: InitCondBase
-- check cmd set:
- - ''
- - - ASSERT
- - [dummy]
- force restore cmd set:
- - ''
- - - SSC SSC[1-<node_num>] reboot
- - ['P SSC[1-<node_num>] C !!!ready!!!']
- - - SSC SSC[1-<node_num>] mesh -E -o 0
- - ['P SSC[1-<node_num>] C +MESH:DISABLED']
- - - SSC SSC[1-<node_num>] op -S -o 1
- - ['P SSC[1-<node_num>] C +MODE:OK']
- - - SSC SSC[1-<node_num>] sta -D
- - ['P SSC[1-<node_num>] C +QAP:OK']
- initial condition detail: all mesh node disabled
- restore cmd set:
- - ''
- - - SSC SSC[1-<node_num>] mesh -E -o 0
- - ['P SSC[1-<node_num>] C +MESH:DISABLED']
- - - SSC SSC[1-<node_num>] op -S -o 1
- - ['P SSC[1-<node_num>] C +MODE:OK']
- - - SSC SSC[1-<node_num>] sta -D
- - ['P SSC[1-<node_num>] C +QAP:OK']
- restore post cmd set:
- - ''
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
- script path: InitCondBase.py
- start: 31.0
- tag: DISABLED
+ start: 101.0
+ tag: ATAPSTA4
test script: InitCondBase
- check cmd set:
- ''
- - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 C +CWMODE_CUR:3 C OK']
- - - ATS AT2 AT+CWMODE_CUR?
- - ['R AT2 C +CWMODE_CUR:1 C OK']
+ - ['R AT1 L +CWMODE_CUR:3']
- - ATS AT1 AT+CWJAP_CUR?
- - [R AT1 NC OK L ERROR]
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:1']
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
force restore cmd set:
- ''
- - ATS AT1 AT+RST
- [R AT1 C ready]
- - ATS AT1 AT+CWMODE_DEF=3
- [R AT1 L OK]
- - - ATS AT2 AT+CWMODE_DEF=1
- - [R AT2 L OK]
- - - ATS AT1 AT+CWQAP
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- [R AT1 L OK]
- initial condition detail: Target 1 in StationSoftAP mode, Target 2 in station mode,
- use dhcp
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ initial condition detail: StationSoftAP mode, connected to AP, multi link, use static
+ ip
restore cmd set:
- ''
- - ATSO AT1 +++
- [R AT1 R *]
- - ATS AT1 AT+CWMODE_DEF=3
- [R AT1 L OK]
- - - ATS AT2 AT+CWMODE_DEF=1
- - [R AT2 L OK]
- - - ATS AT1 AT+CWQAP
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
- [R AT1 L OK]
restore post cmd set:
- ''
- - AT+SYSRAM
- ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 52.0
- tag: ATT2_1
- test script: InitCondBase
-- check cmd set:
- - ''
- - - SSC SSC1 op -Q
- - ['R SSC1 C +CURMODE:2']
- - - SSC SSC1 ap -Q
- - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(<target_ssid>,<target_password>)']
- - - SSC SSC1 ap -L
- - ['R SSC1 RE "\+LSTA:.+,%%s"%%(<pc_ip_wifi>)']
- - - SSC SSC1 dhcp -Q -o 2
- - ['R SSC1 C +DHCP:AP,STARTED']
- - - SSC SSC1 mac -Q -o 2
- - [R SSC1 P <target_ap_mac>]
- force restore cmd set:
- - ''
- - - SSC SSC1 reboot
- - [R SSC1 C !!!ready!!!]
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 3
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -S -o 2
- - [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- - ['R SSC1 C +MAC:AP,OK']
- - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi>
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- initial condition detail: AP mode, will NOT autogen a TC with initial condition
- APSTA2
- restore cmd set:
- - ''
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 3
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -S -o 2
- - [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- - ['R SSC1 C +MAC:AP,OK']
- - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi>
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- restore post cmd set:
- - ''
- - - SSC SSC1 soc -T
- - [R SSC1 C +CLOSEALL]
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
- script path: InitCondBase.py
- start: 38.0
- tag: APO2
- test script: InitCondBase
-- check cmd set:
- - ''
- - - SSC SSC1 op -Q
- - ['R SSC1 C +CURMODE:2']
- - - SSC SSC1 ap -Q
- - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(<target_ssid>,<target_password>)']
- - - SSC SSC1 dhcp -Q -o 2
- - ['R SSC1 C +DHCP:AP,STARTED']
- - - SSC SSC1 mac -Q -o 2
- - [R SSC1 P <target_ap_mac>]
- force restore cmd set:
- - ''
- - - SSC SSC1 reboot
- - [R SSC1 C !!!ready!!!]
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 2
- - [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 3
- - ['R SSC1 C +SAP:OK']
- initial condition detail: AP mode, will NOT autogen a TC with initial condition
- APSTA1
- restore cmd set:
- - ''
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 2
- - [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 3
- - ['R SSC1 C +SAP:OK']
- restore post cmd set:
- - ''
- - - SSC SSC1 soc -T
- - [R SSC1 C +CLOSEALL]
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
- script path: InitCondBase.py
- start: 31.0
- tag: APO1
+ start: 129.0
+ tag: ATAPSTA5
test script: InitCondBase
- check cmd set:
- ''
- - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 C +CWMODE_CUR:2 L OK']
- - - ATS AT1 AT+CWLIF
- - [R AT1 P <pc_ip>]
+ - ['R AT1 L +CWMODE_CUR:3']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
- - ATS AT1 AT+CIPMUX?
- - ['R AT1 L +CIPMUX:1']
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
+ - ['R AT1 L +CIPMUX:0']
+ - - ATS AT1 AT+CIPCLOSE
- [R AT1 R *]
- - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - - ATS AT1 AT+CIPMODE=0
- [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
force restore cmd set:
- ''
- - ATS AT1 AT+RST
- [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=2
- - [R AT1 L OK]
- - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+ - - ATS AT1 AT+CWMODE_DEF=3
- [R AT1 L OK]
- - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
- <target_encryption>
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- - - ATS AT1 AT+CWLIF
- - [R AT1 P <pc_ip>]
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=1
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- [R AT1 L OK]
- - ATS AT1 AT+CIPSERVER=0
- [R AT1 R *]
- - ATC AT1 CIPCLOSE <max_conn>
- [R AT1 R *]
- - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
- [R AT1 R *]
- initial condition detail: SoftAP mode, PC join Target AP, multi link, use dhcp
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ initial condition detail: StationSoftAP mode, connected to AP, single link, use
+ static ip
restore cmd set:
- ''
- - ATSO AT1 +++
- [R AT1 R *]
- - ATS AT1 AT+SAVETRANSLINK=0
- [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=2
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
- [R AT1 L OK]
- - ATS AT1 AT+CIPCLOSE
- [R AT1 R *]
- - ATS AT1 AT+CIPMODE=0
- [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=1
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
- [R AT1 R *]
- - - ATS AT1 AT+CIPSERVER=0
+ - - ATS AT1 AT+SAVETRANSLINK=0
- [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 136.0
+ tag: ATAPSTA6
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT
+ - [R AT1 L OK]
+ - - ATS AT1 AT+RESTORE
+ - [R AT1 L OK, R AT1 C ready]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT
+ - [R AT1 L OK]
+ - - ATS AT1 AT+RESTORE
+ - [R AT1 L OK, R AT1 C ready]
+ initial condition detail: 'first time usage. Use restore function. '
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
- [R AT1 R *]
- - - ATS AT1 AT+CWLIF
- - [R AT1 P <pc_ip>]
- - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - - ATS AT1 AT+SAVETRANSLINK=0
- [R AT1 R *]
+ - - ATS AT1 AT+RESTORE
+ - [R AT1 L OK, R AT1 C ready]
restore post cmd set:
- ''
- - ATS AT1 AT+CWSTOPSMART
- - AT+SYSRAM
- ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 66.0
- tag: ATAPO3
+ start: 143.0
+ tag: ATFTU
test script: InitCondBase
- check cmd set:
- ''
- - - SSC SSC1 op -Q
- - ['R SSC1 C +CURMODE:2']
- - - SSC SSC1 mac -Q -o 2
- - [R SSC1 P <target_ap_mac>]
- - - SSC SSC1 espnow -D
- - ['R SSC1 C +ESPNOW:']
+ - - ATS AT1 AT
+ - [R AT1 L OK]
+ - - ATS AT1 AT
+ - [R AT1 R *]
force restore cmd set:
- ''
- - - SSC SSC[1-<dev_num>] reboot
- - ['R SSC[1-<dev_num>] C !!!ready!!!']
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 mac -S -m <target_ap_mac> -o 2
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC1 espnow -D
- - ['R SSC1 C +ESPNOW:']
- initial condition detail: one target in AP mode and espnow is de-initialized
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+RST
+ - [R AT1 L OK]
+ initial condition detail: none
restore cmd set:
- ''
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 mac -S -m <target_ap_mac> -o 2
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC1 espnow -D
- - ['R SSC1 C +ESPNOW:']
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
restore post cmd set:
- ''
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 17.0
- tag: NOW1
+ start: 3.0
+ tag: ATNone
test script: InitCondBase
- check cmd set:
- ''
- - - SSC SSC[1-<dev_num>] op -Q
- - ['R SSC[1-<dev_num>] C +CURMODE:2']
- - - SSC SSC[1-<dev_num>] mac -Q -o 3
- - ['R SSC[1-<dev_num>] P <target[1-<dev_num>]_ap_mac> P <target[1-<dev_num>]_mac>']
- - - SSC SSC[1-<dev_num>] espnow -D
- - ['R SSC[1-<dev_num>] C +ESPNOW:']
- - - SSC SSC[1-<dev_num>] espnow -I
- - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
- - - SSC SSC[1-<dev_num>] espnow -R -t Set -r 2
- - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
+ - - DELAY 0.1
+ - [dummy]
force restore cmd set:
- ''
- - - SSC SSC[1-<dev_num>] reboot
- - ['R SSC[1-<dev_num>] C !!!ready!!!']
- - - SSC SSC[1-<dev_num>] op -S -o 3
- - ['R SSC[1-<dev_num>] C +MODE:OK']
- - - SSC SSC[1-<dev_num>] mac -S -m <target[1-<dev_num>]_ap_mac> -o 2
- - ['R SSC[1-<dev_num>] C +MAC:AP,OK']
- - - SSC SSC[1-<dev_num>] mac -S -m <target[1-<dev_num>]_mac> -o 1
- - ['R SSC[1-<dev_num>] C +MAC:STA,OK']
- - - SSC SSC[1-<dev_num>] op -S -o 2
- - ['R SSC[1-<dev_num>] C +MODE:OK']
- - - SSC SSC[1-<dev_num>] espnow -D
- - ['R SSC[1-<dev_num>] C +ESPNOW:']
- - - SSC SSC[1-<dev_num>] espnow -I
- - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
- - - SSC SSC[1-<dev_num>] espnow -R -t Set -r 2
- - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
- initial condition detail: multiple (<dev_num>) targets in AP mode, espnow is initialized
- with self role slave
+ - - DELAY 0.1
+ - [dummy]
+ initial condition detail: none 2
restore cmd set:
- ''
- - - SSC SSC[1-<dev_num>] op -S -o 3
- - ['R SSC[1-<dev_num>] C +MODE:OK']
- - - SSC SSC[1-<dev_num>] mac -S -m <target[1-<dev_num>]_ap_mac> -o 2
- - ['R SSC[1-<dev_num>] C +MAC:AP,OK']
- - - SSC SSC[1-<dev_num>] mac -S -m <target[1-<dev_num>]_mac> -o 1
- - ['R SSC[1-<dev_num>] C +MAC:STA,OK']
- - - SSC SSC[1-<dev_num>] op -S -o 2
- - ['R SSC[1-<dev_num>] C +MODE:OK']
- - - SSC SSC[1-<dev_num>] espnow -D
- - ['R SSC[1-<dev_num>] C +ESPNOW:']
- - - SSC SSC[1-<dev_num>] espnow -I
- - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
- - - SSC SSC[1-<dev_num>] espnow -R -t Set -r 2
- - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
+ - - DELAY 0.1
+ - [dummy]
restore post cmd set:
- ''
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 24.0
- tag: NOW2
+ start: 108.0
+ tag: ATNone2
test script: InitCondBase
- check cmd set:
- ''
- - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 C +CWMODE_CUR:2 L OK']
- - - ATS AT1 AT+CWLIF
- - [R AT1 P <pc_ip>]
+ - ['R AT1 L +CWMODE_CUR:1']
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
+ initial condition detail: same as STA1, but will not autogen STA+AP STA test case
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 10.0
+ tag: ATOSTA1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:1']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
- - ATS AT1 AT+CIPMUX?
- ['R AT1 L +CIPMUX:0']
+ - - ATS AT1 AT+CWDHCP_CUR?
+ - ['R AT1 C DHCP:3']
- - ATS AT1 AT+CIPCLOSE
- [R AT1 R *]
- - ATS AT1 AT+CIPMODE=0
- [R AT1 R *]
- - - ATS AT1 AT+CWDHCP_DEF=0,1
- - [R AT1 R *]
force restore cmd set:
- ''
- - ATS AT1 AT+RST
- [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=2
- - [R AT1 L OK]
- - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+ - - ATS AT1 AT+CWMODE_DEF=1
- [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
- [R AT1 R *]
- - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
- <target_encryption>
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- - - ATS AT1 AT+CWLIF
- - [R AT1 P <pc_ip>]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
- - ATS AT1 AT+CIPSERVER=0
- [R AT1 R *]
- - ATC AT1 CIPCLOSE <max_conn>
- [R AT1 L OK]
- - ATS AT1 AT+CIPCLOSE
- [R AT1 R *]
- initial condition detail: SoftAP mode, PC join Target AP, single link, use dhcp
+ initial condition detail: same as STA4, but will not autogen STA+AP STA test case
restore cmd set:
- ''
- - ATSO AT1 +++
- [R AT1 R *]
- - ATS AT1 AT+SAVETRANSLINK=0
- [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=2
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- [R AT1 L OK]
- - ATS AT1 AT+CIPSERVER=0
- [R AT1 R *]
- [R AT1 R *]
- - ATS AT1 AT+CIPMODE=0
- [R AT1 R *]
- - - ATS AT1 AT+CWLIF
- - [R AT1 P <pc_ip>]
- - - ATS AT1 AT+CWDHCP_DEF=0,1
- - [R AT1 R *]
restore post cmd set:
- ''
- - ATS AT1 AT+CWSTOPSMART
- - AT+SYSRAM
- ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 73.0
- tag: ATAPO4
+ start: 17.0
+ tag: ATOSTA4
test script: InitCondBase
- check cmd set:
- ''
- - - SSC SSC1 sp -D
- - ['R SSC1 C +SP:OK']
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 C +CWMODE_CUR:3 C OK']
+ - - ATS AT2 AT+CWMODE_CUR?
+ - ['R AT2 C +CWMODE_CUR:1 C OK']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - [R AT1 NC OK L ERROR]
force restore cmd set:
- ''
- - - SSC SSC1 sp -D
- - ['R SSC1 C +SP:OK']
- initial condition detail: one target and simple is de-inited
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT2 AT+CWMODE_DEF=1
+ - [R AT2 L OK]
+ - - ATS AT1 AT+CWQAP
+ - [R AT1 L OK]
+ initial condition detail: same as OT2_1, but will not autogen STA+AP STA test case
restore cmd set:
- ''
- - - SSC SSC1 sp -D
- - ['R SSC1 C +SP:OK']
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT2 AT+CWMODE_DEF=1
+ - [R AT2 L OK]
+ - - ATS AT1 AT+CWQAP
+ - [R AT1 L OK]
restore post cmd set:
- ''
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 31.0
- tag: PAIR1
+ start: 52.0
+ tag: ATOT2_1
test script: InitCondBase
- check cmd set:
- ''
- - - ATS AT1 AT
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:1']
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
- [R AT1 L OK]
- - - ATS AT1 AT
- - [R AT1 R *]
force restore cmd set:
- ''
- - ATS AT1 AT+RST
- [R AT1 C ready]
- - - ATS AT1 AT+RST
+ - - ATS AT1 AT+CWMODE_DEF=1
- [R AT1 L OK]
- initial condition detail: SoftAP mode, both PC join Target AP, multi link, use dhcp
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
+ initial condition detail: station mode, use dhcp
restore cmd set:
- ''
- - ATSO AT1 +++
- ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
- - ATS AT1 AT+SAVETRANSLINK=0
- [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
restore post cmd set:
- ''
- - ATS AT1 AT+CWSTOPSMART
- - AT+SYSRAM
- ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 3.0
- tag: ATAPO6
+ start: 10.0
+ tag: ATSTA1
test script: InitCondBase
- check cmd set:
- ''
- - - SSC SSC[1,2] op -Q
- - ['R SSC[1,2] C +MODE:[3,3]']
- - - SSC SSC[1,2] mac -Q -o 3
- - ['R SSC[1,2] P <target[1,2]_ap_mac> P <target[1,2]_mac>']
- - - SSC SSC[1,2] sp -D
- - ['R SSC[1,2] C +SP:OK']
- - - SSC SSC[1,2] sp -I
- - ['R SSC[1,2] C +SP:OK']
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:1']
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
force restore cmd set:
- ''
- - - SSC SSC[1,2] reboot
- - ['R SSC[1,2] C !!!ready!!!']
- - - SSC SSC[1,2] op -S -o [3,3]
- - ['R SSC[1,2] C +MODE:OK']
- - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
- - ['R SSC[1,2] C +MAC:AP,OK']
- - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
- - ['R SSC[1,2] C +MAC:STA,OK']
- - - SSC SSC[1,2] sp -D
- - ['R SSC[1,2] C +SP:OK']
- - - SSC SSC[1,2] sp -I
- - ['R SSC[1,2] C +SP:OK']
- initial condition detail: target1 and target2 in STA+AP mode, two targets de-init
- and init simple pair
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
+ initial condition detail: station mode, DHCP client on, use dhcp
restore cmd set:
- ''
- - - SSC SSC[1,2] op -S -o [3,3]
- - ['R SSC[1,2] C +MODE:OK']
- - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
- - ['R SSC[1,2] C +MAC:AP,OK']
- - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
- - ['R SSC[1,2] C +MAC:STA,OK']
- - - SSC SSC[1,2] sp -D
- - ['R SSC[1,2] C +SP:OK']
- - - SSC SSC[1,2] sp -I
- - ['R SSC[1,2] C +SP:OK']
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
restore post cmd set:
- ''
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 45.0
- tag: PAIR3
+ start: 10.0
+ tag: ATSTA2
test script: InitCondBase
- check cmd set:
- ''
- - - SSC SSC[1,2] op -Q
- - ['R SSC[1,2] C +MODE:[2,1]']
- - - SSC SSC[1,2] mac -Q -o 3
- - ['R SSC[1,2] P <target[1,2]_ap_mac> P <target[1,2]_mac>']
- - - SSC SSC[1,2] sp -D
- - ['R SSC[1,2] C +SP:OK']
- - - SSC SSC[1,2] sp -I
- - ['R SSC[1,2] C +SP:OK']
- force restore cmd set:
- - ''
- - - SSC SSC[1,2] reboot
- - ['R SSC[1,2] C !!!ready!!!']
- - - SSC SSC[1,2] op -S -o 3
- - ['R SSC[1,2] C +MODE:OK']
- - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
- - ['R SSC[1,2] C +MAC:AP,OK']
- - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
- - ['R SSC[1,2] C +MAC:STA,OK']
- - - SSC SSC[1,2] op -S -o [2,1]
- - ['R SSC[1,2] C +MODE:OK']
- - - SSC SSC[1,2] sp -D
- - ['R SSC[1,2] C +SP:OK']
- - - SSC SSC[1,2] sp -I
- - ['R SSC[1,2] C +SP:OK']
- initial condition detail: target1 in AP mode, target2 in STA mode, two targets de-init
- and init simple pair
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:1']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:1']
+ - - ATS AT1 AT+CWDHCP_CUR?
+ - ['R AT1 C DHCP:3']
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ initial condition detail: station mode, connected to AP, multi link, use dhcp
restore cmd set:
- ''
- - - SSC SSC[1,2] op -S -o 3
- - ['R SSC[1,2] C +MODE:OK']
- - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
- - ['R SSC[1,2] C +MAC:AP,OK']
- - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
- - ['R SSC[1,2] C +MAC:STA,OK']
- - - SSC SSC[1,2] op -S -o [2,1]
- - ['R SSC[1,2] C +MODE:OK']
- - - SSC SSC[1,2] sp -D
- - ['R SSC[1,2] C +SP:OK']
- - - SSC SSC[1,2] sp -I
- - ['R SSC[1,2] C +SP:OK']
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
restore post cmd set:
- ''
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
start: 38.0
- tag: PAIR2
+ tag: ATSTA3
test script: InitCondBase
- check cmd set:
- ''
- - - SSC SSC1 op -Q
- - ['R SSC1 C +CURMODE:2']
- - - SSC SSC2 op -Q
- - ['R SSC2 C +CURMODE:1']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:']
- - - SSC SSC2 soc -T
- - ['']
- - - SSC SSC1 dhcp -Q -o 2
- - ['R SSC1 C +DHCP:AP,STARTED']
- - - SSC SSC2 dhcp -Q -o 1
- - ['R SSC2 C +DHCP:STA,STARTED']
- - - SSC SSC1 mac -Q -o 2
- - [R SSC1 P <target_ap_mac>]
- - - SSC SSC2 mac -Q -o 1
- - [R SSC2 P <target2_mac>]
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:1']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:0']
+ - - ATS AT1 AT+CWDHCP_CUR?
+ - ['R AT1 C DHCP:3']
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
force restore cmd set:
- ''
- - - SSC SSC1 reboot
- - [R SSC1 C !!!ready!!!]
- - - SSC SSC2 reboot
- - [R SSC2 C !!!ready!!!]
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC2 op -S -o 1
- - ['R SSC2 C +MODE:OK']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:']
- - - SSC SSC2 soc -T
- - ['']
- - - SSC SSC1 dhcp -S -o 2
- - [R SSC1 C +DHCP]
- - - SSC SSC2 dhcp -S -o 1
- - [R SSC2 C +DHCP]
- - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC2 mac -S -o 1 -m <target2_mac>
- - ['R SSC2 C +MAC:STA,OK']
- initial condition detail: same as T2_1 but will NOT autogen a TC with initial condition
- T2_2
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ initial condition detail: station mode, connected to AP, single link, use dhcp
restore cmd set:
- ''
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC2 op -S -o 1
- - ['R SSC2 C +MODE:OK']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:']
- - - SSC SSC2 soc -T
+ - - ATSO AT1 +++
- ['']
- - - SSC SSC1 dhcp -S -o 2
- - [R SSC1 C +DHCP]
- - - SSC SSC2 dhcp -S -o 1
- - [R SSC2 C +DHCP]
- - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC2 mac -S -o 1 -m <target2_mac>
- - ['R SSC2 C +MAC:STA,OK']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
restore post cmd set:
- ''
- - - SSC SSC1 soc -T
- - [R SSC1 C +CLOSEALL]
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 73.0
- tag: T2O_1
+ start: 17.0
+ tag: ATSTA4
test script: InitCondBase
- check cmd set:
- ''
- - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 L +CWMODE_CUR:2']
- - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - ['R AT1 L +CWMODE_CUR:1']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:1']
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
- [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
force restore cmd set:
- ''
- - ATS AT1 AT+RST
- [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=2
+ - - ATS AT1 AT+CWMODE_DEF=1
- [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
- [R AT1 R *]
- initial condition detail: SoftAP mode, use dhcp
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ initial condition detail: station mode, connected to AP, multi link, use static
+ ip
restore cmd set:
- ''
- - ATSO AT1 +++
- [R AT1 R *]
- - ATS AT1 AT+SAVETRANSLINK=0
- [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=2
+ - - ATS AT1 AT+CWMODE_DEF=1
- [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
- [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
restore post cmd set:
- ''
- - ATS AT1 AT+CWSTOPSMART
- - AT+SYSRAM
- ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 59.0
- tag: ATAPO1
+ start: 115.0
+ tag: ATSTA5
test script: InitCondBase
- check cmd set:
- ''
- - - SSC SSC1 op -Q
- - ['R SSC1 C +CURMODE:2']
- - - SSC SSC1 ap -Q
- - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(<target_ssid>,<target_password>)']
- - - SSC SSC1 dhcp -Q -o 2
- - ['R SSC1 C +DHCP:AP,STARTED']
- - - SSC SSC1 mac -Q -o 2
- - [R SSC1 P <target_ap_mac>]
- force restore cmd set:
- - ''
- - - SSC SSC1 reboot
- - [R SSC1 C !!!ready!!!]
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 2
- - [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 3
- - ['R SSC1 C +SAP:OK']
- initial condition detail: AP mode, DHCP on
- restore cmd set:
- - ''
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 2
- - [R SSC1 C +DHCP]
- - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 3
- - ['R SSC1 C +SAP:OK']
- restore post cmd set:
- - ''
- - - SSC SSC1 soc -T
- - [R SSC1 C +CLOSEALL]
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
- script path: InitCondBase.py
- start: 31.0
- tag: APM1
- test script: InitCondBase
-- check cmd set:
- - ''
- - - SSC SSC1 op -Q
- - ['R SSC1 C +CURMODE:2']
- - - SSC SSC2 op -Q
- - ['R SSC2 C +CURMODE:1']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:']
- - - SSC SSC2 soc -T
- - ['']
- - - SSC SSC1 dhcp -Q -o 2
- - ['R SSC1 C +DHCP:AP,STARTED']
- - - SSC SSC2 dhcp -Q -o 1
- - ['R SSC2 C +DHCP:STA,STARTED']
- - - SSC SSC1 mac -Q -o 2
- - [R SSC1 P <target_ap_mac>]
- - - SSC SSC2 mac -Q -o 1
- - [R SSC2 P <target2_mac>]
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:1']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:0']
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
force restore cmd set:
- ''
- - - SSC SSC1 reboot
- - [R SSC1 C !!!ready!!!]
- - - SSC SSC2 reboot
- - [R SSC2 C !!!ready!!!]
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC2 op -S -o 1
- - ['R SSC2 C +MODE:OK']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:']
- - - SSC SSC2 soc -T
- - ['']
- - - SSC SSC1 dhcp -S -o 2
- - [R SSC1 C +DHCP]
- - - SSC SSC2 dhcp -S -o 1
- - [R SSC2 C +DHCP]
- - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC2 mac -S -o 1 -m <target2_mac>
- - ['R SSC2 C +MAC:STA,OK']
- initial condition detail: target 1 as SoftAP, target 2 as STA
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ initial condition detail: station mode, connected to AP, single link, use static
+ ip
restore cmd set:
- ''
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC2 op -S -o 1
- - ['R SSC2 C +MODE:OK']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:']
- - - SSC SSC2 soc -T
+ - - ATSO AT1 +++
- ['']
- - - SSC SSC1 dhcp -S -o 2
- - [R SSC1 C +DHCP]
- - - SSC SSC2 dhcp -S -o 1
- - [R SSC2 C +DHCP]
- - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC2 mac -S -o 1 -m <target2_mac>
- - ['R SSC2 C +MAC:STA,OK']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
restore post cmd set:
- ''
- - - SSC SSC1 soc -T
- - [R SSC1 C +CLOSEALL]
- - - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 73.0
- tag: T2_1
+ start: 122.0
+ tag: ATSTA6
test script: InitCondBase
- check cmd set:
- ''
- [R AT2 L OK]
- - ATS AT1 AT+CWQAP
- [R AT1 L OK]
- initial condition detail: same as OT2_1, but will not autogen STA+AP STA test case
+ initial condition detail: Target 1 in StationSoftAP mode, Target 2 in station mode,
+ use dhcp
restore cmd set:
- ''
- - ATSO AT1 +++
- ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
start: 52.0
- tag: ATOT2_1
+ tag: ATT2_1
test script: InitCondBase
- check cmd set:
- ''
- - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 L +CWMODE_CUR:3']
+ - ['R AT1 C +CWMODE_CUR:2 C OK']
+ - - ATS AT2 AT+CWMODE_CUR?
+ - ['R AT2 C +CWMODE_CUR:3 C OK']
- - ATS AT1 AT+CWJAP_CUR?
- - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
- - - ATS AT1 AT+CIPMUX?
- - ['R AT1 L +CIPMUX:1']
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
- - - ATC AT1 CIPSTA_DEF <target_static_ip>
- - [R AT1 L OK]
+ - [R AT1 NC OK L ERROR]
force restore cmd set:
- ''
- - ATS AT1 AT+RST
- [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=3
- - [R AT1 L OK]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
- - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - - ATS AT1 AT+CWMODE_DEF=2
- [R AT1 L OK]
- initial condition detail: StationSoftAP mode, connected to AP, multi link, use static
- ip
+ - - ATS AT2 AT+CWMODE_DEF=3
+ - [R AT2 L OK]
+ initial condition detail: Target 1 in SoftAP mode, Target 2 in StationSoftAP mode,
+ use dhcp
restore cmd set:
- ''
- - ATSO AT1 +++
- [R AT1 R *]
- - ATS AT1 AT+SAVETRANSLINK=0
- [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=3
- - [R AT1 L OK]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMODE=0
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
- - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - - ATS AT1 AT+CWMODE_DEF=2
- [R AT1 L OK]
+ - - ATS AT2 AT+CWMODE_DEF=3
+ - [R AT2 L OK]
restore post cmd set:
- ''
- - ATS AT1 AT+CWSTOPSMART
- - AT+SYSRAM
- ['R AT1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 129.0
- tag: ATAPSTA5
+ start: 80.0
+ tag: ATT2_2
test script: InitCondBase
- check cmd set:
- ''
- - - SSC SSC1 upgrade -Q -t 1
- - ['R SSC1 C BIN_ID,0']
- - - SSC SSC1 upgrade -Q -t 2 -b 0
- - ['R SSC1 C BIN_INFO,0']
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 1
- - [R SSC1 C +DHCP]
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - ASSERT
+ - [dummy]
force restore cmd set:
- ''
- - - SSC SSC1 upgrade -R -r 1 -s <ota_bin_size>
- - [R SSC1 NC ERROR C !!!ready!!!]
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 1
- - [R SSC1 C +DHCP]
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- - - SOC SOC1 ULISTEN <test_tcp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - - SOC SOC1 SETOPT REPLY BIN
- - [R SOC_COM C OK]
- - - SSC SSC1 upgrade -I -b 0 -f 0
- - ['P SSC1 C +UPGRADE:OK']
- - - SSC SSC1 upgrade -U -i <pc_ip> -p <test_tcp_port1> -u <ota_bin>
- - ['P SSC1 C +UPGRADE:SUCCEED']
- - - SSC SSC1 upgrade -R -b 0
- - [R SSC1 C !!!ready!!!]
- - - SSC SSC1 dhcp -S -o 1
- - [R SSC1 C +DHCP]
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- initial condition detail: STA mode, connected to AP, running BIN0 (located on flash
- id 0)
- restore cmd set:
- - ''
- - - SSC SSC1 upgrade -Q -t 2 -b 0
- - ['R SSC1 C BIN_INFO,0']
- - - SSC SSC1 upgrade -R -b 0
- - [R SSC1 C !!!ready!!!]
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 1
- - [R SSC1 C +DHCP]
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SSC SSC[1-<node_num>] reboot
+ - ['P SSC[1-<node_num>] C !!!ready!!!']
+ - - SSC SSC[1-<node_num>] mesh -E -o 0
+ - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+ - - SSC SSC[1-<node_num>] op -S -o 1
+ - ['P SSC[1-<node_num>] C +MODE:OK']
+ - - SSC SSC[1-<node_num>] sta -D
+ - ['P SSC[1-<node_num>] C +QAP:OK']
+ initial condition detail: all mesh node disabled
+ restore cmd set:
+ - ''
+ - - SSC SSC[1-<node_num>] mesh -E -o 0
+ - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+ - - SSC SSC[1-<node_num>] op -S -o 1
+ - ['P SSC[1-<node_num>] C +MODE:OK']
+ - - SSC SSC[1-<node_num>] sta -D
+ - ['P SSC[1-<node_num>] C +QAP:OK']
restore post cmd set:
- ''
- - - SSC SSC1 upgrade -D
- - ['R SSC1 C +UPGRADE:OK']
- - SSC SSC1 ram
- ['R SSC1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 17.0
- tag: STAMBIN0
+ start: 31.0
+ tag: DISABLED
test script: InitCondBase
- check cmd set:
- ''
- - - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 L +CWMODE_CUR:1']
- - - ATS AT1 AT+CWDHCP_DEF=1,1
- - [R AT1 L OK]
+ - - ASSERT
+ - [dummy]
+ - - SSC SSC[1-<node_num>] mesh -Q -t 4
+ - ['R SSC[1-<node_num>] T <node_num>']
+ - - MESHTREE
+ - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
force restore cmd set:
- ''
- - - ATS AT1 AT+RST
- - [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=1,1
- - [R AT1 L OK]
- initial condition detail: station mode, DHCP client on, use dhcp
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SSC SSC[1-<node_num>] mesh -E -o 0
+ - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+ - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
+ -p <test_tcp_port1> -h 5
+ - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
+ - - SSC SSC[1-<node_num>] mesh -A -s <ap_ssid> -k <ap_password>
+ - ['P SSC[1-<node_num>] C +MESHINIT:AP,OK']
+ - - SSC SSC1 mesh -E -o 1 -t 2
+ - ['P SSC1 C +MESH:ENABLED']
+ - - SOC SOC1 MACCEPT GSOC1
+ - [R SOC_COM L OK]
+ - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
+ - ['P SSC[2-<node_num>] C +MESH:ENABLED']
+ - - DELAY 60
+ - ['']
+ - - SSC SSC[1-<node_num>] mesh -C
+ - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
+ - - SSC SSC[1-<node_num>] mesh -Q -t 4
+ - ['R SSC[1-<node_num>] T <node_num>']
+ - - MESHTREE
+ - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+ - - SSC SSC[1-<node_num>] mesh -O -t 1 -o 1
+ - ['P SSC[1-<node_num>] C +MESH:OK']
+ initial condition detail: all mesh node enabled as ONLINE, mesh network established
restore cmd set:
- ''
- - - ATSO AT1 +++
+ - - SSC SSC[1-<node_num>] reboot
+ - ['P SSC[1-<node_num>] C !!!ready!!!']
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SSC SSC[1-<node_num>] mesh -E -o 0
+ - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+ - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
+ -p <test_tcp_port1> -h 5
+ - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
+ - - SSC SSC[1-<node_num>] mesh -A -s <ap_ssid> -k <ap_password>
+ - ['P SSC[1-<node_num>] C +MESHINIT:AP,OK']
+ - - SSC SSC1 mesh -E -o 1 -t 2
+ - ['P SSC1 C +MESH:ENABLED']
+ - - SOC SOC1 MACCEPT GSOC1
+ - [R SOC_COM L OK]
+ - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
+ - ['P SSC[2-<node_num>] C +MESH:ENABLED']
+ - - DELAY 60
- ['']
- - - ATS AT1 AT
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=1,1
- - [R AT1 L OK]
+ - - SSC SSC[1-<node_num>] mesh -C
+ - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
+ - - SSC SSC[1-<node_num>] mesh -Q -t 4
+ - ['R SSC[1-<node_num>] T <node_num>']
+ - - MESHTREE
+ - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+ - - SSC SSC[1-<node_num>] mesh -O -t 1 -o 1
+ - ['P SSC[1-<node_num>] C +MESH:OK']
restore post cmd set:
- ''
- - - ATS AT1 AT+CWSTOPSMART
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - AT+SYSRAM
- - ['R AT1 A <heap_size>:(\d+)']
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 10.0
- tag: ATSTA2
+ start: 17.0
+ tag: ENABLED_1
test script: InitCondBase
- check cmd set:
- ''
- - - SSC SSC[1-3] op -Q
- - ['R SSC[1-3] C +CURMODE:3']
- - - SSC SSC[1-3] phy -Q -o 3
- - ['R SSC[1-3] C STA,n,40 C AP,n,40']
+ - - ASSERT
+ - [dummy]
+ - - SSC SSC[1-<node_num>] mesh -Q -t 4
+ - ['R SSC[1-<node_num>] T <node_num>']
+ - - MESHTREE
+ - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
force restore cmd set:
- ''
- - - SSC SSC[1-3] reboot
- - ['R SSC[1-3] C !!!ready!!!']
- - - SSC SSC[1-3] op -S -o 3
- - ['R SSC[1-3] C +MODE:OK']
- - - SSC SSC[1-3] phy -S -o 3 -m n -b 40
- - ['R SSC[1-3] C +PHY:OK']
- initial condition detail: '1. target 1 and target 2 set to AP+STA mode, target 3
- set to STA mode
-
- 2. all interface of target 2,3 set to 11n ht40
-
- 3. config softAP of target 1 and target 2'
+ - - SSC SSC[1-<node_num>] reboot
+ - ['P SSC[1-<node_num>] C !!!ready!!!']
+ - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
+ -p <test_tcp_port1> -h 5
+ - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
+ - - SSC SSC1 mesh -A -s <ap_ssid> -k <ap_password>
+ - ['P SSC1 C +MESHINIT:AP,OK']
+ - - SSC SSC1 mesh -E -o 1 -t 1
+ - ['P SSC1 C +MESH:ENABLED']
+ - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
+ - ['']
+ - - DELAY 60
+ - ['P SSC[2-<node_num>] C +MESH:ENABLED']
+ - - SSC SSC[1-<node_num>] mesh -C
+ - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
+ - - SSC SSC[1-<node_num>] mesh -Q -t 4
+ - ['R SSC[1-<node_num>] T <node_num>']
+ - - MESHTREE
+ - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+ initial condition detail: root as LOCAL, rest node as ONLINE, mesh network established
restore cmd set:
- ''
- - - SSC SSC[1-3] op -S -o 3
- - ['R SSC[1-3] C +MODE:OK']
- - - SSC SSC[1-3] phy -S -o 3 -m n -b 40
- - ['R SSC[1-3] C +PHY:OK']
+ - - SSC SSC[1-<node_num>] mesh -E -o 0
+ - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+ - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
+ -p <test_tcp_port1> -h 5
+ - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
+ - - SSC SSC1 mesh -A -s <ap_ssid> -k <ap_password>
+ - ['P SSC1 C +MESHINIT:AP,OK']
+ - - SSC SSC1 mesh -E -o 1 -t 1
+ - ['P SSC1 C +MESH:ENABLED']
+ - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
+ - ['']
+ - - DELAY 60
+ - ['P SSC[2-<node_num>] C +MESH:ENABLED']
+ - - SSC SSC[1-<node_num>] mesh -C
+ - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
+ - - SSC SSC[1-<node_num>] mesh -Q -t 4
+ - ['R SSC[1-<node_num>] T <node_num>']
+ - - MESHTREE
+ - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
restore post cmd set:
- ''
- - - SSC SSC1 soc -T
- - [R SSC1 C +CLOSEALL]
- - - SSC SSC1 sta -R -r 1
- - [R SSC1 C OK]
- - SSC SSC1 ram
- ['R SSC1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 87.0
- tag: T3_PHY1
+ start: 24.0
+ tag: ENABLED_2
test script: InitCondBase
- check cmd set:
- ''
- - - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 L +CWMODE_CUR:3']
- - - ATS AT1 AT+CWDHCP_DEF=2,1
- - [R AT1 R *]
- - - ATS AT1 AT+CWDHCP_DEF=2,1
- - [R AT1 R *]
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:2']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
+ - - SSC SSC1 espnow -D
+ - ['R SSC1 C +ESPNOW:']
force restore cmd set:
- ''
- - - ATS AT1 AT+RST
- - [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=3
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=2,1
- - [R AT1 R *]
- initial condition detail: StationSoftAP mode, DHCP client on
+ - - SSC SSC[1-<dev_num>] reboot
+ - ['R SSC[1-<dev_num>] C !!!ready!!!']
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 mac -S -m <target_ap_mac> -o 2
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 espnow -D
+ - ['R SSC1 C +ESPNOW:']
+ initial condition detail: one target in AP mode and espnow is de-initialized
restore cmd set:
- ''
- - - ATSO AT1 +++
- - ['']
- - - ATS AT1 AT
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=3
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=2,1
- - [R AT1 R *]
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 mac -S -m <target_ap_mac> -o 2
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 espnow -D
+ - ['R SSC1 C +ESPNOW:']
restore post cmd set:
- ''
- - - ATS AT1 AT+CWSTOPSMART
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - AT+SYSRAM
- - ['R AT1 A <heap_size>:(\d+)']
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 87.0
- tag: ATAPSTA2
+ start: 17.0
+ tag: NOW1
test script: InitCondBase
- check cmd set:
- ''
- - - SSC SSC1 op -Q
- - ['R SSC1 C +CURMODE:3']
- - - SSC SSC2 op -Q
- - ['R SSC2 C +CURMODE:3']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:']
- - - SSC SSC2 soc -T
- - [R SSC2 C +CLOSEALL]
- - - SSC SSC1 dhcp -Q -o 2
- - ['R SSC1 C +DHCP:AP,STARTED']
- - - SSC SSC2 dhcp -Q -o 1
- - ['R SSC2 C +DHCP:STA,STARTED']
- - - SSC SSC1 mac -Q -o 2
- - [R SSC1 P <target_ap_mac>]
- - - SSC SSC2 mac -Q -o 1
- - [R SSC2 P <target2_mac>]
+ - - SSC SSC[1-<dev_num>] op -Q
+ - ['R SSC[1-<dev_num>] C +CURMODE:2']
+ - - SSC SSC[1-<dev_num>] mac -Q -o 3
+ - ['R SSC[1-<dev_num>] P <target[1-<dev_num>]_ap_mac> P <target[1-<dev_num>]_mac>']
+ - - SSC SSC[1-<dev_num>] espnow -D
+ - ['R SSC[1-<dev_num>] C +ESPNOW:']
+ - - SSC SSC[1-<dev_num>] espnow -I
+ - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
+ - - SSC SSC[1-<dev_num>] espnow -R -t Set -r 2
+ - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
force restore cmd set:
- ''
- - - SSC SSC1 reboot
- - [R SSC1 C !!!ready!!!]
- - - SSC SSC2 reboot
- - [R SSC2 C !!!ready!!!]
- - - SSC SSC1 op -S -o 3
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC2 op -S -o 3
- - ['R SSC2 C +MODE:OK']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:']
- - - SSC SSC2 soc -T
- - [R SSC2 C +CLOSEALL]
- - - SSC SSC1 dhcp -S -o 2
- - [R SSC1 C +DHCP]
- - - SSC SSC2 dhcp -S -o 1
- - [R SSC2 C +DHCP]
- - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC2 mac -S -o 1 -m <target2_mac>
- - ['R SSC2 C +MAC:STA,OK']
- initial condition detail: target 1 as AP+STA, target 2 as AP+STA (autogen)
+ - - SSC SSC[1-<dev_num>] reboot
+ - ['R SSC[1-<dev_num>] C !!!ready!!!']
+ - - SSC SSC[1-<dev_num>] op -S -o 3
+ - ['R SSC[1-<dev_num>] C +MODE:OK']
+ - - SSC SSC[1-<dev_num>] mac -S -m <target[1-<dev_num>]_ap_mac> -o 2
+ - ['R SSC[1-<dev_num>] C +MAC:AP,OK']
+ - - SSC SSC[1-<dev_num>] mac -S -m <target[1-<dev_num>]_mac> -o 1
+ - ['R SSC[1-<dev_num>] C +MAC:STA,OK']
+ - - SSC SSC[1-<dev_num>] op -S -o 2
+ - ['R SSC[1-<dev_num>] C +MODE:OK']
+ - - SSC SSC[1-<dev_num>] espnow -D
+ - ['R SSC[1-<dev_num>] C +ESPNOW:']
+ - - SSC SSC[1-<dev_num>] espnow -I
+ - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
+ - - SSC SSC[1-<dev_num>] espnow -R -t Set -r 2
+ - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
+ initial condition detail: multiple (<dev_num>) targets in AP mode, espnow is initialized
+ with self role slave
restore cmd set:
- ''
- - - SSC SSC1 op -S -o 3
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC2 op -S -o 3
- - ['R SSC2 C +MODE:OK']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:']
- - - SSC SSC2 soc -T
- - [R SSC2 C +CLOSEALL]
- - - SSC SSC1 dhcp -S -o 2
- - [R SSC1 C +DHCP]
- - - SSC SSC2 dhcp -S -o 1
- - [R SSC2 C +DHCP]
- - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC2 mac -S -o 1 -m <target2_mac>
- - ['R SSC2 C +MAC:STA,OK']
+ - - SSC SSC[1-<dev_num>] op -S -o 3
+ - ['R SSC[1-<dev_num>] C +MODE:OK']
+ - - SSC SSC[1-<dev_num>] mac -S -m <target[1-<dev_num>]_ap_mac> -o 2
+ - ['R SSC[1-<dev_num>] C +MAC:AP,OK']
+ - - SSC SSC[1-<dev_num>] mac -S -m <target[1-<dev_num>]_mac> -o 1
+ - ['R SSC[1-<dev_num>] C +MAC:STA,OK']
+ - - SSC SSC[1-<dev_num>] op -S -o 2
+ - ['R SSC[1-<dev_num>] C +MODE:OK']
+ - - SSC SSC[1-<dev_num>] espnow -D
+ - ['R SSC[1-<dev_num>] C +ESPNOW:']
+ - - SSC SSC[1-<dev_num>] espnow -I
+ - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
+ - - SSC SSC[1-<dev_num>] espnow -R -t Set -r 2
+ - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
restore post cmd set:
- ''
- - - SSC SSC1 soc -T
- - [R SSC1 C +CLOSEALL]
- - SSC SSC1 ram
- ['R SSC1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 80.0
- tag: T2_2
+ start: 24.0
+ tag: NOW2
test script: InitCondBase
- check cmd set:
- ''
- - - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 L +CWMODE_CUR:3']
- - - ATS AT1 AT+CWJAP_CUR?
- - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
- - - ATS AT1 AT+CIPMUX?
- - ['R AT1 L +CIPMUX:0']
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMODE=0
- - [R AT1 R *]
- - - ATC AT1 CIPSTA_DEF <target_static_ip>
- - [R AT1 L OK]
+ - - DELAY 0.1
+ - [dummy]
force restore cmd set:
- ''
- - - ATS AT1 AT+RST
- - [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=3
- - [R AT1 L OK]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=0
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATC AT1 CIPSTA_DEF <target_static_ip>
- - [R AT1 L OK]
- initial condition detail: StationSoftAP mode, connected to AP, single link, use
- static ip
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ initial condition detail: none
restore cmd set:
- ''
- - - ATSO AT1 +++
- - ['']
- - - ATS AT1 AT
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=3
- - [R AT1 L OK]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=0
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMODE=0
- - [R AT1 R *]
- - - ATC AT1 CIPSTA_DEF <target_static_ip>
- - [R AT1 L OK]
+ - - DELAY 0.1
+ - [dummy]
restore post cmd set:
- ''
- - - ATS AT1 AT+CWSTOPSMART
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - AT+SYSRAM
- - ['R AT1 A <heap_size>:(\d+)']
+ - - DELAY 0.1
+ - [dummy]
script path: InitCondBase.py
- start: 136.0
- tag: ATAPSTA6
+ start: 10.0
+ tag: None
test script: InitCondBase
- check cmd set:
- ''
- - - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 L +CWMODE_CUR:1']
- - - ATS AT1 AT+CWJAP_CUR?
- - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
- - - ATS AT1 AT+CIPMUX?
- - ['R AT1 L +CIPMUX:0']
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMODE=0
- - [R AT1 R *]
- - - ATC AT1 CIPSTA_DEF <target_static_ip>
- - [R AT1 L OK]
+ - - SSC SSC1 sp -D
+ - ['R SSC1 C +SP:OK']
force restore cmd set:
- ''
- - - ATS AT1 AT+RST
- - [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=1
- - [R AT1 L OK]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=0
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATC AT1 CIPSTA_DEF <target_static_ip>
- - [R AT1 L OK]
- initial condition detail: station mode, connected to AP, single link, use static
- ip
+ - - SSC SSC1 sp -D
+ - ['R SSC1 C +SP:OK']
+ initial condition detail: one target and simple is de-inited
restore cmd set:
- ''
- - - ATSO AT1 +++
- - ['']
- - - ATS AT1 AT
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=1
- - [R AT1 L OK]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=0
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMODE=0
- - [R AT1 R *]
- - - ATC AT1 CIPSTA_DEF <target_static_ip>
- - [R AT1 L OK]
+ - - SSC SSC1 sp -D
+ - ['R SSC1 C +SP:OK']
restore post cmd set:
- ''
- - - ATS AT1 AT+CWSTOPSMART
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - AT+SYSRAM
- - ['R AT1 A <heap_size>:(\d+)']
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 122.0
- tag: ATSTA6
+ start: 31.0
+ tag: PAIR1
test script: InitCondBase
- check cmd set:
- ''
- - - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 L +CWMODE_CUR:1']
- - - ATS AT1 AT+CWJAP_CUR?
- - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
- - - ATS AT1 AT+CIPMUX?
- - ['R AT1 L +CIPMUX:1']
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
- - - ATC AT1 CIPSTA_DEF <target_static_ip>
- - [R AT1 L OK]
+ - - SSC SSC[1,2] op -Q
+ - ['R SSC[1,2] C +MODE:[2,1]']
+ - - SSC SSC[1,2] mac -Q -o 3
+ - ['R SSC[1,2] P <target[1,2]_ap_mac> P <target[1,2]_mac>']
+ - - SSC SSC[1,2] sp -D
+ - ['R SSC[1,2] C +SP:OK']
+ - - SSC SSC[1,2] sp -I
+ - ['R SSC[1,2] C +SP:OK']
force restore cmd set:
- ''
- - - ATS AT1 AT+RST
- - [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=1
- - [R AT1 L OK]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
- - - ATC AT1 CIPSTA_DEF <target_static_ip>
- - [R AT1 L OK]
- initial condition detail: station mode, connected to AP, multi link, use static
- ip
+ - - SSC SSC[1,2] reboot
+ - ['R SSC[1,2] C !!!ready!!!']
+ - - SSC SSC[1,2] op -S -o 3
+ - ['R SSC[1,2] C +MODE:OK']
+ - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
+ - ['R SSC[1,2] C +MAC:AP,OK']
+ - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
+ - ['R SSC[1,2] C +MAC:STA,OK']
+ - - SSC SSC[1,2] op -S -o [2,1]
+ - ['R SSC[1,2] C +MODE:OK']
+ - - SSC SSC[1,2] sp -D
+ - ['R SSC[1,2] C +SP:OK']
+ - - SSC SSC[1,2] sp -I
+ - ['R SSC[1,2] C +SP:OK']
+ initial condition detail: target1 in AP mode, target2 in STA mode, two targets de-init
+ and init simple pair
+ restore cmd set:
+ - ''
+ - - SSC SSC[1,2] op -S -o 3
+ - ['R SSC[1,2] C +MODE:OK']
+ - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
+ - ['R SSC[1,2] C +MAC:AP,OK']
+ - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
+ - ['R SSC[1,2] C +MAC:STA,OK']
+ - - SSC SSC[1,2] op -S -o [2,1]
+ - ['R SSC[1,2] C +MODE:OK']
+ - - SSC SSC[1,2] sp -D
+ - ['R SSC[1,2] C +SP:OK']
+ - - SSC SSC[1,2] sp -I
+ - ['R SSC[1,2] C +SP:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 38.0
+ tag: PAIR2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC[1,2] op -Q
+ - ['R SSC[1,2] C +MODE:[3,3]']
+ - - SSC SSC[1,2] mac -Q -o 3
+ - ['R SSC[1,2] P <target[1,2]_ap_mac> P <target[1,2]_mac>']
+ - - SSC SSC[1,2] sp -D
+ - ['R SSC[1,2] C +SP:OK']
+ - - SSC SSC[1,2] sp -I
+ - ['R SSC[1,2] C +SP:OK']
+ force restore cmd set:
+ - ''
+ - - SSC SSC[1,2] reboot
+ - ['R SSC[1,2] C !!!ready!!!']
+ - - SSC SSC[1,2] op -S -o [3,3]
+ - ['R SSC[1,2] C +MODE:OK']
+ - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
+ - ['R SSC[1,2] C +MAC:AP,OK']
+ - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
+ - ['R SSC[1,2] C +MAC:STA,OK']
+ - - SSC SSC[1,2] sp -D
+ - ['R SSC[1,2] C +SP:OK']
+ - - SSC SSC[1,2] sp -I
+ - ['R SSC[1,2] C +SP:OK']
+ initial condition detail: target1 and target2 in STA+AP mode, two targets de-init
+ and init simple pair
+ restore cmd set:
+ - ''
+ - - SSC SSC[1,2] op -S -o [3,3]
+ - ['R SSC[1,2] C +MODE:OK']
+ - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
+ - ['R SSC[1,2] C +MAC:AP,OK']
+ - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
+ - ['R SSC[1,2] C +MAC:STA,OK']
+ - - SSC SSC[1,2] sp -D
+ - ['R SSC[1,2] C +SP:OK']
+ - - SSC SSC[1,2] sp -I
+ - ['R SSC[1,2] C +SP:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 45.0
+ tag: PAIR3
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:3']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -Q -o 1
+ - ['R SSC1 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 1
+ - [R SSC1 P <target_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ initial condition detail: testing sta on sta + ap mode, quit AP (autogen by STAM1)
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 45.0
+ tag: STAAP1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:3']
+ - - SSC SSC1 sta -Q
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SSC SSC1 dhcp -Q -o 1
+ - ['R SSC1 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 1
+ - [R SSC1 P <target_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ initial condition detail: testing sta on sta + ap mode, join AP, DHCP on (autogen
+ by STAM2)
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 52.0
+ tag: STAAP2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 upgrade -Q -t 1
+ - ['R SSC1 C BIN_ID,0']
+ - - SSC SSC1 upgrade -Q -t 2 -b 0
+ - ['R SSC1 C BIN_INFO,0']
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 upgrade -R -r 1 -s <ota_bin_size>
+ - [R SSC1 NC ERROR C !!!ready!!!]
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SOC SOC1 ULISTEN <test_tcp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SOC SOC1 SETOPT REPLY BIN
+ - [R SOC_COM C OK]
+ - - SSC SSC1 upgrade -I -b 0 -f 0
+ - ['P SSC1 C +UPGRADE:OK']
+ - - SSC SSC1 upgrade -U -i <pc_ip> -p <test_tcp_port1> -u <ota_bin>
+ - ['P SSC1 C +UPGRADE:SUCCEED']
+ - - SSC SSC1 upgrade -R -b 0
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ initial condition detail: APSTA mode, connected to AP, running BIN0 (located on
+ flash id 0)
+ restore cmd set:
+ - ''
+ - - SSC SSC1 upgrade -Q -t 2 -b 0
+ - ['R SSC1 C BIN_INFO,0']
+ - - SSC SSC1 upgrade -R -b 0
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 upgrade -D
+ - ['R SSC1 C +UPGRADE:OK']
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 24.0
+ tag: STAAPBIN0
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:1']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -Q -o 1
+ - ['R SSC1 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 1
+ - [R SSC1 P <target_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ initial condition detail: sta mode, quit AP, DHCP on, will autogen a TC with initial
+ condition STAAP1
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 17.0
+ tag: STAM1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:1']
+ - - SSC SSC1 sta -Q
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SSC SSC1 dhcp -Q -o 1
+ - ['R SSC1 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 1
+ - [R SSC1 P <target_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ initial condition detail: sta mode, join AP, DHCP on, will autogen a TC with initial
+ condition STAAP2
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 24.0
+ tag: STAM2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 upgrade -Q -t 1
+ - ['R SSC1 C BIN_ID,0']
+ - - SSC SSC1 upgrade -Q -t 2 -b 0
+ - ['R SSC1 C BIN_INFO,0']
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 upgrade -R -r 1 -s <ota_bin_size>
+ - [R SSC1 NC ERROR C !!!ready!!!]
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SOC SOC1 ULISTEN <test_tcp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SOC SOC1 SETOPT REPLY BIN
+ - [R SOC_COM C OK]
+ - - SSC SSC1 upgrade -I -b 0 -f 0
+ - ['P SSC1 C +UPGRADE:OK']
+ - - SSC SSC1 upgrade -U -i <pc_ip> -p <test_tcp_port1> -u <ota_bin>
+ - ['P SSC1 C +UPGRADE:SUCCEED']
+ - - SSC SSC1 upgrade -R -b 0
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ initial condition detail: STA mode, connected to AP, running BIN0 (located on flash
+ id 0)
restore cmd set:
- ''
- - - ATSO AT1 +++
- - ['']
- - - ATS AT1 AT
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=1
- - [R AT1 L OK]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMODE=0
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
- - - ATC AT1 CIPSTA_DEF <target_static_ip>
- - [R AT1 L OK]
+ - - SSC SSC1 upgrade -Q -t 2 -b 0
+ - ['R SSC1 C BIN_INFO,0']
+ - - SSC SSC1 upgrade -R -b 0
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
restore post cmd set:
- ''
- - - ATS AT1 AT+CWSTOPSMART
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - AT+SYSRAM
- - ['R AT1 A <heap_size>:(\d+)']
+ - - SSC SSC1 upgrade -D
+ - ['R SSC1 C +UPGRADE:OK']
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
script path: InitCondBase.py
- start: 115.0
- tag: ATSTA5
+ start: 17.0
+ tag: STAMBIN0
test script: InitCondBase
- check cmd set:
- ''
- - - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 L +CWMODE_CUR:1']
- - - ATS AT1 AT+CWJAP_CUR?
- - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
- - - ATS AT1 AT+CIPMUX?
- - ['R AT1 L +CIPMUX:0']
- - - ATS AT1 AT+CWDHCP_CUR?
- - ['R AT1 C DHCP:3']
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMODE=0
- - [R AT1 R *]
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:1']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -Q -o 1
+ - ['R SSC1 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 1
+ - [R SSC1 P <target_mac>]
force restore cmd set:
- ''
- - - ATS AT1 AT+RST
- - [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=1,1
- - [R AT1 R *]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=0
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- initial condition detail: station mode, connected to AP, single link, use dhcp
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ initial condition detail: sta mode, quit AP, will NOT autogen a TC with initial
+ condition STAAP1
restore cmd set:
- ''
- - - ATSO AT1 +++
- - ['']
- - - ATS AT1 AT
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=1,1
- - [R AT1 R *]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=0
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMODE=0
- - [R AT1 R *]
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
restore post cmd set:
- ''
- - - ATS AT1 AT+CWSTOPSMART
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - AT+SYSRAM
- - ['R AT1 A <heap_size>:(\d+)']
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
script path: InitCondBase.py
start: 17.0
- tag: ATSTA4
+ tag: STAO1
test script: InitCondBase
- check cmd set:
- ''
- - - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 L +CWMODE_CUR:1']
- - - ATS AT1 AT+CWJAP_CUR?
- - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
- - - ATS AT1 AT+CIPMUX?
- - ['R AT1 L +CIPMUX:1']
- - - ATS AT1 AT+CWDHCP_CUR?
- - ['R AT1 C DHCP:3']
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:1']
+ - - SSC SSC1 sta -Q
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SSC SSC1 dhcp -Q -o 1
+ - ['R SSC1 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 1
+ - [R SSC1 P <target_mac>]
force restore cmd set:
- ''
- - - ATS AT1 AT+RST
- - [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=1,1
- - [R AT1 R *]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
- initial condition detail: station mode, connected to AP, multi link, use dhcp
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ initial condition detail: sta mode, join AP, DHCP on, will NOT autogen a TC with
+ initial condition STAAP2
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 24.0
+ tag: STAO2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:2']
+ - - SSC SSC2 op -Q
+ - ['R SSC2 C +CURMODE:1']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - ['']
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 C +DHCP:AP,STARTED']
+ - - SSC SSC2 dhcp -Q -o 1
+ - ['R SSC2 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
+ - - SSC SSC2 mac -Q -o 1
+ - [R SSC2 P <target2_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC2 reboot
+ - [R SSC2 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC2 op -S -o 1
+ - ['R SSC2 C +MODE:OK']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - ['']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC2 dhcp -S -o 1
+ - [R SSC2 C +DHCP]
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+ - ['R SSC2 C +MAC:STA,OK']
+ initial condition detail: same as T2_1 but will NOT autogen a TC with initial condition
+ T2_2
restore cmd set:
- ''
- - - ATSO AT1 +++
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC2 op -S -o 1
+ - ['R SSC2 C +MODE:OK']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
- ['']
- - - ATS AT1 AT
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=1,1
- - [R AT1 R *]
- - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPCLOSE
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMODE=0
- - [R AT1 R *]
- - - ATS AT1 AT+CIPMUX=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CIPSERVER=0
- - [R AT1 R *]
- - - ATC AT1 CIPCLOSE <max_conn>
- - [R AT1 R *]
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC2 dhcp -S -o 1
+ - [R SSC2 C +DHCP]
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+ - ['R SSC2 C +MAC:STA,OK']
restore post cmd set:
- ''
- - - ATS AT1 AT+CWSTOPSMART
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - AT+SYSRAM
- - ['R AT1 A <heap_size>:(\d+)']
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
script path: InitCondBase.py
- start: 38.0
- tag: ATSTA3
+ start: 73.0
+ tag: T2O_1
test script: InitCondBase
- check cmd set:
- ''
- - SSC SSC1 op -Q
- ['R SSC1 C +CURMODE:2']
- - - SSC SSC1 ap -Q
- - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(<target_ssid>,<target_password>)']
- - - SSC SSC1 ap -L
- - ['R SSC1 RE "\+LSTA:.+,%%s"%%(<pc_ip_wifi>)']
+ - - SSC SSC2 op -Q
+ - ['R SSC2 C +CURMODE:1']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - ['']
- - SSC SSC1 dhcp -Q -o 2
- ['R SSC1 C +DHCP:AP,STARTED']
+ - - SSC SSC2 dhcp -Q -o 1
+ - ['R SSC2 C +DHCP:STA,STARTED']
- - SSC SSC1 mac -Q -o 2
- [R SSC1 P <target_ap_mac>]
+ - - SSC SSC2 mac -Q -o 1
+ - [R SSC2 P <target2_mac>]
force restore cmd set:
- ''
- - SSC SSC1 reboot
- [R SSC1 C !!!ready!!!]
+ - - SSC SSC2 reboot
+ - [R SSC2 C !!!ready!!!]
- - SSC SSC1 op -S -o 2
- ['R SSC1 C +MODE:OK']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 3
- - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 op -S -o 1
+ - ['R SSC2 C +MODE:OK']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - ['']
- - SSC SSC1 dhcp -S -o 2
- [R SSC1 C +DHCP]
+ - - SSC SSC2 dhcp -S -o 1
+ - [R SSC2 C +DHCP]
- - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- ['R SSC1 C +MAC:AP,OK']
- - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi>
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- initial condition detail: AP mode, PC join AP, DHCP on
+ - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+ - ['R SSC2 C +MAC:STA,OK']
+ initial condition detail: target 1 as SoftAP, target 2 as STA, will autogen a TC
+ with initial condition T2_2
restore cmd set:
- ''
- - SSC SSC1 op -S -o 2
- ['R SSC1 C +MODE:OK']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 3
- - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 op -S -o 1
+ - ['R SSC2 C +MODE:OK']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - ['']
- - SSC SSC1 dhcp -S -o 2
- [R SSC1 C +DHCP]
+ - - SSC SSC2 dhcp -S -o 1
+ - [R SSC2 C +DHCP]
- - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- ['R SSC1 C +MAC:AP,OK']
- - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi>
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+ - ['R SSC2 C +MAC:STA,OK']
restore post cmd set:
- ''
- - SSC SSC1 soc -T
- [R SSC1 C +CLOSEALL]
- - SSC SSC1 ram
- - ['R SSC1 A <heap_size>:(\d+)']
+ - ['R SSC1 C +FREEHEAP:']
script path: InitCondBase.py
- start: 38.0
- tag: APM2
+ start: 73.0
+ tag: T2_1
test script: InitCondBase
- check cmd set:
- ''
- - - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 L +CWMODE_CUR:1']
- - - ATS AT1 AT+CWDHCP_DEF=1,1
- - [R AT1 L OK]
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:3']
+ - - SSC SSC2 op -Q
+ - ['R SSC2 C +CURMODE:3']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - [R SSC2 C +CLOSEALL]
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 C +DHCP:AP,STARTED']
+ - - SSC SSC2 dhcp -Q -o 1
+ - ['R SSC2 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
+ - - SSC SSC2 mac -Q -o 1
+ - [R SSC2 P <target2_mac>]
force restore cmd set:
- ''
- - - ATS AT1 AT+RST
- - [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=1,1
- - [R AT1 L OK]
- initial condition detail: station mode, use dhcp
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC2 reboot
+ - [R SSC2 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC2 op -S -o 3
+ - ['R SSC2 C +MODE:OK']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - [R SSC2 C +CLOSEALL]
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC2 dhcp -S -o 1
+ - [R SSC2 C +DHCP]
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+ - ['R SSC2 C +MAC:STA,OK']
+ initial condition detail: target 1 as AP+STA, target 2 as AP+STA (autogen)
restore cmd set:
- ''
- - - ATSO AT1 +++
- - ['']
- - - ATS AT1 AT
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=1
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=1,1
- - [R AT1 L OK]
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC2 op -S -o 3
+ - ['R SSC2 C +MODE:OK']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - [R SSC2 C +CLOSEALL]
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC2 dhcp -S -o 1
+ - [R SSC2 C +DHCP]
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+ - ['R SSC2 C +MAC:STA,OK']
restore post cmd set:
- ''
- - - ATS AT1 AT+CWSTOPSMART
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - AT+SYSRAM
- - ['R AT1 A <heap_size>:(\d+)']
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
script path: InitCondBase.py
- start: 10.0
- tag: ATSTA1
+ start: 80.0
+ tag: T2_2
test script: InitCondBase
- check cmd set:
- ''
- - - ATS AT1 AT+CWMODE_CUR?
- - ['R AT1 L +CWMODE_CUR:3']
- - - ATS AT1 AT+CWDHCP_DEF=2,1
- - [R AT1 R *]
- - - ATS AT1 AT+CWDHCP_DEF=2,1
- - [R AT1 R *]
+ - - SSC SSC[1-3] op -Q
+ - ['R SSC[1-3] C +CURMODE:3']
+ - - SSC SSC[1-3] phy -Q -o 3
+ - ['R SSC[1-3] C STA,n,40 C AP,n,40']
force restore cmd set:
- ''
- - - ATS AT1 AT+RST
- - [R AT1 C ready]
- - - ATS AT1 AT+CWMODE_DEF=3
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=2,1
- - [R AT1 R *]
- initial condition detail: StationSoftAP mode
+ - - SSC SSC[1-3] reboot
+ - ['R SSC[1-3] C !!!ready!!!']
+ - - SSC SSC[1-3] op -S -o 3
+ - ['R SSC[1-3] C +MODE:OK']
+ - - SSC SSC[1-3] phy -S -o 3 -m n -b 40
+ - ['R SSC[1-3] C +PHY:OK']
+ initial condition detail: '1. target 1 and target 2 set to AP+STA mode, target 3
+ set to STA mode
+
+ 2. all interface of target 2,3 set to 11n ht40
+
+ 3. config softAP of target 1 and target 2'
restore cmd set:
- ''
- - - ATSO AT1 +++
- - ['']
- - - ATS AT1 AT
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - ATS AT1 AT+CWMODE_DEF=3
- - [R AT1 L OK]
- - - ATS AT1 AT+CWDHCP_DEF=2,1
- - [R AT1 R *]
+ - - SSC SSC[1-3] op -S -o 3
+ - ['R SSC[1-3] C +MODE:OK']
+ - - SSC SSC[1-3] phy -S -o 3 -m n -b 40
+ - ['R SSC[1-3] C +PHY:OK']
restore post cmd set:
- ''
- - - ATS AT1 AT+CWSTOPSMART
- - [R AT1 R *]
- - - ATS AT1 AT+SAVETRANSLINK=0
- - [R AT1 R *]
- - - AT+SYSRAM
- - ['R AT1 A <heap_size>:(\d+)']
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 sta -R -r 1
+ - [R SSC1 C OK]
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
script path: InitCondBase.py
start: 87.0
- tag: ATAPSTA1
+ tag: T3_PHY1
test script: InitCondBase
test cases:
- CI ready: 'Yes'
- ID: ^WIFI_CONN_0601
+ ID: SYS_MISC_0101
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
- - ['R SSC1 C +SAP:OK']
- - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
- <target_encryption>
- - ['R PC_COM C +WIFICONN:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 ap -L
- - ['R SSC1 C +LSTA:', 'R SSC1 C +LSTA:', R SSC1 C +LSTADONE]
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
comment: ''
execution time: 0.0
- expected result: '1.target1 set AP
-
- 2.PC WIFI CONNECTED
-
- 3.target2 jap target 1
-
- 4.查询到两个sta 连接到target1 上'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1. target1下设置ssid 和pwd 加密方式
-
- 2.PC WIFI CONNECTED target1
-
- 3.target2 jap target 1
-
- 4.查询到两个sta 连接到target1 上'
- sub module: WIFI Connect
- summary: list stations connected to soft ap test
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ expected result: 重启成功
+ initial condition: None
+ initial condition description (auto): none
+ level: Integration
+ module: System
+ steps: 系统重启
+ sub module: Misc
+ summary: test reboot function
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: list SoftAP connected station
+ test point 2: sw reboot
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_ICMP_0101
+ ID: SYS_MISC_0201
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 ping -i <pc_ip>
- - ['R SSC1 C +PING:OK']
- - - SSC SSC1 ping -i <pc_ip> -c 2
- - ['R SSC1 C +PING:OK']
+ - - SSC SSC1 ram -H
+ - ['R SSC1 RE FREEHEAP:\d+\r\n']
comment: ''
execution time: 0.0
- expected result: '1.ok
+ expected result: '
- 2.ok'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
- module: TCPIP
- steps: '1.ping -i <pc_ip>
+ 可以查询到一个数值
- 2.ping -i <pc_ip> -c 2'
- sub module: ICMP
- summary: ping function test
+ '
+ initial condition: None
+ initial condition description (auto): none
+ level: Integration
+ module: System
+ steps: 查询空闲ram
+ sub module: Misc
+ summary: get heap size test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: ping function test
+ test point 2: 'get heap size '
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: SYS_MISC_0101
+ ID: TCPIP_DHCP_0101
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 reboot
- - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 dhcp -E -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -S -i 0.0.0.0
+ - ['R SSC1 C +IP:OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['']
+ - - DELAY 20
+ - [P PC_COM C +DELAYDONE, 'P SSC1 NC +JAP:CONNECTED']
+ - - SSC SSC1 dhcp -S -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -Q
+ - ['R SSC1 C +STAIP:0.0.0.0']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC1 ip -Q
+ - ['R SSC1 RE "\+STAIP:%%s"%%(<target_ip>)']
comment: ''
execution time: 0.0
- expected result: 重启成功
- initial condition: None
- initial condition description (auto): none
- module: System
- steps: 系统重启
- sub module: Misc
- summary: test reboot function
+ expected result: "1.target1 关闭DHCP OK\n2.target1 设置ip add OK\n3.target1 连接AP fail\n\
+ 4.target1 打开DHCP OK\n5.查询到sta ip \n6.target1 连接AP ok\n7.查询到sta ip 为target_ip"
+ initial condition: STAM1
+ initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+ TC with initial condition STAAP1
+ level: Integration
+ module: TCPIP
+ steps: "1.target1 关闭DHCP OK\n2.target1 设置ip add OK\n3.target1 连接AP fail\n4.target1\
+ \ 打开DHCP OK\n5.查询到sta ip \n6.target1 连接AP ok\n7.查询到sta ip 为target_ip"
+ sub module: DHCP
+ summary: dhcp client function test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: sw reboot
+ test point 2: DHCP client function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_DHCP_0302
+ ID: TCPIP_DHCP_0102
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 ip -S -i 192.168.123.123 -o 2
- - ['R SSC1 C +IP:ERROR']
- - - SSC SSC1 dhcp -L -s 192.168.2.2 -e 192.168.2.10
- - ['R SSC1 C +DHCP:LEASE,ERROR']
- - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
- - ['']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['P SSC2 C +JAP:CONNECTED']
+ - ['R SSC1 C +SAP:OK']
- - SSC SSC1 dhcp -E -o 2
- ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 ip -S -i 192.168.4.1 -o 2
- - ['R SSC1 C +IP:OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.10
- - ['R SSC1 C +DHCP:LEASE,OK']
- - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- ['']
- - - DELAY 10
+ - - DELAY 20
- [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 C +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: '1.target 1 OK
-
- 2.target1 ERROR
-
- 3.target1 ERROR
-
- 4.target2 jap target1 OK
-
- 5.target1 OK
-
- 6.target1 OK
-
- 7.target1 OK
-
- 8.target2 jap target1 OK'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ expected result: "1.target1 set AP OK \n2.target1 关闭DHCP OK\n3.target2 jap target\
+ \ 1,FAIL \n4.target1 打开DHCP OK\n5.target2 jap target 1,ok"
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
module: TCPIP
- steps: "1.target1 打开DHCP 2\n2.target1 设置softAP ip 192.168.123.123\n3.target1 设置地址池\n\
- 4.target1下设置ssid 和pwd 加密方式\n5.target2 连接target1 \n6.target1 关闭DHCP 2\n7.target1\
- \ 设置softAP ip \n8.target1 设置正确的地址池\n9.target2 连接target1"
+ steps: "1.target1 set AP OK \n2.target1 关闭DHCP OK\n3.target2 jap target 1,FAIL \n\
+ 4.target1 打开DHCP OK\n5.target2 jap target 1,ok"
sub module: DHCP
- summary: ap dhcp static ip interaction
+ summary: dhcp server function test
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
2 SSC target connect with PC by UART.'
- test point 1: interaction
- test point 2: static IP and DHCP interaction test
+ test point 1: basic function
+ test point 2: DHCP client function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_DHCP_0301
+ ID: TCPIP_DHCP_0103
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 dhcp -E -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -S -i 192.168.123.123 -o 1
- - ['R SSC1 C +IP:OK']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC1 ip -S -i 0.0.0.0 -o 1
- - ['R SSC1 C +IP:OK']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['']
- - - DELAY 10
- - [P PC_COM C +DELAYDONE, 'P SSC1 NC +JAP:CONNECTED']
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 3
+ - ['R SSC1 C +DHCP:AP,OK C +DHCP:STA,OK']
+ - - SSC SSC1 dhcp -Q -o 3
+ - ['R SSC1 C +DHCP:STA,STARTED C +DHCP:AP,STARTED']
+ - - SSC SSC1 dhcp -Q -o 1
+ - ['R SSC1 C +DHCP:STA,STARTED NC +DHCP:AP,STARTED']
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 NC +DHCP:STA,STARTED C +DHCP:AP,STARTED']
+ - - SSC SSC1 dhcp -E -o 3
+ - ['R SSC1 C +DHCP:AP,OK C +DHCP:STA,OK']
+ - - SSC SSC1 dhcp -Q -o 3
+ - ['R SSC1 C +DHCP:STA,STOPPED C +DHCP:AP,STOPPED']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.JAP CONNETED
+ 3.STA&AP STARTED
- 4.OK
+ 4.STA STARTED
- 5.等待10s,JAP fail'
- initial condition: STAAP1
- initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
- by STAM1)
+ 5.AP STARTED
+
+ 6.OK
+
+ 7.STA&AP STOPPED'
+ initial condition: STAM1
+ initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+ TC with initial condition STAAP1
+ level: Integration
module: TCPIP
- steps: '1.target1 关闭DHCP 1
+ steps: '1.target1 设置mode 为sta+softAP mode
- 2.target1 设置sta ip 192.168.123.123
+ 2.target1 打开DHCP 3
- 4.target1 jap AP
+ 3.target1 查询DHCP 状态
- 5.target1 设置sta ip 0.0.0.0
+ 4.target1 查询sta DHCP 状态
- 6.target1 jap AP'
+ 5.target1 查询softAP DHCP 状态
+
+ 6.target1 关闭 DHCP 3
+
+ 7.target1 查询 DHCP 状态'
sub module: DHCP
- summary: sta dhcp static ip interaction
+ summary: dhcp status query
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: interaction
- test point 2: static IP and DHCP interaction test
+ test point 1: basic function
+ test point 2: DHCP client function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0113
+ ID: TCPIP_DHCP_0201
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port2>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port3>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port4>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port5>
- - ['R SSC1 RE BIND:(\d+),OK']
- comment: ''
- execution time: 0.0
- expected result: '1.ok
-
- 2.ok
-
- 3.ok
-
- 4.ok
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 ip -S -o 2 -i <target_ap_ip>
+ - ['R SSC1 C +IP:OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.1 -e 192.168.4.10
+ - ['R SSC1 C +DHCP:LEASE,ERROR']
+ - - SSC SSC1 dhcp -L -s 192.168.4.5 -e 192.168.4.2
+ - ['R SSC1 C +DHCP:LEASE,ERROR']
+ - - SSC SSC1 dhcp -L -s 192.168.2.2 -e 192.168.2.5
+ - ['R SSC1 C +DHCP:LEASE,ERROR']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ comment: ''
+ execution time: 0.0
+ expected result: '1.target1 关闭DHCP 2 OK
- 5.ok'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
- module: TCPIP
- steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 2.target1 设置ip 成功
- 2.target1上UDP传输,Bind socket2,本地ip target_udp_port2
+ 3.设置dhcp 地址池 OK
- 3.target1上UDP传输,Bind socket3,本地ip target_udp_port3
+ 4.ERROR
- 4.target1上UDP传输,Bind socket4,本地ip target_udp_port4
+ 5.ERROR
- 5.target1上UDP传输,Bind socket5,本地ip target_udp_port5'
- sub module: UDP
- summary: AP mode, create max udp socket test
+ 6.ERROR
+
+ 7.target1 打开DHCP ok'
+ initial condition: APM1
+ initial condition description (auto): AP mode, DHCP on, will autogen a TC with initial
+ condition APSTA1
+ level: Integration
+ module: TCPIP
+ steps: "1.target1 关闭DHCP 2 \n2.target1 设置ip \n3.设置dhcp 地址池\n4.设置dhcp错误的参数\n5.设置dhcp错误的参数\n\
+ 6.设置dhcp错误的参数\n7.target1 打开DHCP ok"
+ sub module: DHCP
+ summary: server dhcp lease test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DHCP_0302
+ ID: TCPIP_DHCP_0202
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 ip -S -i 192.168.123.123 -o 2
- - ['R SSC1 C +IP:ERROR']
- - - SSC SSC1 dhcp -L -s 192.168.2.2 -e 192.168.2.10
- - ['R SSC1 C +DHCP:LEASE,ERROR']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
- - ['']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['P SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['R SSC1 C +SAP:OK']
- - SSC SSC1 dhcp -E -o 2
- ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 ip -S -i 192.168.4.1 -o 2
- - ['R SSC1 C +IP:OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.10
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - LOOP 3 4 "['01','02','03']" "[2,3,4]"
- ['']
- - - DELAY 10
- - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:OK']
+ - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
+ - ['R SSC2 C +MAC:STA,OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC2 ip -Q -o 1
+ - ['R SSC2 C +STAIP:192.168.4.{%s}']
comment: ''
execution time: 0.0
- expected result: '1.target 1 OK
-
- 2.target1 ERROR
-
- 3.target1 ERROR
-
- 4.target2 jap target1 OK
-
- 5.target1 OK
-
- 6.target1 OK
+ expected result: '1. succeed
- 7.target1 OK
+ 2. succeed
- 8.target2 jap target1 OK'
+ 3,4: get IP from dhcp pool with correct sequence'
initial condition: T2_1
initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
autogen a TC with initial condition T2_2
+ level: Integration
module: TCPIP
- steps: "1.target1 打开DHCP 2\n2.target1 设置softAP ip 192.168.123.123\n3.target1 设置地址池\n\
- 4.target1下设置ssid 和pwd 加密方式\n5.target2 连接target1 \n6.target1 关闭DHCP 2\n7.target1\
- \ 设置softAP ip \n8.target1 设置正确的地址池\n9.target2 连接target1 "
+ steps: '1. config softap to a random ssid
+
+ 2. config DHCP Server on Target1
+
+ 3. target change mac, connect to Target1
+
+ 4. Loop step3'
sub module: DHCP
- summary: ap dhcp static ip interaction
+ summary: dhcp server ip pool
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
2 SSC target connect with PC by UART.'
- test point 1: interaction
- test point 2: static IP and DHCP interaction test
+ test point 1: basic function
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DHCP_0301
+ ID: TCPIP_DHCP_0203
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 dhcp -E -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -S -i 192.168.123.123 -o 1
- - ['R SSC1 C +IP:OK']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC1 ip -S -i 0.0.0.0 -o 1
- - ['R SSC1 C +IP:OK']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - LOOP 2 4 "['01','02']" "[2,3]"
- ['']
- - - DELAY 10
- - [P PC_COM C +DELAYDONE, 'P SSC1 NC +JAP:CONNECTED']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:OK']
+ - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
+ - ['R SSC2 C +MAC:STA,OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC2 ip -Q -o 1
+ - ['R SSC2 C +STAIP:192.168.4.{%s}']
+ - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
+ - ['R SSC2 C +MAC:STA,OK']
+ - - DELAY 20
+ - ['']
+ - - SSC SSC2 ip -Q -o 1
+ - ['R SSC2 C +STAIP:0.0.0.0']
comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: '1. succeed
- 2.OK
+ 2. succeed
- 3.JAP CONNETED
+ 3. succeed
- 4.OK
+ 4.1 succeed
- 5.等待10s,JAP fail'
- initial condition: STAM1
- initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
- TC with initial condition STAAP1
+ 4.2 failed'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
module: TCPIP
- steps: '1.target1 关闭DHCP 1
-
- 2.target1 设置sta ip 192.168.123.123
+ steps: '1. config softap to a random ssid
- 4.target1 jap AP
+ 2. config DHCP Server on Target1(.4.2 - .4.3)
- 5.target1 设置sta ip 0.0.0.0
+ 3. target change mac, connect to Target1
- 6.target1 jap AP'
+ 4. Loop step3 twice'
sub module: DHCP
- summary: sta dhcp static ip interaction
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ summary: dhcp server ip pool empty
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
- test point 1: interaction
- test point 2: static IP and DHCP interaction test
+ 2 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: SYS_MISC_0201
+ ID: TCPIP_DHCP_0204
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ram -H
- - ['R SSC1 RE FREEHEAP:\d+\r\n']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3 -t 1
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC2 ip -Q -o 1
+ - ['R SSC2 C +STAIP:192.168.4.2']
+ - - DELAY 90
+ - ['']
+ - - SSC SSC2 ip -Q -o 1
+ - ['R SSC2 C +STAIP:192.168.4.2']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +JAP:DISCONNECTED']
+ - - DELAY 60
+ - ['']
+ - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
+ - ['R SSC2 C +MAC:STA,OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC2 ip -Q -o 1
+ - ['R SSC2 C +STAIP:192.168.4.2']
comment: ''
execution time: 0.0
- expected result: '
+ expected result: '1. succeed
- 可以查询到一个数值
+ 2. succeed
- '
- initial condition: None
- initial condition description (auto): none
- module: System
- steps: 查询空闲ram
- sub module: Misc
- summary: get heap size test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 3. get IP 192.168.4.2
- PC has 1 WiFi NIC.
+ 5. succeed
- 1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: 'get heap size '
- version: v1 (2016-8-15)
-- CI ready: 'Yes'
- ID: TCPIP_TCP_0412
- SDK: '8266_NonOS
+ 6. succeed
- 8266_RTOS
+ 8. get IP 192.168.4.2'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: TCPIP
+ steps: '1. config softap to a random ssid
- ESP32_IDF'
- Test App: SSC
- allow fail: ''
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -T -s <sock2>
- - ['R SSC1 RE CLOSE:\d+,OK']
- comment: ''
- execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK; PC TCP server accept 成功
-
- 4.OK
-
- 5.OK
-
- 6.OK
-
- 7.OK'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
- module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
+ 2. config DHCP timeout as 1 minute
- 2.target1上创建TCP socket1
+ 3. target2 connect to target1
- 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+ 4. wait 90 seconds
- 4.PC与target1创建好TCP 连接,有ACCEPT
+ 5. check if target2 IP is same
- 5.target1上创建TCP socket2
+ 6. target2 disconnect
- 6.关闭socket1 连接
+ 7. wait 60s
- 7.关闭socket2连接'
- sub module: TCP
- summary: close TCP send after socket changed
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 8. target2 change mac and connect to target1'
+ sub module: DHCP
+ summary: dhcp server timeout test
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ 2 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0403
+ ID: TCPIP_DHCP_0205
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 op -S -o 2
- - ['P SSC1 C +MODE:OK', 'P SSC1 RE CLOSED:\d+,0']
- - - SSC SSC1 soc -S -s <sock1> -l 5
- - ['P SSC1 RE SEND:\d+,ERROR']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3 -t 1
+ - ['P SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['P SSC1 C +DHCP:AP,OK', 'P SSC2 C +JAP:DISCONNECTED']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
+ expected result: '1. succeed
- 3.OK; PC TCP server accept 成功
+ 2. succeed
- 4.OK
+ 3. target2 wifi disconnected'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: TCPIP
+ steps: '1. config softap to a random ssid
- 5.OK
+ 2. target2 connect to target1
- 6.ERROR'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
- module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
- \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.修改8266的Mode为softAP mode\
- \ \n6.8266往PC上发送5字节数据"
- sub module: TCP
- summary: do TCP send after mode changed
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 3. disable DHCP server, do config and enable'
+ sub module: DHCP
+ summary: disconnect STA if config dhcp server
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ 2 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0402
+ ID: TCPIP_DHCP_0206
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 sta -D
- - ['P SSC1 C +QAP:OK', 'P SSC1 RE CLOSED:\d+,0']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - LOOP 4 4 "['01','02','03','01']" "[2,3,4,2]"
+ - ['']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:OK']
+ - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
+ - ['R SSC2 C +MAC:STA,OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC2 ip -Q -o 1
+ - ['R SSC2 C +STAIP:192.168.4.{%s}']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK; PC TCP server accept 成功
+ expected result: '1. succeed
- 4.OK
+ 2. succeed
- 5.OK
+ 4. get IP 192.168.4.2 - 192.168.4.4
- 6.OK'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 5. get IP 192.168.4.2'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建TCP socket1
+ steps: '1. config softap to a random ssid
- 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+ 2. disable DHCP server, do config and enable
- 4.PC与target1创建好TCP 连接,有ACCEPT
+ 3. target2 change mac, connect to softap, disconnect
- 5.断开与AP 连接
+ 4. Loop step3 twice
- 6.关闭建立的socket1连接'
- sub module: TCP
- summary: "close TCP socket after WIFI \ndisconnected"
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 5. change to first mac, connect to softap'
+ sub module: DHCP
+ summary: dhcp server assign same IP to same MAC when it's not released
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ 2 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0401
+ ID: TCPIP_DHCP_0207
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 sta -D
- - ['P SSC1 C +QAP:OK', 'P SSC1 RE CLOSED:\d+,0']
- - - SSC SSC1 soc -S -s <sock1> -l 5
- - ['P SSC1 RE SEND:\d+,ERROR']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - WIFI <pc_wifi_nic> DISCONN2
+ - ['R PC_COM NC ERROR C +WIFIDISCONN:OK']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:OK']
+ - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
+ - ['R SSC2 C +MAC:STA,OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC2 ip -Q -o 1
+ - ['R SSC2 C +STAIP:192.168.4.2']
comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: '1. succeed
- 2.OK
+ 2. succeed
- 3.OK; PC TCP server accept 成功
+ 3. get IP 192.168.4.2
- 4.OK
+ 4. succeed
- 5.OK
+ 5. succeed
- 6.ERROR'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 6. get IP 192.168.4.2'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
+ steps: '1. config softap to a random ssid
- 2.target1上创建TCP socket1
+ 2. disable DHCP server, do config and enable
- 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+ 3. PC WIFI NIC connect to target1 softap
- 4.PC与target1创建好TCP 连接,有ACCEPT
+ 4. target2 connect to target1 softap and disnnect
- 5.断开与AP 连接
+ 5. PC release IP and disconnected
- 6.8266往PC上发送5字节数据'
- sub module: TCP
- summary: do TCP send after WIFI disconnected
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 6. target2 change mac and connect to target1'
+ sub module: DHCP
+ summary: dhcp server prefer assign released IP to new client
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ 2 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_ADDR_0101
+ ID: TCPIP_DHCP_0208
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 op -S -o 3
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 mac -S -o 1 -m 44:55:66:77:88:99
- - ['R SSC1 C +MAC:STA,OK']
- - - SSC SSC1 mac -S -o 2 -m 22:33:44:55:66:77
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC1 mac -Q -o 3
- - ['R SSC1 C +STAMAC:44:55:66:77:88:99 C +APMAC:22:33:44:55:66:77']
- - - SSC SSC1 mac -S -o 1 -m <target_mac>
- - ['R SSC1 C +MAC:STA,OK']
- - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['P SSC1 C +DHCP:AP,OK', 'P SSC2 C +JAP:DISCONNECTED']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +JAP:DISCONNECTED']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - SSC SSC1 ap -L
+ - [R SSC1 C 192.168.4.2 P <pc_wifi_nic_mac>]
comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: '1. succeed
- 2.ok
+ 2. succeed
- 3.ok
+ 3. succeed
- 4.ok
+ 4. get IP 192.168.4.2
- 5.ok
+ 5. can only find target2 with IP 192.168.4.2'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: TCPIP
+ steps: '1. config softap to a random ssid
- 6.ok'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: "1.target1 设置mode 为sta+softAP mode\n2.target1 设置sta mode 下的mac \n3.target1\
- \ 设置softAP mode 下的mac\n4.target1 查询softAP+sta 下的mac\n5.target1 设置sta mode 下的mac\
- \ 为target1_mac\n6.target1 设置softAP mode 下的mac 为target1_ap_mac"
- sub module: MAC Address
- summary: set mac, query mac
+ 2. PC NIC connect to target1 softap
+
+ 3. disable DHCP server, do config and enable
+
+ 4. target2 connect to target1 softap
+
+ 5. softap list connected station'
+ sub module: DHCP
+ summary: dhcp server reconfig and new client able to get first IP in pool
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: mac address function test
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0407
+ ID: TCPIP_DHCP_0209
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 dhcp -E -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
- - ['P SSC1 C +IP:OK', 'P SSC1 RE CLOSED:\d+,0']
- - - SSC SSC1 ip -Q -o 1
- - ['R SSC1 C +STAIP:192.168.111.210']
- - - SSC SSC1 soc -S -s <sock1> -l 5
- - ['P SSC1 RE SEND:\d+,ERROR']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - DELAY 20
+ - ['']
+ - - SSC SSC1 ap -L
+ - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: '1. succeed
- 2.OK
+ 2. succeed
- 3.OK; PC TCP server accept 成功
+ 3. succeed
- 4.OK
+ 4. succeed
- 5.OK
+ 5. find target2 and PC'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: TCPIP
+ steps: '1. config softap to a random ssid
- 6.OK
+ 2. target2 connect to target1 softap
- 7.OK
+ 3. disable DHCP server, do config and enable
- 8.ERROR'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
- module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
- \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.关闭8266的DHCP 1\n6.设置sta\
- \ ip \n7.查询sta ip 地址是否生效\n8.8266往PC上发送5字节数据"
- sub module: TCP
- summary: do TCP send after IP changed
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 4. PC NIC connect to target1 softap
+
+ 5. softap list connected station'
+ sub module: DHCP
+ summary: dhcp server reconfig, old client and new client able to get IP
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ 2 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0406
+ ID: TCPIP_DHCP_0210
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - NIC <pc_nic> DISABLED
- - [R PC_COM C OK]
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - WIFI <pc_wifi_nic> CONN2 <random_string> <random_string> 192.168.4.2
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - SSC SSC1 ap -L
+ - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
+ expected result: '1. succeed
- 3.OK; PC TCP server accept 成功
+ 2. succeed
- 4.OK
+ 3. succeed
- 5.OK
+ 4. succeed
- 6.OK'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 5. find target2 and PC'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
- \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.PC上网卡禁止掉 \n6.关闭建立的socket1连接"
- sub module: TCP
- summary: close TCP socket after PC NIC disabled
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ steps: '1. config softap to a random ssid
+
+ 2. target2 connect to target1 softap
+
+ 3. disable DHCP server, do config and enable
+
+ 4. PC NIC connect to target1 softap try to renew IP 192.168.4.2
+
+ 5. softap list connected station'
+ sub module: DHCP
+ summary: dhcp server reconfig, old client able to get IP (discover with requested
+ IP)
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ 2 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0405
+ ID: TCPIP_DHCP_0211
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - NIC <pc_nic> DISABLED
- - [R PC_COM C OK]
- - - SSC SSC1 soc -S -s <sock1> -l 1
- - ['']
- - - DELAY 5400
- - ['P SSC1 RE CLOSED:\d+,0']
- comment: ''
- execution time: 1.5
- expected result: '1.OK
-
- 2.OK
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - DELAY 10
+ - ['']
+ - - SSC SSC1 ap -L
+ - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
+ comment: ''
+ execution time: 0.0
+ expected result: '1. succeed
- 3.OK; PC TCP server accept 成功
+ 2. succeed
- 4.OK
+ 3. succeed
- 5.OK
+ 4. succeed
- 6.TCP连接断开'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 5. find target2 and PC'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建TCP socket1
+ steps: '1. config softap to a random ssid
- 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+ 2. target2 connect to target1 softap
- 4.PC与target1创建好TCP 连接,有ACCEPT
+ 3. disable DHCP server, do config and enable
- 5.PC 网卡 disable
+ 4. PC NIC connect to target1 softap try to renew IP 192.168.4.2
- 6.target1上使用socket1发送数据,等待 90 分钟'
- sub module: TCP
- summary: do TCP send after PC NIC disabled
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 5. softap list connected station'
+ sub module: DHCP
+ summary: dhcp server reconfig, old client able to renew IP (direct send request)
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ 2 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0404
+ ID: TCPIP_DHCP_0301
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 op -S -o 2
- - ['P SSC1 C +MODE:OK', 'P SSC1 RE CLOSED:\d+,0']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 dhcp -E -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -S -i 192.168.123.123 -o 1
+ - ['R SSC1 C +IP:OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC1 ip -S -i 0.0.0.0 -o 1
+ - ['R SSC1 C +IP:OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['']
+ - - DELAY 10
+ - [P PC_COM C +DELAYDONE, 'P SSC1 NC +JAP:CONNECTED']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK; PC TCP server accept 成功
+ 3.JAP CONNETED
4.OK
- 5.OK
-
- 6.OK'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 5.等待10s,JAP fail'
+ initial condition: STAM1
+ initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+ TC with initial condition STAAP1
+ level: Integration
module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
- \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.修改8266的Mode为softAP mode\
- \ \n6.关闭建立的socket1连接"
- sub module: TCP
- summary: close TCP socket after mode changed
+ steps: '1.target1 关闭DHCP 1
+
+ 2.target1 设置sta ip 192.168.123.123
+
+ 4.target1 jap AP
+
+ 5.target1 设置sta ip 0.0.0.0
+
+ 6.target1 jap AP'
+ sub module: DHCP
+ summary: sta dhcp static ip interaction
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ test point 1: interaction
+ test point 2: static IP and DHCP interaction test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_CONN_0903
+ ID: TCPIP_DHCP_0302
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -C -s <wep_ap_ssid> -p bacfd
- - ['R SSC1 RE JAP:DISCONNECTED,\d+,2']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 ip -S -i 192.168.123.123 -o 2
+ - ['R SSC1 C +IP:ERROR']
+ - - SSC SSC1 dhcp -L -s 192.168.2.2 -e 192.168.2.10
+ - ['R SSC1 C +DHCP:LEASE,ERROR']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['P SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 ip -S -i 192.168.4.1 -o 2
+ - ['R SSC1 C +IP:OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.10
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['']
+ - - DELAY 10
+ - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: 1. disconect event reason REASON_AUTH_EXPIRE
- initial condition: STAAP1
- initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
- by STAM1)
- module: WIFI MAC
- steps: 1. connect WEP ap with error password (valid wep password)
- sub module: WIFI Connect
- summary: test wifi disconnect reason REASON_AUTH_EXPIRE
- test environment: SSC_T1_WEP
- test environment description (auto): '1 SSC target connect with PC by UART.
+ expected result: '1.target 1 OK
- One WEP share key AP placed near SSC1.'
- test point 1: basic function
- test point 2: wifi disconnect reason test
+ 2.target1 ERROR
+
+ 3.target1 ERROR
+
+ 4.target2 jap target1 OK
+
+ 5.target1 OK
+
+ 6.target1 OK
+
+ 7.target1 OK
+
+ 8.target2 jap target1 OK'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: TCPIP
+ steps: "1.target1 打开DHCP 2\n2.target1 设置softAP ip 192.168.123.123\n3.target1 设置地址池\n\
+ 4.target1下设置ssid 和pwd 加密方式\n5.target2 连接target1 \n6.target1 关闭DHCP 2\n7.target1\
+ \ 设置softAP ip \n8.target1 设置正确的地址池\n9.target2 连接target1 "
+ sub module: DHCP
+ summary: ap dhcp static ip interaction
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 2 SSC target connect with PC by UART.'
+ test point 1: interaction
+ test point 2: static IP and DHCP interaction test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0408
+ ID: TCPIP_DNS_0101
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 3/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 dhcp -E -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
- - ['P SSC1 C +IP:OK', 'P SSC1 RE CLOSED:\d+,0']
- - - SSC SSC1 ip -Q -o 1
- - ['R SSC1 C +STAIP:192.168.111.210']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -H -d iot.espressif.cn
+ - ['R SSC1 C +HOSTIP:OK,115.29.202.58']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK; PC TCP server accept 成功
-
- 4.OK
-
- 5.OK
-
- 6.OK
-
- 7.OK
-
- 8.OK'
+ expected result: 1.OK
initial condition: STAM2
initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
- \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.关闭8266的DHCP 1\n6.设置sta\
- \ ip \n7.查询sta ip 地址是否生效\n8.关闭建立的socket1连接"
- sub module: TCP
- summary: close TCP socket after IP changed
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
-
- PC has 1 WiFi NIC.
+ steps: 1. get host name "espressif.cn"
+ sub module: DNS
+ summary: get host by name test
+ test environment: SSC_T1_2
+ test environment description (auto): 'Able to access WAN after connect to AP.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ test point 1: basic function
+ test point 2: DNS function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0202
+ ID: TCPIP_DNS_0102
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 3/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock1>
- - ['R SSC1 RE LISTEN:\d+,ERROR']
+ - - SSC SSC1 soc -H -d iot.espressif.cn
+ - ['R SSC1 A <ip_addr>:\+HOSTIP:OK,(.+)\r\n']
- - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -L -s <sock2>
- - ['R SSC1 RE LISTEN:\d+,ERROR']
- - - SSC SSC1 soc -D -s <sock2>
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -L -s <sock2>
- - ['R SSC1 RE LISTEN:\d+,ERROR']
- - - SSC SSC1 soc -L -s 1000
- - ['R SSC1 RE LISTEN:\d+,ERROR']
+ - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <ip_addr> -p 9001
+ - ['R SSC1 RE \+CONNECT:\d+,OK']
+ - - SSC SSC1 soc -S -s <sock1> -l 10
+ - ['P SSC1 RE \+SEND:\d+,OK', P SSC1 SL <sock1>+10]
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.ERROR
-
- 4.OK
-
- 5.OK
-
- 6.ERROR
-
- 7.OK
-
- 8.ERROR
+ 3.OK
- 9.ERROR'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 4.OK'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
-
- 3.target1上使用步骤2创建的socket,去建立TCP 监听
-
- 4.target1上创建TCP socket
-
- 5.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
-
- 6.target1上使用步骤4创建的socket,创建TCP 监听
-
- 7.target1上shutdown 步骤4的socket
-
- 8.target1上使用步骤4创建的socket,创建TCP 监听
+ steps: '1. get host name "espressif.cn"
- 9.target1上使用不存在socket,创建TCP 监听'
- sub module: TCP
- summary: STA mode, server listen test. use socket in state that can't listen
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 2. connect, send, recv1. get host name "espressif.cn"
- PC has 1 WiFi NIC.
+ 2. connect, send, recv'
+ sub module: DNS
+ summary: TCP connect to iot.espressif.com
+ test environment: SSC_T1_2
+ test environment description (auto): 'Able to access WAN after connect to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) in different state
+ test point 2: DNS function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0110
+ ID: TCPIP_DNS_0103
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 3/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- - [SOCR SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,OK', P SOC1 C +ACCEPT]
- - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i 123.456.678.789 -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port2>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 soc -H -d iot.espressif.cn
+ - ['R SSC1 A <ip_addr>:\+HOSTIP:OK,(.+)\r\n']
+ - - SSC SSC1 soc -B -t UDP
+ - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <ip_addr> -p 9003 -l 10
+ - ['P SSC1 RE \+SEND:\d+,OK', P SSC1 SL <sock1>+10]
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK; PC TCP server accept 成功
-
- 4.OK
+ 3.OK'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
+ module: TCPIP
+ steps: '1. get host name "espressif.cn"
- 5.ERROR
+ 2. sendto, recvfrom1. get host name "espressif.cn"
- 6.ERROR'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
- module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
+ 2. sendto, recvfrom'
+ sub module: DNS
+ summary: UDP send to iot.expressif.com
+ test environment: SSC_T1_2
+ test environment description (auto): 'Able to access WAN after connect to AP.
- 2.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+ 1 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: DNS function test
+ version: v1 (2016-8-15)
+- CI ready: 'Yes'
+ ID: TCPIP_ICMP_0101
+ SDK: '8266_NonOS
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+ 8266_RTOS
- 4.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+ ESP32_IDF'
+ Test App: SSC
+ allow fail: 1/5
+ auto test: 'Yes'
+ category: Function
+ cmd set:
+ - ''
+ - - SSC SSC1 ping -i <pc_ip>
+ - ['R SSC1 C +PING:OK']
+ - - SSC SSC1 ping -i <pc_ip> -c 2
+ - ['R SSC1 C +PING:OK']
+ comment: ''
+ execution time: 0.0
+ expected result: '1.ok
- 5.target1上使用步骤4创建的socket,去连接不存在的ip,test_tcp_port1
+ 2.ok'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
+ module: TCPIP
+ steps: '1.ping -i <pc_ip>
- 6.target1上使用步骤2创建的socket,去连接 PC的ip,远端端口不存在。'
- sub module: TCP
- summary: AP mode, connect test. use different ip, port
+ 2.ping -i <pc_ip> -c 2'
+ sub module: ICMP
+ summary: ping function test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 2: ping function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0203
+ ID: TCPIP_IGMP_0101
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1>
- - ['R SSC1 RE SEND:\d+,ERROR']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock2>
- - ['R SSC1 RE SEND:\d+,ERROR']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock2>
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -S -s <sock2>
- - ['R SSC1 RE SEND:\d+,ERROR']
- - - SSC SSC1 soc -S -s 1000
- - ['R SSC1 RE SEND:\d+,ERROR']
+ - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 igmp -J -h <target_ip> -m 223.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -J -h <target_ip> -m 240.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -J -h 192.168.237.77 -m 224.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -J -h 192.168.237.77 -m 240.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.ERROR
-
- 4.OK
-
- 5.ERROR
-
- 6.OK
+ expected result: '1. success
- 7.OK
+ 2. failed
- 8.ERROR
+ 3. failed
- 9.ERROR'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 4. failed'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建UDP传输socket1,<test_udp_port1>
-
- 3.target1上使用步骤2创建的socket1,去发送数据
-
- 4.target1上创建TCP socket2
-
- 5.target1上使用步骤4创建的socket2,去发送数据
-
- 6.target1上使用步骤4创建的socket2,创建TCP连接,连接成功
+ steps: '1. join group with correct host addr and multicast addr
- 7.target1上shutdown 步骤4的socket2
+ 2. join group with correct host addr and wrong multicast addr
- 8.target1往socket2发送错误命令发送数据
+ 3. join group with wrong host addr and correct multicast addr
- 9.target1上不指定socket往上发送数据'
- sub module: TCP
- summary: send test. use socket in state that can't send
+ 4. join group with wrong host addr and wrong multicast addr'
+ sub module: IGMP
+ summary: station IGMP join group address check
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) in different state
+ test point 2: IGMP API parameter check
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DHCP_0101
+ ID: TCPIP_IGMP_0102
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 dhcp -E -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -S -i 0.0.0.0
- - ['R SSC1 C +IP:OK']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['']
- - - DELAY 20
- - [P PC_COM C +DELAYDONE, 'P SSC1 NC +JAP:CONNECTED']
- - - SSC SSC1 dhcp -S -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -Q
- - ['R SSC1 C +STAIP:0.0.0.0']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC1 ip -Q
- - ['R SSC1 RE "\+STAIP:%%s"%%(<target_ip>)']
- comment: ''
- execution time: 0.0
- expected result: "1.target1 关闭DHCP OK\n2.target1 设置ip add OK\n3.target1 连接AP fail\n\
- 4.target1 打开DHCP OK\n5.查询到sta ip \n6.target1 连接AP ok\n7.查询到sta ip 为target_ip"
- initial condition: STAM1
- initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
- TC with initial condition STAAP1
- module: TCPIP
- steps: "1.target1 关闭DHCP OK\n2.target1 设置ip add OK\n3.target1 连接AP fail\n4.target1\
- \ 打开DHCP OK\n5.查询到sta ip \n6.target1 连接AP ok\n7.查询到sta ip 为target_ip"
- sub module: DHCP
- summary: dhcp client function test
+ - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.2
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -L -h 192.168.237.77 -m 224.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -L -h 192.168.237.77 -m 240.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ comment: ''
+ execution time: 0.0
+ expected result: '1. success
+
+ 2. failed
+
+ 3. failed
+
+ 4. failed
+
+ 5. succeed'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
+ module: TCPIP
+ steps: '1. join group with correct host addr and multicast addr
+
+ 2. leave group with correct host addr and wrong multicast addr
+
+ 3. leave group with wrong host addr and correct multicast addr
+
+ 4. leave group with wrong host addr and wrong multicast addr
+
+ 5. leave group with correct host addr and correct multicast addr'
+ sub module: IGMP
+ summary: station IGMP leave group address check
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DHCP client function test
+ test point 2: IGMP API parameter check
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DHCP_0103
+ ID: TCPIP_IGMP_0103
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 op -S -o 3
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 3
- - ['R SSC1 C +DHCP:AP,OK C +DHCP:STA,OK']
- - - SSC SSC1 dhcp -Q -o 3
- - ['R SSC1 C +DHCP:STA,STARTED C +DHCP:AP,STARTED']
- - - SSC SSC1 dhcp -Q -o 1
- - ['R SSC1 C +DHCP:STA,STARTED NC +DHCP:AP,STARTED']
- - - SSC SSC1 dhcp -Q -o 2
- - ['R SSC1 NC +DHCP:STA,STARTED C +DHCP:AP,STARTED']
- - - SSC SSC1 dhcp -E -o 3
- - ['R SSC1 C +DHCP:AP,OK C +DHCP:STA,OK']
- - - SSC SSC1 dhcp -Q -o 3
- - ['R SSC1 C +DHCP:STA,STOPPED C +DHCP:AP,STOPPED']
+ - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 igmp -J -h <target_ap_ip> -m 223.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -J -h <target_ap_ip> -m 240.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -J -h 192.168.237.77 -m 224.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -J -h 192.168.237.77 -m 240.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.STA&AP STARTED
-
- 4.STA STARTED
+ expected result: '1. success
- 5.AP STARTED
+ 2. failed
- 6.OK
+ 3. failed
- 7.STA&AP STOPPED'
- initial condition: STAM1
- initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
- TC with initial condition STAAP1
+ 4. failed'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
module: TCPIP
- steps: '1.target1 设置mode 为sta+softAP mode
-
- 2.target1 打开DHCP 3
-
- 3.target1 查询DHCP 状态
-
- 4.target1 查询sta DHCP 状态
+ steps: '1. join group with correct host addr and multicast addr
- 5.target1 查询softAP DHCP 状态
+ 2. join group with correct host addr and wrong multicast addr
- 6.target1 关闭 DHCP 3
+ 3. join group with wrong host addr and correct multicast addr
- 7.target1 查询 DHCP 状态'
- sub module: DHCP
- summary: dhcp status query
+ 4. join group with wrong host addr and wrong multicast addr'
+ sub module: IGMP
+ summary: softAP IGMP join group address check
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DHCP client function test
+ test point 2: IGMP API parameter check
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DHCP_0102
+ ID: TCPIP_IGMP_0104
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['']
- - - DELAY 20
- - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.2
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -L -h 192.168.237.77 -m 224.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -L -h 192.168.237.77 -m 240.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
comment: ''
execution time: 0.0
- expected result: "1.target1 set AP OK \n2.target1 关闭DHCP OK\n3.target2 jap target\
- \ 1,FAIL \n4.target1 打开DHCP OK\n5.target2 jap target 1,ok"
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
+ expected result: '1. success
+
+ 2. failed
+
+ 3. failed
+
+ 4. failed
+
+ 5. succeed'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
module: TCPIP
- steps: "1.target1 set AP OK \n2.target1 关闭DHCP OK\n3.target2 jap target 1,FAIL \n\
- 4.target1 打开DHCP OK\n5.target2 jap target 1,ok"
- sub module: DHCP
- summary: dhcp server function test
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ steps: '1. join group with correct host addr and multicast addr
+
+ 2. leave group with correct host addr and wrong multicast addr
+
+ 3. leave group with wrong host addr and correct multicast addr
+
+ 4. leave group with wrong host addr and wrong multicast addr
+
+ 5. leave group with correct host addr and correct multicast addr'
+ sub module: IGMP
+ summary: softAP IGMP leave group address check
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DHCP client function test
+ test point 2: IGMP API parameter check
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0303
+ ID: TCPIP_IGMP_0201
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+ - - SOC SOC1 BIND <test_udp_port1>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
- - - SSC SSC1 op -S -o 2
- - ['P SSC1 C +MODE:OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:(\d+),OK']
+ - - SOC SOC1 SENDTO 1 <test_udp_port1> 224.1.1.1
+ - [R SSC1 SL <sock1>+1]
+ - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: '1. succeed
- 2.OK
+ 2. succeed
- 3.OK
+ 3. able to recv packet'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
+ module: TCPIP
+ steps: '1. join group
- 4.OK
+ 2. create UDP socket using multicast addr
- 5.ERROR'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: TCPIP
- steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
- \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
- 4.修改8266的Mode为softAP mode \n5.8266往PC上发送5字节数据"
- sub module: UDP
- summary: do UDP send after mode changed
+ 3. PC send UDP packet to multicast addr'
+ sub module: IGMP
+ summary: station IGMP recv packets
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: UDP handling abnormal event
+ test point 1: basic function
+ test point 2: IGMP send/recv test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_SCAN_0103
+ ID: TCPIP_IGMP_0202
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:']
- - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -n 6
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -S -n 5
- - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
- - - SSC SSC2 sta -S -n 6
- - ['R SSC2 C +SCAN:', R SSC2 P <target_tmp_ssid>]
+ - - SSC SSC2 op -S -o 1
+ - ['R SSC2 C +MODE:OK']
+ - - SSC SSC2 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+ - - SSC SSC2 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC2 A <sock2>:\+BIND:(\d+),OK']
+ - - SSC SSC2 soc -S -s <sock2> -i 224.1.1.1 -p <test_udp_port1> -l 10
+ - [R SSC1 SL <sock1>+1]
+ - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
comment: ''
execution time: 0.0
- expected result: '1.target1 QAP
+ expected result: '1. succeed
- 2. target1 set AP,set channel 6
+ 2. succeed
- 3.target2 上scan不到 channel 5
+ 3. succeed
- 4.target2 上查询channel 6的<target_tmp_ssid>'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
- module: WIFI MAC
- steps: '1.target1 断开连接AP
+ 4. target1 recv multicast packet'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
+ module: TCPIP
+ steps: '1. target2 set to sta mode and join AP
- 2.target1下设置ssid 和pwd 加密方式,set channel 6
+ 2. target1 join group and create UDP socket using multicast addr
- 3.target2 上scan channel 5
+ 3. target2 create UDP socket
- 4.target2 上查询channel 6的<target_tmp_ssid>'
- sub module: WIFI Scan
- summary: scan with scan config channel
+ 4. target2 send to multicast addr'
+ sub module: IGMP
+ summary: station send multicast packets
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: scan with different config
+ test point 2: IGMP send/recv test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_SCAN_0102
+ ID: TCPIP_IGMP_0203
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC2 sta -S -b ff:ff:ff:ff:ff:11
- - ['R SSC2 NC +SCAN: C +SCANDONE']
- - - SSC SSC2 sta -S -b <target_ap_mac>
- - ['R SSC2 RE "\+SCAN:.+,%%s"%%(<target_ap_mac>)', 'R SSC2 NC +SCAN: C +SCANDONE']
+ - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
+ - [R SOC_COM L OK]
+ - - SOC SOC1 SENDTO 1 <test_udp_port1> 224.1.1.1
+ - [R SSC1 SL <sock1>+1]
+ - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
comment: ''
execution time: 0.0
- expected result: '1.target2 上不能查询到此mac
+ expected result: '1. succeed
- 2.target2上查询到<target_ap_mac>'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
- module: WIFI MAC
- steps: '1.target2 上查询此macff:ff:ff:ff:ff:11
+ 2. succeed
- 2.target2上查询<target_ap_mac>'
- sub module: WIFI Scan
- summary: scan with scan config bssid
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 3. able to recv packet'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
+ module: TCPIP
+ steps: '1. join group
+
+ 2. create UDP socket using multicast addr
+
+ 3. PC send UDP packet to multicast addr'
+ sub module: IGMP
+ summary: softAP IGMP recv packets
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: scan with different config
+ test point 2: IGMP send/recv test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_SCAN_0101
+ ID: TCPIP_IGMP_0204
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC2 sta -S -s .,juhg123
- - ['R SSC2 NC +SCAN: C +SCANDONE']
- - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -S -s <target_tmp_ssid>
- - ['R SSC2 C +SCAN:', R SSC2 P <target_tmp_ssid>, 'R SSC2 NC +SCAN: C +SCANDONE']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+ - - SSC SSC2 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC2 A <sock2>:\+BIND:(\d+),OK']
+ - - SSC SSC2 soc -S -s <sock2> -i 224.1.1.1 -p <test_udp_port1> -l 10
+ - [R SSC1 SL <sock1>+1]
+ - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
comment: ''
execution time: 0.0
- expected result: '1.target 2上不能scan .,juhg123
+ expected result: '1. succeed
- 2.target1 set AP
+ 2. succeed
- 3.target2上查询到<target_tmp_ssid>'
+ 3. succeed
+
+ 4. target1 recv multicast packet'
initial condition: T2_1
initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
autogen a TC with initial condition T2_2
- module: WIFI MAC
- steps: '1.target 2 scan .,juhg123
+ level: Integration
+ module: TCPIP
+ steps: '1. target2 join SoftAP
- 2.target1下设置ssid 和pwd 加密方式
+ 2. target1 join group and create UDP socket using multicast addr
- 3.target2 scan <target_tmp_ssid>'
- sub module: WIFI Scan
- summary: scan with scan config ssid
+ 3. target2 create UDP socket
+
+ 4. target2 send to multicast addr'
+ sub module: IGMP
+ summary: softAP send multicast packets
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: scan with different config
+ test point 2: IGMP send/recv test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_SCAN_0105
+ ID: TCPIP_IP_0101
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:']
- - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -h 0 -n 11
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -S -s <target_tmp_ssid> -b <target_ap_mac> -n 11
- - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
- - - SSC SSC2 sta -S -s <target_ssid> -b <target_ap_mac> -n 11
- - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
- - - SSC SSC2 sta -S -s <target_tmp_ssid> -b ff:ff:ff:ff:ff:11 -n 11
- - [R SSC2 P <target_tmp_ssid>, R SSC2 NP <target_tmp_ssid> C +SCANDONE]
- - - SSC SSC2 sta -S -s <target_tmp_ssid> -b <target_ap_mac> -n 10
- - [R SSC2 P <target_tmp_ssid>, R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+ - - SSC SSC1 dhcp -S -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -S -o 1 -i 192.168.123.123
+ - ['R SSC1 C +IP:ERROR']
+ - - SSC SSC1 dhcp -E -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -S -o 1 -i 192.168.123.123
+ - ['R SSC1 C +IP:OK']
+ - - SSC SSC1 ip -Q -o 1
+ - ['R SSC1 C +STAIP:192.168.123.123']
comment: ''
execution time: 0.0
- expected result: '1.target1 QAP
-
- 2. target1 set AP,set ssid broad cast,set channel 11
-
- 3.target2 上查询到<target_tmp_ssid>
+ expected result: '1.OK
- 4.target2 上查询不到<target_tmp_ssid>
+ 2.ERROR
- 5.target2 上查询不到<target_tmp_ssid>
+ 3.OK
- 6.target2 上查询不到<target_tmp_ssid>'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
- module: WIFI MAC
- steps: '1.target1 QAP
+ 4.OK
- 2. target1 set AP,set ssid broad cast,set channel 11
+ 5.STAIP:192.168.123.123'
+ initial condition: STAM1
+ initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+ TC with initial condition STAAP1
+ level: Integration
+ module: TCPIP
+ steps: '1.target1 打开DHCP 1
- 3.target2 上查询到<target_tmp_ssid>
+ 2.target1 设置sta ip 192.168.123.123
- 4.target2 上查询不到<target_tmp_ssid>
+ 4.target1 关闭DHCP 1
- 5.target2 上查询不到<target_tmp_ssid>
+ 5.target1 设置sta ip 192.168.123.123
- 6.target2 上查询不到<target_tmp_ssid>'
- sub module: WIFI Scan
- summary: scan with several configs
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 6.target1 查询 当前sta ip '
+ sub module: IP
+ summary: sta set and query static ip test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: scan with different config
+ test point 2: set and query static IP
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_SCAN_0104
+ ID: TCPIP_IP_0102
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -h 0
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -S -h 0
- - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
- - - SSC SSC2 sta -S -h 1
- - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
- - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -h 1
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -S -h 0
- - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
- - - SSC SSC2 sta -S -h 1
- - [R SSC2 P <target_ap_mac> C +SCANDONE]
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 ip -S -o 2 -i 192.168.123.123
+ - ['R SSC1 C +IP:ERROR']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 ip -S -o 2 -i 192.168.123.123
+ - ['R SSC1 C +IP:OK']
+ - - SSC SSC1 ip -Q -o 2
+ - ['R SSC1 C +APIP:192.168.123.123']
+ - - SSC SSC1 ip -S -o 2 -i <target_ap_ip>
+ - ['R SSC1 C +IP:OK']
comment: ''
execution time: 0.0
- expected result: '1.target1 set AP,set ssid broad cast
-
- 2.target 2上scan <target_tmp_ssid>
-
- 3.target 2上scan <target_tmp_ssid>
-
- 4.target1 set AP,set ssid hidden,
-
- 5.target 2上不能查询到 <target_tmp_ssid>
-
- 6.target 2上查询到<target_ap_mac>'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
- module: WIFI MAC
- steps: '1.target1下设置ssid 和pwd 加密方式,set ssid broad cast
+ expected result: '1.OK
- 2.target 2上scan <target_tmp_ssid>
+ 2.ERROR
- 3.target 2上scan <target_tmp_ssid>
+ 3.OK
- 4.target1下设置ssid 和pwd 加密方式,set ssid hidden,
+ 4.OK
- 5.target 2上查询 <target_tmp_ssid>
+ 5.APIP:192.168.123.123
- 6.target 2上查询<target_ap_mac>'
- sub module: WIFI Scan
- summary: scan with scan config show hidden
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 6.OK'
+ initial condition: APM1
+ initial condition description (auto): AP mode, DHCP on, will autogen a TC with initial
+ condition APSTA1
+ level: Integration
+ module: TCPIP
+ steps: "1.target1 打开DHCP 2\n2.target1 设置softAP ip 192.168.123.123\n4.target1 关闭DHCP\
+ \ 2\n5.target1 设置softAP ip 192.168.123.123\n6.target1 查询 当前sta ip \n7.target1\
+ \ 设置softAP ip 为target_ap_ip"
+ sub module: IP
+ summary: ap set and query static ip test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: scan with different config
+ test point 2: set and query static IP
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0302
+ ID: TCPIP_TCP_0101
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [SOCR SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
- - - SSC SSC1 sta -D
- - ['P SSC1 C +QAP:OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,OK', P SOC1 C +ACCEPT]
+ - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i 123.456.678.789 -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port2>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK
+ 3.OK; PC TCP server accept 成功
4.OK
- 5.OK'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 5.ERROR
+
+ 6.ERROR'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 2.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
- 3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
- 4.断开与AP 连接
+ 4.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
- 5.关闭建立的socket1连接'
- sub module: UDP
- summary: "close UDP socket after WIFI \ndisconnected"
+ 5.target1上使用步骤4创建的socket,去连接不存在的ip,test_tcp_port1
+
+ 6.target1上使用步骤2创建的socket,去连接 PC的ip,远端端口不存在。'
+ sub module: TCP
+ summary: STA mode, connect test. use different ip, port
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: UDP handling abnormal event
+ test point 1: basic function
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0301
+ ID: TCPIP_TCP_0102
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -i <target_ip> -p <test_udp_port1>
+ - - SSC SSC1 soc -B -t TCP -p <random_port>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
- - - SSC SSC1 sta -D
- - ['P SSC1 C +QAP:OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:\d+,ERROR']
+ - - SSC SSC1 soc -L -s <sock1>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SOC SOC1 CONNECT <random_port> <target_ip>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK]
+ - - SOC SOC1 CONNECT <test_tcp_port2> <target_ip>
+ - [P SOC_COM C ERROR, P SSC1 NC ACCEPT]
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK
-
- 4.OK
+ 3.PC TCP client accept
- 5.ERROR'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 4.error'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
-
- 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ steps: '1.target1上创建TCP socket,bind到本地端口<random_port>
- 3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据
+ 2.target1上使用步骤1创建的socket,创建TCP 监听
- 4.断开与AP 连接
+ 3.PC TCP 连接到target1 <random_port>,<target_ip>
- 5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据'
- sub module: UDP
- summary: do UDP send after WIFI disconnected
+ 4.PC tcp 连接到不存在的port ,<target_ip>'
+ sub module: TCP
+ summary: STA mode, server listen test. use different kinds of port
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: UDP handling abnormal event
+ test point 1: basic function
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_CONN_0201
+ ID: TCPIP_TCP_0103
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- - - SSC SSC1 sta -Q
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:OK']
- - - SSC SSC1 sta -Q
- - ['R SSC1 C +JAP:DISCONNECTED']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SOC SOC2 SEND 5
+ - [R SSC1 SL <sock1>+5]
+ - - SSC SSC1 soc -S -s <sock1> -l 5
+ - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 5]
+ - - SOC SOC2 SEND 146000
+ - [R SSC1 SL <sock1>+146000]
+ - - SSC SSC1 soc -S -s <sock1> -l 1460 -n 100
+ - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 146000]
comment: ''
execution time: 0.0
- expected result: '1.target1 jion AP 成功
+ expected result: '1.OK
- 2.查询JAP的状态
+ 2.OK
- 3.target1 断开AP
+ 3.OK,pc上回accept
- 4.查询target1 JAP 是DISCONN'
- initial condition: STAM1
- initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
- TC with initial condition STAAP1
- module: WIFI MAC
- steps: '1.target1 jion AP 成功
+ 4.OK
- 2.查询JAP的状态
+ 5.target收到5 byte
- 3.target1 断开AP
+ 6.PC收到5 byte
- 4.查询target1 JAP 是DISCONN'
- sub module: WIFI Connect
- summary: JAP query test
+ 7.target收到 146000 byte
+
+ 8.OK,PC 回SOC_RECV=SOC2,RECV_LEN=字节数'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
+ module: TCPIP
+ steps: '1. PC上建立TCP 监听 test_tcp_port1
+
+ 2.target1上创建TCP socket
+
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+ 4.PC与target1 创建好TCP 连接,有ACCEPT
+
+ 5.PC send 5 bytes to 8266
+
+ 6.8266 send 5 bytes to PC
+
+ 7. PC send 100 * 1460 data to 8266,
+
+ 8.8266 send 100 * 1460 to PC. '
+ sub module: TCP
+ summary: STA mode, send/recv basic test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: query JAP status
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DNS_0102
+ ID: TCPIP_TCP_0104
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 3/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -H -d iot.espressif.cn
- - ['R SSC1 A <ip_addr>:\+HOSTIP:OK,(.+)\r\n']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
- - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <ip_addr> -p 9001
- - ['R SSC1 RE \+CONNECT:\d+,OK']
- - - SSC SSC1 soc -S -s <sock1> -l 10
- - ['P SSC1 RE \+SEND:\d+,OK', P SSC1 SL <sock1>+10]
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock1> -h B
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock2> -h W
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock3> -h R
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK
+ 3.OK,pc tcp server accept OK
- 4.OK'
+ 4.OK
+
+ 5.OK
+
+ 6.OK,pc tcp server accept OK
+
+ 7.OK
+
+ 8.OK
+
+ 9.OK,pc tcp server accept OK
+
+ 10.OK'
initial condition: STAM2
initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1. get host name "espressif.cn"
+ steps: '1. PC上建立TCP 监听 test_tcp_port1
- 2. connect, send, recv1. get host name "espressif.cn"
+ 2.target1上创建TCP socket
- 2. connect, send, recv'
- sub module: DNS
- summary: TCP connect to iot.espressif.com
- test environment: SSC_T1_2
- test environment description (auto): 'Able to access WAN after connect to AP.
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+ 4.target1 shutdown socket1 B
+
+ 5.target1上创建TCP socket
+
+ 6.target1上使用步骤5创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+ 7.target1 shutdown socket2 W
+
+ 8.target1上创建TCP socket
+
+ 9.target1上使用步骤8创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+ 10.target1 shutdown socket3 R'
+ sub module: TCP
+ summary: STA mode, shutdown basic test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DNS function test
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DNS_0101
+ ID: TCPIP_TCP_0105
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 3/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -H -d iot.espressif.cn
- - ['R SSC1 C +HOSTIP:OK,115.29.202.58']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock1>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SOC SOC2 CONNECT <random_port> <target_ip>
+ - ['R SSC1 A <sock2>:ACCEPT:(\d+),\d+,.+,\d+']
+ - - SSC SSC1 soc -T -s <sock2>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock1>
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
- expected result: 1.OK
+ expected result: '1.OK
+
+ 2.OK
+
+ 3.OK
+
+ 4.OK
+
+ 5.OK
+
+ 6.OK
+
+ 7.target1关闭socket1
+
+ 8.target1关闭socket2
+
+ 9.OK
+
+ 10.OK,pc tcp server accept成功
+
+ 11.target1关闭socket1
+
+ 12.OK
+
+ 13.OK,pc tcp server accept成功
+
+ 14.OK
+
+ 15.target1关闭socket1'
initial condition: STAM2
initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: 1. get host name "espressif.cn"
- sub module: DNS
- summary: get host by name test
- test environment: SSC_T1_2
- test environment description (auto): 'Able to access WAN after connect to AP.
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1关闭socket1\n\
+ 4.target1上创建TCP socket 端口随机\n5.target1上使用步骤4创建的socket1,去监听\n6.PC CONNECT<random_port>,<target_ip>\
+ \ ,tcp 连接创建成功,创建socket2 \n7.target1关闭socket1\n8.target1关闭socket2\n\
+ 9.target1上创建TCP socket1\n10.target1上使用步骤10创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT\n\
+ 11.target1关闭socket1\n12.target1上创建TCP socket1\n13.target1上使用步骤13创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1,PC有ACCEPT\n14.target1shutdown socket1\n15.target1关闭socket1"
+ sub module: TCP
+ summary: STA mode, close for different types of TCP sockets test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DNS function test
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_PHY_0403
- SDK: ESP32_IDF
+ ID: TCPIP_TCP_0106
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 phy -S -o 1 -m n -b 40
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 phy -S -o 2 -m n -b 20
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC2 phy -S -o 1 -m n -b 20
- - ['R SSC2 C +PHY:OK']
- - - SSC SSC1 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
- - ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['']
- - - DELAY 10
- - ['P SSC1 NC +JAP:DISCONNECTED', 'P SSC2 C +JAP:CONNECTED']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock4>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock4> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock5>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock5> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
comment: ''
execution time: 0.0
- expected result: 3. SoftAP and STA in channel2, SoftAP 20M, STA 40M, STA not disconnected
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1. SoftAP 11n ht20, in channel1, ext AP 11n ht40, in channel2
+ expected result: '1.OK
- 2. STA connect to ext AP
+ 2.OK
- 3. AP get connected'
- sub module: Phy Mode
- summary: SoftAP ext AP in defferent channel, SoftAP 20M, ext AP 40M, STA connect
- to AP then Softap get connected
- test environment: SSC_T2_PhyMode
- test environment description (auto): '2 SSC target connect with PC by UART.
+ 3.OK,pc tcp server accept成功
- PC has one WiFi NIC support capture wlan packet using libpcap.
+ 4 OK
- Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+ 5.OK,pc tcp server accept成功
- Put 4 APs near SSC targets.'
- test point 1: basic function
- test point 2: STA+SoftAP initial channel test
- version: v1 (2015-8-15)
-- CI ready: 'Yes'
- ID: WIFI_CONN_0904
- SDK: '8266_NonOS
+ 6.OK
- 8266_RTOS
+ 7.OK,pc tcp server accept成功
- ESP32_IDF'
- Test App: SSC
- allow fail: ''
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3 -m 1
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <random_string> -p 1234567890
- - ['R SSC2 RE JAP:DISCONNECTED,\d+,204']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:OK']
- - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> <pc_ip_wifi>
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 RE JAP:DISCONNECTED,\d+,5']
- - - WIFI <pc_wifi_nic> DISCONN
- - [P PC_COM C OK, 'R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3 -m 1
- - ['P SSC1 C +SAP:OK', 'P SSC2 RE JAP:DISCONNECTED,\d+,4']
- comment: ''
- execution time: 0.0
- expected result: '1. succeed
+ 8 OK
- 2. disconnect event REASON_HANDSHAKE_TIMEOUT
+ 9.OK,pc tcp server accept成功
- 3. succeed
+ 10.OK
- 4. succeed
+ 11.OK,pc tcp server accept成功'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
+ module: TCPIP
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 5. disconnect event REASON_ASSOC_TOOMANY
+ 2.target1上创建TCP socket1
- 6. succeed, target2 connect succeed
+ 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
- 7. disconnect event REASON_ASSOC_EXPIRE'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
- module: WIFI MAC
- steps: '1. config target1 softap max sta allowed 1
+ 4.target1上创建TCP socket2
- 2. target2 connect to target1 with wrong password
+ 5.target1上使用步骤4创建的socket2,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
- 3. target2 disconnect
+ 6.target1上创建TCP socket3
- 4. PC WIFI NIC connect to target1
+ 7.target1上使用步骤6创建的socket3,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
- 5. target2 connect to target1 with correct password
+ 8.target1上创建TCP socket4
- 6. PC WIFI NIC disconnect
+ 9.target1上使用步骤8创建的socket4,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
- 7. reconfig softap'
- sub module: WIFI Connect
- summary: test wifi disconnect reason REASON_ASSOC_TOOMANY, REASON_HANDSHAKE_TIMEOUT,
- REASON_ASSOC_EXPIRE
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 10.target1上创建TCP socket5
+
+ 11.target1上使用步骤10创建的socket5,去连接 PC的ip,test_tcp_port1,PC有ACCEPT'
+ sub module: TCP
+ summary: STA mode, create max TCP sockets test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: wifi disconnect reason test
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_IP_0101
+ ID: TCPIP_TCP_0107
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 dhcp -S -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -S -o 1 -i 192.168.123.123
- - ['R SSC1 C +IP:ERROR']
- - - SSC SSC1 dhcp -E -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -S -o 1 -i 192.168.123.123
- - ['R SSC1 C +IP:OK']
- - - SSC SSC1 ip -Q -o 1
- - ['R SSC1 C +STAIP:192.168.123.123']
+ - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock1>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SOC SOC2 CONNECT <random_port> <target_ip>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC3 CONNECT <random_port> <target_ip>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC4 CONNECT <random_port> <target_ip>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC5 CONNECT <random_port> <target_ip>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC6 CONNECT <random_port> <target_ip>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.ERROR
-
- 3.OK
+ expected result: '1.+BIND:0,OK,0.0.0.0
- 4.OK
+ 2.OK
- 5.STAIP:192.168.123.123'
- initial condition: STAM1
- initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
- TC with initial condition STAAP1
- module: TCPIP
- steps: '1.target1 打开DHCP 1
+ 3.OK,pc tcp server accept成功
- 2.target1 设置sta ip 192.168.123.123
+ 4.OK,pc tcp server accept成功
- 4.target1 关闭DHCP 1
+ 5.OK,pc tcp server accept成功
- 5.target1 设置sta ip 192.168.123.123
+ 6.OK,pc tcp server accept成功
- 6.target1 查询 当前sta ip '
- sub module: IP
- summary: sta set and query static ip test
+ 7.OK,pc tcp server accept成功'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
+ module: TCPIP
+ steps: "1.target1上创建TCP socket 端口随机\n2.target1上使用步骤4创建的socket1,去监听\n3.PC CONNECT<random_port>,<target_ip>\
+ \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket3\
+ \ \n5.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT<random_port>,<target_ip>\
+ \ ,tcp 连接创建成功,创建socket5 \n7.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket6\
+ \ "
+ sub module: TCP
+ summary: STA mode, accept max TCP client by server test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: set and query static IP
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_IP_0102
+ ID: TCPIP_TCP_0110
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 ip -S -o 2 -i 192.168.123.123
- - ['R SSC1 C +IP:ERROR']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 ip -S -o 2 -i 192.168.123.123
- - ['R SSC1 C +IP:OK']
- - - SSC SSC1 ip -Q -o 2
- - ['R SSC1 C +APIP:192.168.123.123']
- - - SSC SSC1 ip -S -o 2 -i <target_ap_ip>
- - ['R SSC1 C +IP:OK']
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+ - [SOCR SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,OK', P SOC1 C +ACCEPT]
+ - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i 123.456.678.789 -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port2>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
comment: ''
execution time: 0.0
expected result: '1.OK
- 2.ERROR
+ 2.OK
- 3.OK
+ 3.OK; PC TCP server accept 成功
4.OK
- 5.APIP:192.168.123.123
+ 5.ERROR
- 6.OK'
- initial condition: APM1
- initial condition description (auto): AP mode, DHCP on, will autogen a TC with initial
- condition APSTA1
+ 6.ERROR'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
module: TCPIP
- steps: "1.target1 打开DHCP 2\n2.target1 设置softAP ip 192.168.123.123\n4.target1 关闭DHCP\
- \ 2\n5.target1 设置softAP ip 192.168.123.123\n6.target1 查询 当前sta ip \n7.target1\
- \ 设置softAP ip 为target_ap_ip"
- sub module: IP
- summary: ap set and query static ip test
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+ 2.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+ 4.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+
+ 5.target1上使用步骤4创建的socket,去连接不存在的ip,test_tcp_port1
+
+ 6.target1上使用步骤2创建的socket,去连接 PC的ip,远端端口不存在。'
+ sub module: TCP
+ summary: AP mode, connect test. use different ip, port
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: set and query static IP
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_CONN_0201
+ ID: TCPIP_TCP_0111
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- - - SSC SSC1 sta -Q
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:OK']
- - - SSC SSC1 sta -Q
- - ['R SSC1 C +JAP:DISCONNECTED']
+ - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock1>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SOC SOC1 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK]
+ - - SOC SOC1 CONNECT <test_tcp_port2> <target_ap_ip> 0 <pc_ip_wifi>
+ - [P SOC_COM C ERROR, P SSC1 NC ACCEPT]
comment: ''
execution time: 0.0
- expected result: '1.target1 jion AP 成功
+ expected result: '1.OK
- 2.查询JAP的状态
+ 2.OK
- 3.target1 断开AP
+ 3.PC TCP client accept
- 4.查询target1 JAP 是DISCONN'
- initial condition: STAAP1
- initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
- by STAM1)
- module: WIFI MAC
- steps: '1.target1 jion AP 成功
+ 4.error'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
+ module: TCPIP
+ steps: '1.target1上创建TCP socket,bind到本地端口<random_port>
- 2.查询JAP的状态
+ 2.target1上使用步骤1创建的socket,创建TCP 监听
- 3.target1 断开AP
+ 3.PC TCP 连接到target1 <random_port>,<target_ip>
- 4.查询target1 JAP 是DISCONN'
- sub module: WIFI Connect
- summary: JAP query test
+ 4.PC tcp 连接到不存在的port ,<target_ip>'
+ sub module: TCP
+ summary: AP mode, server listen test. use different kinds of port
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: query JAP status
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_IGMP_0102
+ ID: TCPIP_TCP_0112
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.2
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -L -h 192.168.237.77 -m 224.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -L -h 192.168.237.77 -m 240.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SOC SOC2 SEND 5
+ - [R SSC1 SL <sock1>+5]
+ - - SSC SSC1 soc -S -s <sock1> -l 5
+ - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 5]
+ - - SOC SOC2 SEND 146000
+ - [R SSC1 SL <sock1>+146000]
+ - - SSC SSC1 soc -S -s <sock1> -l 1460 -n 100
+ - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 146000]
comment: ''
execution time: 0.0
- expected result: '1. success
+ expected result: '1.OK
- 2. failed
+ 2.OK
- 3. failed
+ 3.OK,pc tcp server accept成功
- 4. failed
+ 4.OK
- 5. succeed'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 5.target收到5byte数据
+
+ 6.PC收到5byte数据
+
+ 7.target收到146000 byte数据
+
+ 8.OK,PC 收到146000 byte数据'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
module: TCPIP
- steps: '1. join group with correct host addr and multicast addr
+ steps: '1. PC上建立TCP 监听 test_tcp_port1
- 2. leave group with correct host addr and wrong multicast addr
+ 2.target1上创建TCP socket
- 3. leave group with wrong host addr and correct multicast addr
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
- 4. leave group with wrong host addr and wrong multicast addr
+ 4.PC与target1 创建好TCP 连接,有ACCEPT
- 5. leave group with correct host addr and correct multicast addr'
- sub module: IGMP
- summary: station IGMP leave group address check
+ 5.PC send 5 bytes to 8266
+
+ 6.8266 send 5 bytes to PC
+
+ 7. PC send 100 * 1460 data to 8266,
+
+ 8.8266 send 100 * 1460 to PC. '
+ sub module: TCP
+ summary: AP mode, send/recv basic test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: IGMP API parameter check
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_IGMP_0101
+ ID: TCPIP_TCP_0113
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 igmp -J -h <target_ip> -m 223.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -J -h <target_ip> -m 240.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -J -h 192.168.237.77 -m 224.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -J -h 192.168.237.77 -m 240.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock1> -h B
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock2> -h W
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock3> -h R
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
comment: ''
execution time: 0.0
- expected result: '1. success
+ expected result: '1.OK
- 2. failed
+ 2.OK
- 3. failed
+ 3.OK,pc tcp server accept成功
- 4. failed'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 4.OK
+
+ 5.OK
+
+ 6.OK,pc tcp server accept成功
+
+ 7.OK
+
+ 8.OK
+
+ 9.OK,pc tcp server accept成功
+
+ 10.OK'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
module: TCPIP
- steps: '1. join group with correct host addr and multicast addr
+ steps: '1. PC上建立TCP 监听 test_tcp_port1
- 2. join group with correct host addr and wrong multicast addr
+ 2.target1上创建TCP socket
- 3. join group with wrong host addr and correct multicast addr
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
- 4. join group with wrong host addr and wrong multicast addr'
- sub module: IGMP
- summary: station IGMP join group address check
+ 4.target1 shutdown socket1 B
+
+ 5.target1上创建TCP socket
+
+ 6.target1上使用步骤5创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+ 7.target1 shutdown socket2 W
+
+ 8.target1上创建TCP socket
+
+ 9.target1上使用步骤8创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+ 10.target1 shutdown socket3 R'
+ sub module: TCP
+ summary: AP mode, shutdown basic test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: IGMP API parameter check
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_IGMP_0104
+ ID: TCPIP_TCP_0114
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.2
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -L -h 192.168.237.77 -m 224.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -L -h 192.168.237.77 -m 240.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock1>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+ - ['R SSC1 A <sock2>:ACCEPT:(\d+),\d+,.+,\d+']
+ - - SSC SSC1 soc -T -s <sock2>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock1>
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
- expected result: '1. success
+ expected result: '1.OK
- 2. failed
+ 2.OK
- 3. failed
+ 3.OK
- 4. failed
+ 4.OK
- 5. succeed'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
- module: TCPIP
- steps: '1. join group with correct host addr and multicast addr
+ 5.OK
- 2. leave group with correct host addr and wrong multicast addr
+ 6.OK,target1上accept 成功
- 3. leave group with wrong host addr and correct multicast addr
+ 7.target1关闭socket1
- 4. leave group with wrong host addr and wrong multicast addr
+ 8.target1关闭socket2
- 5. leave group with correct host addr and correct multicast addr'
- sub module: IGMP
- summary: softAP IGMP leave group address check
+ 9.OK
+
+ 10.OK,pc tcp server accept成功
+
+ 11.target1关闭socket1
+
+ 12.OK
+
+ 13.OK,pc tcp server accept成功
+
+ 14.OK
+
+ 15.target1关闭socket1'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
+ module: TCPIP
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1关闭socket1\n\
+ 4.target1上创建TCP socket 端口随机\n5.target1上使用步骤4创建的socket1,去监听\n6.PC CONNECT<random_port>,<target_ip>\
+ \ ,tcp 连接创建成功,创建socket2 \n7.target1关闭socket1\n8.target1关闭socket2\n\
+ 9.target1上创建TCP socket1\n10.target1上使用步骤10创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT\n\
+ 11.target1关闭socket1\n12.target1上创建TCP socket1\n13.target1上使用步骤13创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1,PC有ACCEPT\n14.target1shutdown socket1\n15.target1关闭socket1"
+ sub module: TCP
+ summary: AP mode, close for different types of TCP sockets test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: IGMP API parameter check
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0110
+ ID: TCPIP_TCP_0115
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1]
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1472
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472]
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1473
- - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM]
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1472 -n 10
- -j 20
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 14720]
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock4>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock4> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock5>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock5> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK
+ 3.OK,pc tcp server accept成功
- 4.OK
+ 4 OK
- 5.OK,没收到UDP包
+ 5.OK,pc tcp server accept成功
- 6.OK'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
+ 6.OK
+
+ 7.OK,pc tcp server accept成功
+
+ 8 OK
+
+ 9.OK,pc tcp server accept成功
+
+ 10.OK
+
+ 11.OK,pc tcp server accept成功'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 2.target1上创建TCP socket1
- 3.target1ä¸\8a使ç\94¨æ¥éª¤2å\88\9b建ç\9a\84socket1ï¼\8cå¾\80pc_ipï¼\8ctest_tcp_port1ä¸\8aå\8f\91é\80\811å\97è\8a\82æ\95°æ\8d®
+ 3.target1ä¸\8a使ç\94¨æ¥éª¤2å\88\9b建ç\9a\84socket1ï¼\8cå\8e»è¿\9eæ\8e¥ PCç\9a\84ipï¼\8ctest_tcp_port1,PCæ\9c\89ACCEPT
- 4.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472字节数据
+ 4.target1上创建TCP socket2
- 5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1473字节数据
+ 5.target1上使用步骤4创建的socket2,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
- 6.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472*10字节数据'
- sub module: UDP
- summary: AP mode, sendto test with different length
+ 6.target1上创建TCP socket3
+
+ 7.target1上使用步骤6创建的socket3,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+ 8.target1上创建TCP socket4
+
+ 9.target1上使用步骤8创建的socket4,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+ 10.target1上创建TCP socket5
+
+ 11.target1上使用步骤10创建的socket5,去连接 PC的ip,test_tcp_port1,PC有ACCEPT'
+ sub module: TCP
+ summary: AP mode, create max TCP sockets test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_SCAN_0102
+ ID: TCPIP_TCP_0116
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC2 sta -S -b ff:ff:ff:ff:ff:11
- - ['R SSC2 NC +SCAN: C +SCANDONE']
- - - SSC SSC2 sta -S -b <target_ap_mac>
- - ['R SSC2 RE "\+SCAN:.+,%%s"%%(<target_ap_mac>)', 'R SSC2 NC +SCAN: C +SCANDONE']
+ - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock1>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC3 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC4 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC5 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC6 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
comment: ''
execution time: 0.0
- expected result: '1.target2 上不能查询到此mac
+ expected result: '1.+BIND:0,OK,0.0.0.0
- 2.target2上查询到<target_ap_mac>'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1.target2 上查询此macff:ff:ff:ff:ff:11
+ 2.OK
- 2.target2上查询<target_ap_mac>'
- sub module: WIFI Scan
- summary: scan with scan config bssid
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 3.OK,pc tcp server accept成功
+
+ 4.OK,pc tcp server accept成功
+
+ 5.OK,pc tcp server accept成功
+
+ 6.OK,pc tcp server accept成功
+
+ 7.OK,pc tcp server accept成功'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
+ module: TCPIP
+ steps: "1.target1上创建TCP socket 端口随机\n2.target1上使用步骤4创建的socket1,去监听\n3.PC CONNECT<random_port>,<target_ip>\
+ \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket3\
+ \ \n5.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT<random_port>,<target_ip>\
+ \ ,tcp 连接创建成功,创建socket5 \n7.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket6\
+ \ "
+ sub module: TCP
+ summary: AP mode, accept max TCP client by server test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: scan with different config
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_SCAN_0103
+ ID: TCPIP_TCP_0201
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:']
- - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -n 6
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -S -n 5
- - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
- - - SSC SSC2 sta -S -n 6
- - ['R SSC2 C +SCAN:', R SSC2 P <target_tmp_ssid>]
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [SOCR SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock2>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock3> -h B
+ - ['P SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
comment: ''
execution time: 0.0
- expected result: '1.target1 QAP
+ expected result: '1.ok
- 2. target1 set AP,set channel 6
+ 2.OK
- 3.target2 上scan不到 channel 5
+ 3.ERROR
- 4.target2 上查询channel 6的<target_tmp_ssid>'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1.target1 断开连接AP
+ 4.OK
- 2.target1下设置ssid 和pwd 加密方式,set channel 6
+ 5.OK
- 3.target2 上scan channel 5
+ 6.ERROR
- 4.target2 上查询channel 6的<target_tmp_ssid>'
- sub module: WIFI Scan
- summary: scan with scan config channel
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 7.OK
- PC has 1 WiFi NIC.
+ 8.OK
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: scan with different config
- version: v1 (2016-8-15)
-- CI ready: 'Yes'
- ID: ^WIFI_SCAN_0104
- SDK: '8266_NonOS
+ 9.OK
- 8266_RTOS
+ 10.OK
- ESP32_IDF'
- Test App: SSC
- allow fail: ''
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -h 0
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -S -h 0
- - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
- - - SSC SSC2 sta -S -h 1
- - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
- - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -h 1
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -S -h 0
- - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
- - - SSC SSC2 sta -S -h 1
- - [R SSC2 P <target_ap_mac> C +SCANDONE]
- comment: ''
- execution time: 0.0
- expected result: '1.target1 set AP,set ssid broad cast
+ 11.OK
- 2.target 2上scan <target_tmp_ssid>
+ 12.ERROR'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
+ module: TCPIP
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 3.target 2上scan <target_tmp_ssid>
+ 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
- 4.target1 set AP,set ssid hidden,
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,<test_udp_port1>
- 5.target 2上不能查询到 <target_tmp_ssid>
+ 4.target1上创建TCP socket
- 6.target 2上查询到<target_ap_mac>'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1.target1下设置ssid 和pwd 加密方式,set ssid broad cast
+ 5.target1上使用步骤4创建的socket,创建TCP 监听
- 2.target 2上scan <target_tmp_ssid>
+ 6.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
- 3.target 2上scan <target_tmp_ssid>
+ 7.target1上创建TCP socket
- 4.target1下设置ssid 和pwd 加密方式,set ssid hidden,
+ 8.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
- 5.target 2上查询 <target_tmp_ssid>
+ 9.target1上关闭步骤7创建的socket
- 6.target 2上查询<target_ap_mac>'
- sub module: WIFI Scan
- summary: scan with scan config show hidden
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 10.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+ 11.target1上关闭所有创建的socket
+
+ 12.target1上使用步骤2创建的socket,去连接 PC的ip,<test_tcp_port1>'
+ sub module: TCP
+ summary: STA mode, connect test. use socket in state that can't connect
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: scan with different config
+ test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_SCAN_0105
+ ID: TCPIP_TCP_0202
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:']
- - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -h 0 -n 11
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -S -s <target_tmp_ssid> -b <target_ap_mac> -n 11
- - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
- - - SSC SSC2 sta -S -s <target_ssid> -b <target_ap_mac> -n 11
- - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
- - - SSC SSC2 sta -S -s <target_tmp_ssid> -b ff:ff:ff:ff:ff:11 -n 11
- - [R SSC2 P <target_tmp_ssid>, R SSC2 NP <target_tmp_ssid> C +SCANDONE]
- - - SSC SSC2 sta -S -s <target_tmp_ssid> -b <target_ap_mac> -n 10
- - [R SSC2 P <target_tmp_ssid>, R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock1>
+ - ['R SSC1 RE LISTEN:\d+,ERROR']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -L -s <sock2>
+ - ['R SSC1 RE LISTEN:\d+,ERROR']
+ - - SSC SSC1 soc -D -s <sock2>
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -L -s <sock2>
+ - ['R SSC1 RE LISTEN:\d+,ERROR']
+ - - SSC SSC1 soc -L -s 1000
+ - ['R SSC1 RE LISTEN:\d+,ERROR']
comment: ''
execution time: 0.0
- expected result: '1.target1 QAP
+ expected result: '1.OK
- 2. target1 set AP,set ssid broad cast,set channel 11
+ 2.OK
- 3.target2 上查询到<target_tmp_ssid>
+ 3.ERROR
- 4.target2 上查询不到<target_tmp_ssid>
+ 4.OK
- 5.target2 上查询不到<target_tmp_ssid>
+ 5.OK
- 6.target2 上查询不到<target_tmp_ssid>'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1.target1 QAP
+ 6.ERROR
- 2. target1 set AP,set ssid broad cast,set channel 11
+ 7.OK
- 3.target2 上查询到<target_tmp_ssid>
+ 8.ERROR
- 4.target2 上查询不到<target_tmp_ssid>
+ 9.ERROR'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
+ module: TCPIP
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 5.target2 上查询不到<target_tmp_ssid>
+ 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
- 6.target2 上查询不到<target_tmp_ssid>'
- sub module: WIFI Scan
- summary: scan with several configs
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 3.target1上使用步骤2创建的socket,去建立TCP 监听
+
+ 4.target1上创建TCP socket
+
+ 5.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+ 6.target1上使用步骤4创建的socket,创建TCP 监听
+
+ 7.target1上shutdown 步骤4的socket
+
+ 8.target1上使用步骤4创建的socket,创建TCP 监听
+
+ 9.target1上使用不存在socket,创建TCP 监听'
+ sub module: TCP
+ summary: STA mode, server listen test. use socket in state that can't listen
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: scan with different config
+ test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_IGMP_0104
+ ID: TCPIP_TCP_0203
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.2
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -L -h 192.168.237.77 -m 224.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -L -h 192.168.237.77 -m 240.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock1>
+ - ['R SSC1 RE SEND:\d+,ERROR']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock2>
+ - ['R SSC1 RE SEND:\d+,ERROR']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock2>
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -S -s <sock2>
+ - ['R SSC1 RE SEND:\d+,ERROR']
+ - - SSC SSC1 soc -S -s 1000
+ - ['R SSC1 RE SEND:\d+,ERROR']
comment: ''
execution time: 0.0
- expected result: '1. success
+ expected result: '1.OK
- 2. failed
+ 2.OK
- 3. failed
+ 3.ERROR
- 4. failed
+ 4.OK
- 5. succeed'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
+ 5.ERROR
+
+ 6.OK
+
+ 7.OK
+
+ 8.ERROR
+
+ 9.ERROR'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1. join group with correct host addr and multicast addr
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2. leave group with correct host addr and wrong multicast addr
+ 2.target1上创建UDP传输socket1,<test_udp_port1>
- 3. leave group with wrong host addr and correct multicast addr
+ 3.target1上使用步骤2创建的socket1,去发送数据
- 4. leave group with wrong host addr and wrong multicast addr
+ 4.target1上创建TCP socket2
- 5. leave group with correct host addr and correct multicast addr'
- sub module: IGMP
- summary: softAP IGMP leave group address check
+ 5.target1上使用步骤4创建的socket2,去发送数据
+
+ 6.target1上使用步骤4创建的socket2,创建TCP连接,连接成功
+
+ 7.target1上shutdown 步骤4的socket2
+
+ 8.target1往socket2发送错误命令发送数据
+
+ 9.target1上不指定socket往上发送数据'
+ sub module: TCP
+ summary: send test. use socket in state that can't send
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: IGMP API parameter check
+ test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_IGMP_0103
+ ID: TCPIP_TCP_0204
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 igmp -J -h <target_ap_ip> -m 223.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -J -h <target_ap_ip> -m 240.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -J -h 192.168.237.77 -m 224.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -J -h 192.168.237.77 -m 240.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -W -s <sock1> -o 0
+ - ['R SSC1 RE WORKTHREAD:\d+,OK']
+ - - SOC SOC2 SEND 146000
+ - [P SOC_COM R *]
+ - - SSC SSC1 soc -W -s <sock1> -o 1
+ - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL <sock1>+2920]
comment: ''
execution time: 0.0
- expected result: '1. success
+ expected result: '1.OK
- 2. failed
+ 2.OK
- 3. failed
+ 3.OK,pc server accept OK
- 4. failed'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
+ 4.OK
+
+ 5.OK
+
+ 6.OK
+
+ 7.target收到146000 byte
+
+ '
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1. join group with correct host addr and multicast addr
+ steps: '1. PC上建立TCP 监听 test_tcp_port1
- 2. join group with correct host addr and wrong multicast addr
+ 2.target1上创建TCP socket
- 3. join group with wrong host addr and correct multicast addr
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
- 4. join group with wrong host addr and wrong multicast addr'
- sub module: IGMP
- summary: softAP IGMP join group address check
+ 4.PC与target1 创建好TCP 连接,有ACCEPT
+
+ 5.target上不进行recv
+
+ 6.PC send 100 * 1460 data to target,
+
+ 7.在target上开始recv'
+ sub module: TCP
+ summary: STA mode, recv buffer test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: IGMP API parameter check
+ test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_IGMP_0102
+ ID: TCPIP_TCP_0206
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.2
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -L -h 192.168.237.77 -m 224.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -L -h 192.168.237.77 -m 240.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP -i <target_ip>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP -i <target_ip>
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock2>
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock3>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SOC SOC2 CONNECT <random_port> <target_ip>
+ - ['R SSC1 A <sock4>:ACCEPT:(\d+),\d+,.+,\d+']
+ - - SSC SSC1 soc -I
+ - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>)',
+ 'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%(<sock2>)', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(<sock3>,<random_port>)',
+ 'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\d+"%%(<sock4>,<target_ip>,<random_port>,<pc_ip>)']
comment: ''
execution time: 0.0
- expected result: '1. success
+ expected result: '1.OK
- 2. failed
+ 2.OK
- 3. failed
+ 3.OK,pc tcp server accept成功
- 4. failed
+ 4.OK
- 5. succeed'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
- module: TCPIP
- steps: '1. join group with correct host addr and multicast addr
+ 5.OK
- 2. leave group with correct host addr and wrong multicast addr
+ 6.OK
- 3. leave group with wrong host addr and correct multicast addr
+ 7.OK
- 4. leave group with wrong host addr and wrong multicast addr
+ 8.OK
- 5. leave group with correct host addr and correct multicast addr'
- sub module: IGMP
- summary: station IGMP leave group address check
+ 9.PC OK, target1 +ACCEPT:3,2,<pc_ip>,port
+
+ 10.+SOCINFO:<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>
+
+ +SOCINFO:<sock2>,<target_ip>,<pc_ip>,<test_tcp_port1>
+
+ +SOCINFO:<sock3>,<random_port>
+
+ +SOCINFO:<sock4>,<target_ip>,<random_port>,<pc_ip>
+
+ +SOCINF0ALL'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
+ module: TCPIP
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1,本地ip target_ip\n3.target1上使用步骤2创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1,PC有ACCEPT\n4.target1上创建TCP socket2,本地ip target_ip\n5.target1上使用步骤4创建的socket2,去连接\
+ \ PC的ip,test_tcp_port1,PC有ACCEPT\n6.target1 shutdown socket2 \n7.target1上创建TCP\
+ \ socket3,本地端口random_port\n8.target1上使用步骤7创建的socket3,去监听\n9.PC CONNECT<random_port>,<target_ip>\
+ \ ,tcp 连接创建成功,创建socket4 \n10.target1 查询the socket information"
+ sub module: TCP
+ summary: STA mode, get active socket info test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: IGMP API parameter check
+ test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_IGMP_0101
+ ID: TCPIP_TCP_0207
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 igmp -J -h <target_ip> -m 223.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -J -h <target_ip> -m 240.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -J -h 192.168.237.77 -m 224.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -J -h 192.168.237.77 -m 240.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- comment: ''
- execution time: 0.0
- expected result: '1. success
-
- 2. failed
-
- 3. failed
-
- 4. failed'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
- module: TCPIP
- steps: '1. join group with correct host addr and multicast addr
-
- 2. join group with correct host addr and wrong multicast addr
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+ - [SOCR SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock2>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock3> -h B
+ - ['P SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
+ comment: ''
+ execution time: 0.0
+ expected result: '1.ok
- 3. join group with wrong host addr and correct multicast addr
+ 2 OK
- 4. join group with wrong host addr and wrong multicast addr'
- sub module: IGMP
- summary: station IGMP join group address check
+ 3.ERROR
+
+ 4.OK
+
+ 5.OK
+
+ 6.ERROR
+
+ 7.OK
+
+ 8.OK
+
+ 9.OK
+
+ 10.OK
+
+ 11.OK
+
+ 12.ERROR'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
+ module: TCPIP
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+ 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
+
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,<test_udp_port1>
+
+ 4.target1上创建TCP socket
+
+ 5.target1上使用步骤4创建的socket,创建TCP 监听
+
+ 6.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+ 7.target1上创建TCP socket
+
+ 8.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+ 9.target1上关闭步骤7创建的socket
+
+ 10.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+ 11.target1上关闭所有创建的socket
+
+ 12.target1上使用步骤2创建的socket,去连接 PC的ip,<test_tcp_port1>'
+ sub module: TCP
+ summary: AP mode, connect test. use socket in state that can't connect
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: IGMP API parameter check
+ test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0201
+ ID: TCPIP_TCP_0208
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- [R SOC_COM L OK]
- - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -W -s <sock1> -o 0
- - ['R SSC1 RE WORKTHREAD:\d+,OK']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
- - ['']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
- - ['']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
- - ['']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
- - ['']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
- - ['']
+ - - SSC SSC1 soc -L -s <sock1>
+ - ['R SSC1 RE LISTEN:\d+,ERROR']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -L -s <sock2>
+ - ['R SSC1 RE LISTEN:\d+,ERROR']
+ - - SSC SSC1 soc -D -s <sock2>
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -L -s <sock2>
+ - ['R SSC1 RE LISTEN:\d+,ERROR']
+ - - SSC SSC1 soc -L -s 1000
+ - ['R SSC1 RE LISTEN:\d+,ERROR']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK
+ 3.ERROR
- 4.PC OK
+ 4 OK
- 5.PC OK
+ 5.OK
- 6.PC OK
+ 6.ERROR
- 7.PC OK
+ 7.OK
- 8.PC OK SOC_CLOSE=SOC1'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 8.ERROR
+
+ 9.ERROR'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
- 3.target1上关闭工作线程
+ 3.target1上使用步骤2创建的socket,去建立TCP 监听
- 4.PC往8266上发送1472字节数据
+ 4.target1上创建TCP socket
- 5.PC往8266上发送1472字节数据
+ 5.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
- 6.PC往8266上发送1472字节数据
+ 6.target1上使用步骤4创建的socket,创建TCP 监听
- 7.PC往8266上发送1472字节数据
+ 7.target1上shutdown 步骤4的socket
- 8.PC往8266上发送1472字节数据'
- sub module: UDP
- summary: STA mode, recv buffer test
+ 8.target1上使用步骤4创建的socket,创建TCP 监听
+
+ 9.target1上使用不存在socket,创建TCP 监听'
+ sub module: TCP
+ summary: AP mode, server listen test. use socket in state that can't listen
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: use UDP SAP (socket/espconn API) in different state
+ test point 1: basic function
+ test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_ICMP_0101
+ ID: TCPIP_TCP_0210
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 ping -i <pc_ip>
- - ['R SSC1 C +PING:OK']
- - - SSC SSC1 ping -i <pc_ip> -c 2
- - ['R SSC1 C +PING:OK']
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -W -s <sock1> -o 0
+ - ['R SSC1 RE WORKTHREAD:\d+,OK']
+ - - SOC SOC2 SEND 146000
+ - [P SOC_COM R *]
+ - - SSC SSC1 soc -W -s <sock1> -o 1
+ - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL <sock1>+2920]
comment: ''
execution time: 0.0
- expected result: '1.ok
+ expected result: '1.OK
- 2.ok'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 2.OK
+
+ 3.OK,pc tcp server accept成功
+
+ 4.OK
+
+ 6.OK
+
+ 7.收到 146000 数据
+
+ '
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
module: TCPIP
- steps: '1.ping -i <pc_ip>
+ steps: '1. PC上建立TCP 监听 test_tcp_port1
- 2.ping -i <pc_ip> -c 2'
- sub module: ICMP
- summary: ping function test
+ 2.target1上创建TCP socket
+
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+ 4.PC与target1 创建好TCP 连接,有ACCEPT
+
+ 5.target停止调用recv
+
+ 6.PC send 100 * 1460 data to 8266,
+
+ 7.target重新调用recv'
+ sub module: TCP
+ summary: AP mode, recv buffer test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: ping function test
+ test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_ADDR_0102
+ ID: TCPIP_TCP_0212
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 mac -S -o 2 -m 44:55:66:77:88:99
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
- - ['']
- - - SSC SSC2 sta -S -b 44:55:66:77:88:99
- - ['R SSC2 RE \+SCAN:.+,44:55:66:77:88:99,']
- - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC2 mac -Q -o 1
- - ['R SSC2 A <target2_mac_tmp>:\+STAMAC:(.+)\r\n']
- - - SSC SSC2 mac -S -o 1 -m 22:33:44:55:66:77
- - ['R SSC2 C +MAC:STA,OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['P SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 ap -L
- - ['R SSC1 C +LSTA:22:33:44:55:66:77']
- - - SSC SSC2 mac -S -o 1 -m <target2_mac>
- - ['R SSC2 C +MAC:STA,OK']
- comment: ''
- execution time: 0.0
- expected result: '1.OK
-
- 2.ok
-
- 3.ok
-
- 4.ok
-
- 5.ok
-
- 6.ok
-
- 7.ok
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP -i <target_ap_ip>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP -i <target_ap_ip>
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock2>
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock3>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+ - ['R SSC1 A <sock4>:ACCEPT:(\d+),\d+,.+,\d+']
+ - - SSC SSC1 soc -I
+ - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(<sock1>,<target_ap_ip>,<pc_ip_wifi>,<test_tcp_port1>)',
+ 'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%(<sock2>)', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(<sock3>,<random_port>)',
+ 'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\d+"%%(<sock4>,<target_ap_ip>,<random_port>,<pc_ip_wifi>)']
+ comment: ''
+ execution time: 0.0
+ expected result: '1.OK
- 8.ok
+ 2.OK
- 9.ok'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: "1.target1 设置sta mode下的mac 44:55:66:77:88:99\n2.target1下设置ssid 和pwd 加密方式\n\
- 3.target2 查询mac为44:55:66:77:88:99的ssid\n4.target1 设置sta mode下的mac target_ap_mac\n\
- 5.target2 查询sta mode 下的mac 为target2_mac_tmp\n6.target2 设置sta mode 下的mac 为22:33:44:55:66:77\n\
- 7.target2 jap target1\n8.target1 查询连接到的sta \n9.target2 设置sta mode 下的mac 为 target2_mac"
- sub module: MAC Address
- summary: set mac and do scan/JAP/SAP
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 3.OK,pc tcp server accept成功
- PC has 1 WiFi NIC.
+ 4.OK
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: mac address function test
- version: v1 (2016-8-15)
-- CI ready: 'Yes'
- ID: TCPIP_UDP_0108
- SDK: '8266_NonOS
+ 5.OK
- 8266_RTOS
+ 6.OK
- ESP32_IDF'
- Test App: SSC
- allow fail: ''
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port2>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 C BIND:ERROR']
- - - SSC SSC1 soc -B -t TCP -p <test_udp_port1>
- - ['R SSC1 RE BIND:(\d+),OK']
- comment: ''
- execution time: 0.0
- expected result: '1.OK
+ 7.OK
- 2.OK
+ 8.OK
- 3.ERROR
+ 9.PC OK, target1 +ACCEPT:3,2,<pc_ip>,port
- 4.OK'
+ 10.+SOCINFO:<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>
+
+ +SOCINFO:<sock2>,<target_ip>,<pc_ip>,<test_tcp_port1>
+
+ +SOCINFO:<sock3>,<random_port>
+
+ +SOCINFO:<sock4>,<target_ip>,<random_port>,<pc_ip>
+
+ +SOCINF0ALL'
initial condition: APM2
initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
a TC with initial condition APSTA2
+ level: Integration
module: TCPIP
- steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
-
- 2.target1上UDP传输,Bind socket2,本地ip 0.0.0.0 target_udp_port2
-
- 3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
-
- 4.target1上创建TCP socket3, target_udp_port1'
- sub module: UDP
- summary: AP mode, udp bind test. use different ip, port
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1,本地ip target_ip\n3.target1上使用步骤2创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1,PC有ACCEPT\n4.target1上创建TCP socket2,本地ip target_ip\n5.target1上使用步骤4创建的socket2,去连接\
+ \ PC的ip,test_tcp_port1,PC有ACCEPT\n6.target1 shutdown socket2 \n7.target1上创建TCP\
+ \ socket3,本地端口random_port\n8.target1上使用步骤7创建的socket3,去监听\n9.PC CONNECT<random_port>,<target_ip>\
+ \ ,tcp 连接创建成功,创建socket4 \n10.target1 查询the socket information"
+ sub module: TCP
+ summary: AP mode, get active socket info test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
+ test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0109
+ ID: TCPIP_TCP_0401
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
- - ['R SSC1 C +SAP:OK']
- - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
- <target_encryption>
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
+ - - SOC SOC1 LISTEN <test_tcp_port1>
- [R SOC_COM L OK]
- - - SSC SSC2 ip
- - ['R SSC2 A <ssc2_ip>:STAIP:(.+)\r\n']
- - - SSC SSC2 soc -B -t UDP -p <test_udp_port2>
- - ['R SSC2 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock2> -i <pc_ip_wifi> -p <test_udp_port1> -l 5
- - [R SOC1 UL 5]
- - - SSC SSC1 soc -S -s <sock2> -i <ssc2_ip> -p <test_udp_port2> -l 5
- - ['R SSC2 RE "RECVFROM:%%s,5,%%s,%%u"%%(<sock1>,<target_ap_ip>,<test_udp_port1>)']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 sta -D
+ - ['P SSC1 C +QAP:OK', 'P SSC1 RE CLOSED:\d+,0']
+ - - SSC SSC1 soc -S -s <sock1> -l 5
+ - ['P SSC1 RE SEND:\d+,ERROR']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK
+ 3.OK; PC TCP server accept 成功
4.OK
- 5.OK'
- initial condition: T2O_1
- initial condition description (auto): same as T2_1 but will NOT autogen a TC with
- initial condition T2_2
+ 5.OK
+
+ 6.ERROR'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
+ 2.target1上创建TCP socket1
- 3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
- 4.target1上使用步骤3创建的socket1,往pc_ip,test_tcp_port1上发送10字节数据
+ 4.PC与target1创建好TCP 连接,有ACCEPT
- 5.target1上使用步骤3创建的socket1,往pc_ip2,test_tcp_port2上发送10字节数据'
- sub module: UDP
- summary: AP mode, sendto test. use different ip, port
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 5.断开与AP 连接
+
+ 6.8266往PC上发送5字节数据'
+ sub module: TCP
+ summary: do TCP send after WIFI disconnected
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
+ 1 SSC target connect with PC by UART.'
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0106
+ ID: TCPIP_TCP_0402
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port2>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port3>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port4>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port5>
- - ['R SSC1 RE BIND:(\d+),OK']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 sta -D
+ - ['P SSC1 C +QAP:OK', 'P SSC1 RE CLOSED:\d+,0']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
- expected result: '1.ok
+ expected result: '1.OK
- 2.ok
+ 2.OK
- 3.ok
+ 3.OK; PC TCP server accept 成功
- 4.ok
+ 4.OK
- 5.ok'
+ 5.OK
+
+ 6.OK'
initial condition: STAM2
initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2.target1上UDP传输,Bind socket2,本地ip target_udp_port2
+ 2.target1上创建TCP socket1
- 3.target1上UDP传输,Bind socket3,本地ip target_udp_port3
+ 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
- 4.target1上UDP传输,Bind socket4,本地ip target_udp_port4
+ 4.PC与target1创建好TCP 连接,有ACCEPT
- 5.target1上UDP传输,Bind socket5,本地ip target_udp_port5'
- sub module: UDP
- summary: STA mode, create max udp socket test
+ 5.断开与AP 连接
+
+ 6.关闭建立的socket1连接'
+ sub module: TCP
+ summary: "close TCP socket after WIFI \ndisconnected"
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0107
+ ID: TCPIP_TCP_0403
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -I
- - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(<sock1>,<test_udp_port1>)']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 op -S -o 2
+ - ['P SSC1 C +MODE:OK', 'P SSC1 RE CLOSED:\d+,0']
+ - - SSC SSC1 soc -S -s <sock1> -l 5
+ - ['P SSC1 RE SEND:\d+,ERROR']
comment: ''
execution time: 0.0
expected result: '1.OK
- 2.OK'
+ 2.OK
+
+ 3.OK; PC TCP server accept 成功
+
+ 4.OK
+
+ 5.OK
+
+ 6.ERROR'
initial condition: STAM2
initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
-
- 2.target1上查询创建socket信息'
- sub module: UDP
- summary: STA mode, get active socket info test
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.修改8266的Mode为softAP mode\
+ \ \n6.8266往PC上发送5字节数据"
+ sub module: TCP
+ summary: do TCP send after mode changed
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0104
+ ID: TCPIP_TCP_0404
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - - SOC SOC1 LISTEN <test_tcp_port1>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SOC SOC1 SENDTO 1 <test_udp_port1> <target_ip>
- - [R SSC1 SL <sock1>+1]
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
- - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(<sock1>,<pc_ip>,<test_udp_port1>)']
- - - SOC SOC1 SENDTO 1473 <test_udp_port1> <target_ip>
- - [P SSC1 NC +RECVFROM, P SOC_COM C OK]
- - - SOC SOC2 BIND <test_udp_port2> <pc_ip2>
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
- [R SOC_COM L OK]
- - - SOC SOC2 SENDTO 1472 <test_udp_port1> <target_ip>
- - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(<sock1>,<pc_ip2>,<test_udp_port2>)']
+ - - SSC SSC1 op -S -o 2
+ - ['P SSC1 C +MODE:OK', 'P SSC1 RE CLOSED:\d+,0']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK
+ 3.OK; PC TCP server accept 成功
4.OK
- 5.OK,没收到UDP包
-
- 6.OK
+ 5.OK
- 7.OK'
+ 6.OK'
initial condition: STAM2
initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
-
- 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
-
- 3.PC往8266上发送1字节数据
-
- 4.PC往8266上发送1472字节数据
-
- 5.PC往8266上发送1473字节数据
-
- 6.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
-
- 7.PC往8266上发送1472字节数据'
- sub module: UDP
- summary: STA mode, recvfrom basic test
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.修改8266的Mode为softAP mode\
+ \ \n6.关闭建立的socket1连接"
+ sub module: TCP
+ summary: close TCP socket after mode changed
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0105
+ ID: TCPIP_TCP_0405
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - NIC <pc_nic> DISABLED
+ - [R PC_COM C OK]
+ - - SSC SSC1 soc -S -s <sock1> -l 1
+ - ['']
+ - - DELAY 5400
+ - ['P SSC1 RE CLOSED:\d+,0']
comment: ''
- execution time: 0.0
+ execution time: 1.5
expected result: '1.OK
- 2.OK'
+ 2.OK
+
+ 3.OK; PC TCP server accept 成功
+
+ 4.OK
+
+ 5.OK
+
+ 6.TCP连接断开'
initial condition: STAM2
initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2.关闭socket1'
- sub module: UDP
- summary: STA mode, close UDP sockets test
+ 2.target1上创建TCP socket1
+
+ 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+
+ 4.PC与target1创建好TCP 连接,有ACCEPT
+
+ 5.PC 网卡 disable
+
+ 6.target1上使用socket1发送数据,等待 90 分钟'
+ sub module: TCP
+ summary: do TCP send after PC NIC disabled
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0102
+ ID: TCPIP_TCP_0406
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - - SOC SOC2 BIND <test_udp_port2> <pc_ip2>
+ - - SOC SOC1 LISTEN <test_tcp_port1>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 10
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 10]
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip2> -p <test_udp_port2> -l 10
- - ['P SSC1 RE SEND:(\d+),OK', P SOC2 UL 10]
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - NIC <pc_nic> DISABLED
+ - [R PC_COM C OK]
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK
+ 3.OK; PC TCP server accept 成功
4.OK
- 5.OK'
+ 5.OK
+
+ 6.OK'
initial condition: STAM2
initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
-
- 2.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
-
- 3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
-
- 4.target1上使用步骤3创建的socket1,往pc_ip,test_tcp_port1上发送10字节数据
-
- 5.target1上使用步骤3创建的socket1,往pc_ip2,test_tcp_port2上发送10字节数据'
- sub module: UDP
- summary: STA mode, sendto test. use different ip, port
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.PC上网卡禁止掉 \n6.关闭建立的socket1连接"
+ sub module: TCP
+ summary: close TCP socket after PC NIC disabled
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0103
+ ID: TCPIP_TCP_0407
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - - SOC SOC1 LISTEN <test_tcp_port1>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1]
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1472
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472]
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1473
- - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM]
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1472 -n 10 -j 20
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 14720]
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 dhcp -E -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
+ - ['P SSC1 C +IP:OK', 'P SSC1 RE CLOSED:\d+,0']
+ - - SSC SSC1 ip -Q -o 1
+ - ['R SSC1 C +STAIP:192.168.111.210']
+ - - SSC SSC1 soc -S -s <sock1> -l 5
+ - ['P SSC1 RE SEND:\d+,ERROR']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK
+ 3.OK; PC TCP server accept 成功
4.OK
- 5.OK,没有到UDP包
+ 5.OK
- 6.OK'
+ 6.OK
+
+ 7.OK
+
+ 8.ERROR'
initial condition: STAM2
initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
-
- 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
-
- 3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1字节数据
-
- 4.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472字节数据
-
- 5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1473字节数据
-
- 6.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472*10字节数据'
- sub module: UDP
- summary: STA mode, sendto test with different length
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.关闭8266的DHCP 1\n6.设置sta\
+ \ ip \n7.查询sta ip 地址是否生效\n8.8266往PC上发送5字节数据"
+ sub module: TCP
+ summary: do TCP send after IP changed
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0101
+ ID: TCPIP_TCP_0408
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port2>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 C BIND:ERROR']
- - - SSC SSC1 soc -B -t TCP -p <test_udp_port1>
- - ['R SSC1 RE BIND:(\d+),OK']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 dhcp -E -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
+ - ['P SSC1 C +IP:OK', 'P SSC1 RE CLOSED:\d+,0']
+ - - SSC SSC1 ip -Q -o 1
+ - ['R SSC1 C +STAIP:192.168.111.210']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.ERROR
+ 3.OK; PC TCP server accept 成功
- 4.OK'
+ 4.OK
+
+ 5.OK
+
+ 6.OK
+
+ 7.OK
+
+ 8.OK'
initial condition: STAM2
initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
-
- 2.target1上UDP传输,Bind socket2,本地ip 0.0.0.0 target_udp_port2
-
- 3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
-
- 4.target1上创建TCP socket3, target_udp_port1'
- sub module: UDP
- summary: STA mode, udp bind test. use different ip, port
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.关闭8266的DHCP 1\n6.设置sta\
+ \ ip \n7.查询sta ip 地址是否生效\n8.关闭建立的socket1连接"
+ sub module: TCP
+ summary: close TCP socket after IP changed
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_IGMP_0204
+ ID: TCPIP_TCP_0411
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
- - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
- - - SSC SSC2 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC2 A <sock2>:\+BIND:(\d+),OK']
- - - SSC SSC2 soc -S -s <sock2> -i 224.1.1.1 -p <test_udp_port1> -l 10
- - [R SSC1 SL <sock1>+1]
- - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock2> -l 5
+ - ['P SSC1 RE SEND:\d+,ERROR']
+ - - SSC SSC1 soc -S -s <sock1> -l 5
+ - ['P SSC1 RE SEND:\d+,OK']
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.OK
- 2. succeed
+ 2.OK
- 3. succeed
+ 3.OK; PC TCP server accept 成功
- 4. target1 recv multicast packet'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
+ 4.OK
+
+ 5.OK
+
+ 6.ERROR
+
+ 7.OK'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1. target2 join SoftAP
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2. target1 join group and create UDP socket using multicast addr
+ 2.target1上创建TCP socket1
- 3. target2 create UDP socket
+ 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
- 4. target2 send to multicast addr'
- sub module: IGMP
- summary: softAP send multicast packets
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 4.PC与target1创建好TCP 连接,有ACCEPT
+
+ 5.target1上创建TCP socket2
+
+ 6.8266往PC socket2上发送5字节数据
+
+ 7.8266往PC socket1上发送5字节数据'
+ sub module: TCP
+ summary: do TCP send after socket changed
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: IGMP send/recv test
+ 1 SSC target connect with PC by UART.'
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_IGMP_0201
+ ID: TCPIP_TCP_0412
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
- - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
- - - SOC SOC1 BIND <test_udp_port1>
+ - - SOC SOC1 LISTEN <test_tcp_port1>
- [R SOC_COM L OK]
- - - SOC SOC1 SENDTO 1 <test_udp_port1> 224.1.1.1
- - [R SSC1 SL <sock1>+1]
- - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -T -s <sock2>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.OK
- 2. succeed
+ 2.OK
- 3. able to recv packet'
+ 3.OK; PC TCP server accept 成功
+
+ 4.OK
+
+ 5.OK
+
+ 6.OK
+
+ 7.OK'
initial condition: STAM2
initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1. join group
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2. create UDP socket using multicast addr
+ 2.target1上创建TCP socket1
- 3. PC send UDP packet to multicast addr'
- sub module: IGMP
- summary: station IGMP recv packets
+ 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+
+ 4.PC与target1创建好TCP 连接,有ACCEPT
+
+ 5.target1上创建TCP socket2
+
+ 6.关闭socket1 连接
+
+ 7.关闭socket2连接'
+ sub module: TCP
+ summary: close TCP send after socket changed
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: IGMP send/recv test
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_IGMP_0202
+ ID: TCPIP_UDP_0101
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC2 op -S -o 1
- - ['R SSC2 C +MODE:OK']
- - - SSC SSC2 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
- - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
- - - SSC SSC2 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC2 A <sock2>:\+BIND:(\d+),OK']
- - - SSC SSC2 soc -S -s <sock2> -i 224.1.1.1 -p <test_udp_port1> -l 10
- - [R SSC1 SL <sock1>+1]
- - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port2>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 C BIND:ERROR']
+ - - SSC SSC1 soc -B -t TCP -p <test_udp_port1>
+ - ['R SSC1 RE BIND:(\d+),OK']
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.OK
- 2. succeed
+ 2.OK
- 3. succeed
+ 3.ERROR
- 4. target1 recv multicast packet'
+ 4.OK'
initial condition: STAM2
initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1. target2 set to sta mode and join AP
+ steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 2. target1 join group and create UDP socket using multicast addr
+ 2.target1上UDP传输,Bind socket2,本地ip 0.0.0.0 target_udp_port2
- 3. target2 create UDP socket
+ 3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 4. target2 send to multicast addr'
- sub module: IGMP
- summary: station send multicast packets
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 4.target1上创建TCP socket3, target_udp_port1'
+ sub module: UDP
+ summary: STA mode, udp bind test. use different ip, port
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: IGMP send/recv test
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_IGMP_0203
+ ID: TCPIP_UDP_0102
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- [R SOC_COM L OK]
- - - SOC SOC1 SENDTO 1 <test_udp_port1> 224.1.1.1
- - [R SSC1 SL <sock1>+1]
- - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
+ - - SOC SOC2 BIND <test_udp_port2> <pc_ip2>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 10
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 10]
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip2> -p <test_udp_port2> -l 10
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC2 UL 10]
comment: ''
execution time: 0.0
- expected result: '1. succeed
-
- 2. succeed
+ expected result: '1.OK
- 3. able to recv packet'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
- module: TCPIP
- steps: '1. join group
+ 2.OK
- 2. create UDP socket using multicast addr
+ 3.OK
- 3. PC send UDP packet to multicast addr'
- sub module: IGMP
- summary: softAP IGMP recv packets
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 4.OK
- PC has 1 WiFi NIC.
-
- 1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: IGMP send/recv test
- version: v1 (2016-8-15)
-- CI ready: 'Yes'
- ID: WIFI_CONN_0401
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
- Test App: SSC
- allow fail: ''
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SSC SSC1 sta -R -a 0
- - ['R SSC1 C +AUTORECONN:OK']
- - - SSC SSC1 sta -R -a 2
- - ['R SSC1 C +AUTORECONN:0']
- - - SSC SSC1 reboot
- - ['']
- - - DELAY 15
- - ['']
- - - SSC SSC1 sta -Q
- - ['R SSC1 C JAP:DISCONNECTED']
- - - SSC SSC1 sta -R -a 1
- - ['R SSC1 C +AUTORECONN:OK']
- - - SSC SSC1 sta -R -a 2
- - ['R SSC1 C +AUTORECONN:1']
- - - SSC SSC1 reboot
- - ['R SSC1 C +JAP:CONNECTED']
- comment: ''
- execution time: 0.0
- expected result: '1.设置autoreconn,关闭
-
- 2.查询当前autoreconn状态是否关闭
-
- 3.重启系统,等待15s
-
- 4.查询target1 未自动重连AP
-
- 5.设置autoreconn,开启
-
- 6.查询当前autoreconn状态是否开启
-
- 7.系统重启后target1 自动重连AP'
+ 5.OK'
initial condition: STAM2
initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
TC with initial condition STAAP2
- module: WIFI MAC
- steps: '1.设置autoreconn,关闭
-
- 2.查询当前autoreconn状态是否关闭
-
- 3.重启系统,等待15s
+ level: Integration
+ module: TCPIP
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
- 4.查询target1 未自动重连AP
+ 2.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
- 5.设置autoreconn,开启
+ 3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 6.查询当前autoreconn状态是否开启
+ 4.target1上使用步骤3创建的socket1,往pc_ip,test_tcp_port1上发送10字节数据
- 7.系统重启后target1 自动重连AP'
- sub module: WIFI Connect
- summary: auto reconnect test
+ 5.target1上使用步骤3创建的socket1,往pc_ip2,test_tcp_port2上发送10字节数据'
+ sub module: UDP
+ summary: STA mode, sendto test. use different ip, port
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: power on auto reconnect test
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0404
+ ID: TCPIP_UDP_0103
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 op -S -o 2
- - ['P SSC1 C +MODE:OK', 'P SSC1 RE CLOSED:\d+,0']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1]
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1472
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472]
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1473
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM]
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1472 -n 10 -j 20
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 14720]
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK; PC TCP server accept 成功
+ 3.OK
4.OK
- 5.OK
+ 5.OK,没有到UDP包
6.OK'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
- \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.修改8266的Mode为softAP mode\
- \ \n6.关闭建立的socket1连接"
- sub module: TCP
- summary: close TCP socket after mode changed
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+ 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+ 3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1字节数据
+
+ 4.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472字节数据
+
+ 5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1473字节数据
+
+ 6.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472*10字节数据'
+ sub module: UDP
+ summary: STA mode, sendto test with different length
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ test point 1: basic function
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0405
+ ID: TCPIP_UDP_0104
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
+ - - SOC SOC1 SENDTO 1 <test_udp_port1> <target_ip>
+ - [R SSC1 SL <sock1>+1]
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+ - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(<sock1>,<pc_ip>,<test_udp_port1>)']
+ - - SOC SOC1 SENDTO 1473 <test_udp_port1> <target_ip>
+ - [P SSC1 NC +RECVFROM, P SOC_COM C OK]
+ - - SOC SOC2 BIND <test_udp_port2> <pc_ip2>
- [R SOC_COM L OK]
- - - NIC <pc_nic> DISABLED
- - [R PC_COM C OK]
- - - SSC SSC1 soc -S -s <sock1> -l 1
- - ['']
- - - DELAY 5400
- - ['P SSC1 RE CLOSED:\d+,0']
+ - - SOC SOC2 SENDTO 1472 <test_udp_port1> <target_ip>
+ - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(<sock1>,<pc_ip2>,<test_udp_port2>)']
comment: ''
- execution time: 1.5
+ execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK; PC TCP server accept 成功
+ 3.OK
4.OK
- 5.OK
+ 5.OK,没收到UDP包
- 6.TCP连接断开'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 6.OK
+
+ 7.OK'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
- 2.target1上创建TCP socket1
+ 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+ 3.PC往8266上发送1字节数据
- 4.PC与target1创建好TCP 连接,有ACCEPT
+ 4.PC往8266上发送1472字节数据
- 5.PC 网卡 disable
+ 5.PC往8266上发送1473字节数据
- 6.target1上使用socket1发送数据,等待 90 分钟'
- sub module: TCP
- summary: do TCP send after PC NIC disabled
+ 6.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
+
+ 7.PC往8266上发送1472字节数据'
+ sub module: UDP
+ summary: STA mode, recvfrom basic test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ test point 1: basic function
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0406
+ ID: TCPIP_UDP_0105
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - NIC <pc_nic> DISABLED
- - [R PC_COM C OK]
- - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
+ - ['R SSC1 RE CLOSE:\d+']
comment: ''
execution time: 0.0
expected result: '1.OK
- 2.OK
-
- 3.OK; PC TCP server accept 成功
-
- 4.OK
-
- 5.OK
-
- 6.OK'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 2.OK'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
- \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.PC上网卡禁止掉 \n6.关闭建立的socket1连接"
- sub module: TCP
- summary: close TCP socket after PC NIC disabled
+ steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+ 2.关闭socket1'
+ sub module: UDP
+ summary: STA mode, close UDP sockets test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ test point 1: basic function
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0407
+ ID: TCPIP_UDP_0106
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 dhcp -E -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
- - ['P SSC1 C +IP:OK', 'P SSC1 RE CLOSED:\d+,0']
- - - SSC SSC1 ip -Q -o 1
- - ['R SSC1 C +STAIP:192.168.111.210']
- - - SSC SSC1 soc -S -s <sock1> -l 5
- - ['P SSC1 RE SEND:\d+,ERROR']
- comment: ''
- execution time: 0.0
- expected result: '1.OK
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port2>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port3>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port4>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port5>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ comment: ''
+ execution time: 0.0
+ expected result: '1.ok
- 2.OK
+ 2.ok
- 3.OK; PC TCP server accept 成功
+ 3.ok
- 4.OK
+ 4.ok
- 5.OK
+ 5.ok'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
+ module: TCPIP
+ steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 6.OK
+ 2.target1上UDP传输,Bind socket2,本地ip target_udp_port2
- 7.OK
+ 3.target1上UDP传输,Bind socket3,本地ip target_udp_port3
- 8.ERROR'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
- \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.关闭8266的DHCP 1\n6.设置sta\
- \ ip \n7.查询sta ip 地址是否生效\n8.8266往PC上发送5字节数据"
- sub module: TCP
- summary: do TCP send after IP changed
+ 4.target1上UDP传输,Bind socket4,本地ip target_udp_port4
+
+ 5.target1上UDP传输,Bind socket5,本地ip target_udp_port5'
+ sub module: UDP
+ summary: STA mode, create max udp socket test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ test point 1: basic function
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0401
+ ID: TCPIP_UDP_0107
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 sta -D
- - ['P SSC1 C +QAP:OK', 'P SSC1 RE CLOSED:\d+,0']
- - - SSC SSC1 soc -S -s <sock1> -l 5
- - ['P SSC1 RE SEND:\d+,ERROR']
+ - - SSC SSC1 soc -I
+ - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(<sock1>,<test_udp_port1>)']
comment: ''
execution time: 0.0
expected result: '1.OK
- 2.OK
-
- 3.OK; PC TCP server accept 成功
-
- 4.OK
-
- 5.OK
-
- 6.ERROR'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 2.OK'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建TCP socket1
-
- 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
-
- 4.PC与target1创建好TCP 连接,有ACCEPT
-
- 5.断开与AP 连接
+ steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 6.8266往PC上发送5字节数据'
- sub module: TCP
- summary: do TCP send after WIFI disconnected
+ 2.target1上查询创建socket信息'
+ sub module: UDP
+ summary: STA mode, get active socket info test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ test point 1: basic function
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0402
+ ID: TCPIP_UDP_0108
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 sta -D
- - ['P SSC1 C +QAP:OK', 'P SSC1 RE CLOSED:\d+,0']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port2>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 C BIND:ERROR']
+ - - SSC SSC1 soc -B -t TCP -p <test_udp_port1>
+ - ['R SSC1 RE BIND:(\d+),OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK; PC TCP server accept 成功
-
- 4.OK
-
- 5.OK
+ 3.ERROR
- 6.OK'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 4.OK'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建TCP socket1
-
- 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+ steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 4.PC与target1创建好TCP 连接,有ACCEPT
+ 2.target1上UDP传输,Bind socket2,本地ip 0.0.0.0 target_udp_port2
- 5.断开与AP 连接
+ 3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 6.关闭建立的socket1连接'
- sub module: TCP
- summary: "close TCP socket after WIFI \ndisconnected"
+ 4.target1上创建TCP socket3, target_udp_port1'
+ sub module: UDP
+ summary: AP mode, udp bind test. use different ip, port
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ test point 1: basic function
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0403
+ ID: TCPIP_UDP_0109
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
- [R SOC_COM L OK]
- - - SSC SSC1 op -S -o 2
- - ['P SSC1 C +MODE:OK', 'P SSC1 RE CLOSED:\d+,0']
- - - SSC SSC1 soc -S -s <sock1> -l 5
- - ['P SSC1 RE SEND:\d+,ERROR']
+ - - SSC SSC2 ip
+ - ['R SSC2 A <ssc2_ip>:STAIP:(.+)\r\n']
+ - - SSC SSC2 soc -B -t UDP -p <test_udp_port2>
+ - ['R SSC2 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock2> -i <pc_ip_wifi> -p <test_udp_port1> -l 5
+ - [R SOC1 UL 5]
+ - - SSC SSC1 soc -S -s <sock2> -i <ssc2_ip> -p <test_udp_port2> -l 5
+ - ['R SSC2 RE "RECVFROM:%%s,5,%%s,%%u"%%(<sock1>,<target_ap_ip>,<test_udp_port1>)']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK; PC TCP server accept 成功
+ 3.OK
4.OK
- 5.OK
-
- 6.ERROR'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 5.OK'
+ initial condition: T2O_1
+ initial condition description (auto): same as T2_1 but will NOT autogen a TC with
+ initial condition T2_2
+ level: Integration
module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
- \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.修改8266的Mode为softAP mode\
- \ \n6.8266往PC上发送5字节数据"
- sub module: TCP
- summary: do TCP send after mode changed
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+ 2.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
+
+ 3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+ 4.target1上使用步骤3创建的socket1,往pc_ip,test_tcp_port1上发送10字节数据
+
+ 5.target1上使用步骤3创建的socket1,往pc_ip2,test_tcp_port2上发送10字节数据'
+ sub module: UDP
+ summary: AP mode, sendto test. use different ip, port
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ 2 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0408
+ ID: TCPIP_UDP_0110
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 dhcp -E -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
- - ['P SSC1 C +IP:OK', 'P SSC1 RE CLOSED:\d+,0']
- - - SSC SSC1 ip -Q -o 1
- - ['R SSC1 C +STAIP:192.168.111.210']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- comment: ''
- execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK; PC TCP server accept 成功
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1]
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1472
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472]
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1473
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM]
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1472 -n 10
+ -j 20
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 14720]
+ comment: ''
+ execution time: 0.0
+ expected result: '1.OK
- 4.OK
+ 2.OK
- 5.OK
+ 3.OK
- 6.OK
+ 4.OK
- 7.OK
+ 5.OK,没收到UDP包
- 8.OK'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 6.OK'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
- \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.关闭8266的DHCP 1\n6.设置sta\
- \ ip \n7.查询sta ip 地址是否生效\n8.关闭建立的socket1连接"
- sub module: TCP
- summary: close TCP socket after IP changed
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+ 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+ 3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1字节数据
+
+ 4.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472字节数据
+
+ 5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1473字节数据
+
+ 6.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472*10字节数据'
+ sub module: UDP
+ summary: AP mode, sendto test with different length
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ test point 1: basic function
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0201
+ ID: TCPIP_UDP_0111
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
- [R SOC_COM L OK]
+ - - SSC SSC2 ip
+ - ['R SSC2 A <ssc2_ip>:STAIP:(.+)\r\n']
+ - - SSC SSC2 soc -B -t UDP -p <test_udp_port2>
+ - ['R SSC2 A <sock1>:BIND:(\d+),OK']
- - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -W -s <sock1> -o 0
- - ['R SSC1 RE WORKTHREAD:\d+,OK']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
- - ['']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
- - ['']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
- - ['']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
- - ['']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
- - ['']
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SOC SOC1 SENDTO 5 <test_udp_port1> <target_ap_ip>
+ - ['R SSC1 RE "RECVFROM:%%s,5,%%s,%%u"%%(<sock2>,<pc_ip_wifi>,<test_udp_port1>)']
+ - - SSC SSC2 soc -S -s <sock1> -i <target_ap_ip> -p <test_udp_port1> -l 5
+ - ['R SSC1 RE "RECVFROM:%%s,5,%%s,%%u"%%(<sock2>,<ssc2_ip>,<test_udp_port2>)']
comment: ''
execution time: 0.0
expected result: '1.OK
3.OK
- 4.PC OK
-
- 5.PC OK
+ 4.OK
- 6.PC OK
+ 5.OK,没收到UDP包
- 7.PC OK
+ 6.OK
- 8.PC OK SOC_CLOSE=SOC1'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 7.OK'
+ initial condition: T2O_1
+ initial condition description (auto): same as T2_1 but will NOT autogen a TC with
+ initial condition T2_2
+ level: Integration
module: TCPIP
steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 3.target1上关闭工作线程
+ 3.PC往8266上发送1字节数据
4.PC往8266上发送1472字节数据
- 5.PC往8266上发送1472字节数据
-
- 6.PC往8266上发送1472字节数据
+ 5.PC往8266上发送1473字节数据
- 7.PC往8266上发送1472字节数据
+ 6.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
- 8.PC往8266上发送1472字节数据'
+ 7.PC往8266上发送1472字节数据'
sub module: UDP
- summary: STA mode, recv buffer test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ summary: AP mode, recvfrom basic test
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: use UDP SAP (socket/espconn API) in different state
+ 2 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0307
+ ID: TCPIP_UDP_0112
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
- - - SSC SSC1 dhcp -E -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
- - ['P SSC1 C +IP:OK']
- - - SSC SSC1 ip -Q -o 1
- - ['R SSC1 C +STAIP:192.168.111.210']
- - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
+ - ['R SSC1 RE CLOSE:\d+']
comment: ''
execution time: 0.0
expected result: '1.OK
- 2.OK
-
- 3.OK; PC TCP server accept 成功
-
- 4.OK
-
- 5.OK
-
- 6.OK
-
- 7.OK'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 2.OK'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
module: TCPIP
- steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
- \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
- 4.关闭8266的DHCP 1\n5.设置sta ip \n6.查询sta ip 地址是否生效\n7.关闭建立的socket1连接"
+ steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+ 2.关闭socket1'
sub module: UDP
- summary: close UDP socket after IP changed
+ summary: AP mode, close UDP sockets test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: UDP handling abnormal event
+ test point 1: basic function
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0306
+ ID: TCPIP_UDP_0113
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
- - - SSC SSC1 dhcp -E -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
- - ['P SSC1 C +IP:OK']
- - - SSC SSC1 ip -Q -o 1
- - ['R SSC1 C +STAIP:192.168.111.210']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1
- - ['P SSC1 RE SEND:\d+,OK']
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port2>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port3>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port4>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port5>
+ - ['R SSC1 RE BIND:(\d+),OK']
comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: '1.ok
- 2.OK
+ 2.ok
- 3.OK; PC TCP server accept 成功
+ 3.ok
- 4.OK
+ 4.ok
- 5.OK
+ 5.ok'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
+ module: TCPIP
+ steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 6.OK
+ 2.target1上UDP传输,Bind socket2,本地ip target_udp_port2
- 7.OK'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: TCPIP
- steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
- \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
- 4.关闭8266的DHCP 1\n5.设置sta ip \n6.查询sta ip 地址是否生效\n7.8266往PC上发送5字节数据"
+ 3.target1上UDP传输,Bind socket3,本地ip target_udp_port3
+
+ 4.target1上UDP传输,Bind socket4,本地ip target_udp_port4
+
+ 5.target1上UDP传输,Bind socket5,本地ip target_udp_port5'
sub module: UDP
- summary: do UDP send after IP changed
+ summary: AP mode, create max udp socket test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: UDP handling abnormal event
+ test point 1: basic function
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0305
+ ID: TCPIP_UDP_0114
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
- - - NIC <pc_nic> DISABLED
- - [R PC_COM C OK]
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -I
+ - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(<sock1>,<test_udp_port1>)']
comment: ''
execution time: 0.0
expected result: '1.OK
- 2.OK
-
- 3.OK
-
- 4.OK
+ 2.OK'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
+ module: TCPIP
+ steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 5.OK'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: TCPIP
- steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
- \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
- 4.PC上网卡禁止掉 \n5.关闭建立的socket1连接"
+ 2.target1上查询创建socket信息'
sub module: UDP
- summary: close UDP socket after PC NIC disabled
+ summary: AP mode, get active socket info test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: UDP handling abnormal event
+ test point 1: basic function
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0304
+ ID: TCPIP_UDP_0201
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- [R SOC_COM L OK]
- - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
- - - SSC SSC1 op -S -o 2
- - ['P SSC1 C +MODE:OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -W -s <sock1> -o 0
+ - ['R SSC1 RE WORKTHREAD:\d+,OK']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+ - ['']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+ - ['']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+ - ['']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+ - ['']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+ - ['']
comment: ''
execution time: 0.0
expected result: '1.OK
3.OK
- 4.OK
+ 4.PC OK
- 5.OK'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 5.PC OK
+
+ 6.PC OK
+
+ 7.PC OK
+
+ 8.PC OK SOC_CLOSE=SOC1'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
- \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
- 4.修改8266的Mode为softAP mode \n5.关闭建立的socket1连接"
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+ 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+ 3.target1上关闭工作线程
+
+ 4.PC往8266上发送1472字节数据
+
+ 5.PC往8266上发送1472字节数据
+
+ 6.PC往8266上发送1472字节数据
+
+ 7.PC往8266上发送1472字节数据
+
+ 8.PC往8266上发送1472字节数据'
sub module: UDP
- summary: close UDP socket after mode changed
+ summary: STA mode, recv buffer test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: abnormal/special use
- test point 2: UDP handling abnormal event
+ test point 2: use UDP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_CONN_0103
+ ID: TCPIP_UDP_0202
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -h
- 0
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -S -h 0
- - [R SSC2 P <target_ap_mac>, R SSC2 C +SCANDONE]
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -h
- 1
- - ['R SSC1 C +SAP:OK']
- - - DELAY 3
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -W -s <sock1> -o 0
+ - ['R SSC1 RE WORKTHREAD:\d+,OK']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
- ['']
- - - SSC SSC2 sta -S -h 0
- - [R SSC2 C +SCANDONE]
- - - DELAY 3
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+ - ['']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+ - ['']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+ - ['']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
- ['']
- - - SSC SSC2 sta -S -h 0
- - [R SSC2 NP <target_ap_mac> C +SCANDONE]
comment: ''
execution time: 0.0
- expected result: '1.target1 set AP,set ssid broad cast
+ expected result: '1.OK
- 2.target 2上scan target_ap_mac
+ 2.OK
- 3.target1 set AP,set ssid hidden,
+ 3.OK
- 4.target 2上不能scan target_ap_mac'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1. target1下设置ssid 和pwd 加密方式,set ssid broad cast
+ 4.PC OK
- 2.target 2上scan target_ap_mac
+ 5.PC OK
- 3. target1下设置ssid 和pwd 加密方式,set ssid hidden,
+ 6.PC OK
- 4.target 2上scan target_ap_mac'
- sub module: WIFI Connect
- summary: station SAP+JAP test, ssid hidden
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 7.PC OK
+
+ 8.PC OK SOC_CLOSE=SOC1'
+ initial condition: APM2
+ initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
+ a TC with initial condition APSTA2
+ level: Integration
+ module: TCPIP
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+ 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+ 3.target1上关闭工作线程
+
+ 4.PC往8266上发送1472字节数据
+
+ 5.PC往8266上发送1472字节数据
+
+ 6.PC往8266上发送1472字节数据
+
+ 7.PC往8266上发送1472字节数据
+
+ 8.PC往8266上发送1472字节数据'
+ sub module: UDP
+ summary: AP mode, recv buffer test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: SAP/JAP with different config
+ 1 SSC target connect with PC by UART.'
+ test point 1: abnormal/special use
+ test point 2: use UDP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0101
+ ID: TCPIP_UDP_0301
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [SOCR SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -i <target_ip> -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,OK', P SOC1 C +ACCEPT]
- - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i 123.456.678.789 -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port2>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+ - - SSC SSC1 sta -D
+ - ['P SSC1 C +QAP:OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:\d+,ERROR']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK; PC TCP server accept 成功
+ 3.OK
4.OK
- 5.ERROR
-
- 6.ERROR'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 5.ERROR'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+ 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 4.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+ 3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据
- 5.target1上使用步骤4创建的socket,去连接不存在的ip,test_tcp_port1
+ 4.断开与AP 连接
- 6.target1上使用步骤2创建的socket,去连接 PC的ip,远端端口不存在。'
- sub module: TCP
- summary: STA mode, connect test. use different ip, port
+ 5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据'
+ sub module: UDP
+ summary: do UDP send after WIFI disconnected
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 1: abnormal/special use
+ test point 2: UDP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0103
+ ID: TCPIP_UDP_0302
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SOC SOC2 SEND 5
- - [R SSC1 SL <sock1>+5]
- - - SSC SSC1 soc -S -s <sock1> -l 5
- - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 5]
- - - SOC SOC2 SEND 146000
- - [R SSC1 SL <sock1>+146000]
- - - SSC SSC1 soc -S -s <sock1> -l 1460 -n 100
- - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 146000]
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+ - - SSC SSC1 sta -D
+ - ['P SSC1 C +QAP:OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK,pc上回accept
+ 3.OK
4.OK
- 5.target收到5 byte
+ 5.OK
- 6.PC收到5 byte
+ '
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
+ module: TCPIP
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
- 7.target收到 146000 byte
+ 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 8.OK,PC 回SOC_RECV=SOC2,RECV_LEN=字节数'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: TCPIP
- steps: '1. PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建TCP socket
-
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
-
- 4.PC与target1 创建好TCP 连接,有ACCEPT
-
- 5.PC send 5 bytes to 8266
-
- 6.8266 send 5 bytes to PC
+ 3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据
- 7. PC send 100 * 1460 data to 8266,
+ 4.断开与AP 连接
- 8.8266 send 100 * 1460 to PC.'
- sub module: TCP
- summary: STA mode, send/recv basic test
+ 5.关闭建立的socket1连接'
+ sub module: UDP
+ summary: "close UDP socket after WIFI \ndisconnected"
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 1: abnormal/special use
+ test point 2: UDP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0102
+ ID: TCPIP_UDP_0303
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock1>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SOC SOC1 CONNECT <random_port> <target_ip>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK]
- - - SOC SOC1 CONNECT <test_tcp_port2> <target_ip>
- - [P SOC_COM C ERROR, P SSC1 NC ACCEPT]
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+ - - SSC SSC1 op -S -o 2
+ - ['P SSC1 C +MODE:OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:(\d+),OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.PC TCP client accept
-
- 4.error'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: TCPIP
- steps: '1.target1上创建TCP socket,bind到本地端口<random_port>
-
- 2.target1上使用步骤1创建的socket,创建TCP 监听
+ 3.OK
- 3.PC TCP 连接到target1 <random_port>,<target_ip>
+ 4.OK
- 4.PC tcp 连接到不存在的port ,<target_ip>'
- sub module: TCP
- summary: STA mode, server listen test. use different kinds of port
+ 5.ERROR'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
+ module: TCPIP
+ steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+ \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+ 4.修改8266的Mode为softAP mode \n5.8266往PC上发送5字节数据"
+ sub module: UDP
+ summary: do UDP send after mode changed
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 1: abnormal/special use
+ test point 2: UDP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0105
+ ID: TCPIP_UDP_0304
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -B -t TCP -p <random_port>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock1>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SOC SOC2 CONNECT <random_port> <target_ip>
- - ['R SSC1 A <sock2>:ACCEPT:(\d+),\d+,.+,\d+']
- - - SSC SSC1 soc -T -s <sock2>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock1>
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+ - - SSC SSC1 op -S -o 2
+ - ['P SSC1 C +MODE:OK']
- - SSC SSC1 soc -T -s <sock1>
- ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
4.OK
- 5.OK
-
- 6.OK
-
- 7.target1关闭socket1
-
- 8.target1关闭socket2
-
- 9.OK
-
- 10.OK,pc tcp server accept成功
-
- 11.target1关闭socket1
-
- 12.OK
-
- 13.OK,pc tcp server accept成功
-
- 14.OK
-
- 15.target1关闭socket1'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 5.OK'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1关闭socket1\n\
- 4.target1上创建TCP socket 端口随机\n5.target1上使用步骤4创建的socket1,去监听\n6.PC CONNECT<random_port>,<target_ip>\
- \ ,tcp 连接创建成功,创建socket2 \n7.target1关闭socket1\n8.target1关闭socket2\n\
- 9.target1上创建TCP socket1\n10.target1上使用步骤10创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT\n\
- 11.target1关闭socket1\n12.target1上创建TCP socket1\n13.target1上使用步骤13创建的socket1,去连接\
- \ PC的ip,test_tcp_port1,PC有ACCEPT\n14.target1shutdown socket1\n15.target1关闭socket1"
- sub module: TCP
- summary: STA mode, close for different types of TCP sockets test
+ steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+ \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+ 4.修改8266的Mode为softAP mode \n5.关闭建立的socket1连接"
+ sub module: UDP
+ summary: close UDP socket after mode changed
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 1: abnormal/special use
+ test point 2: UDP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0104
+ ID: TCPIP_UDP_0305
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock1> -h B
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock2> -h W
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock3>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock3> -h R
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+ - - NIC <pc_nic> DISABLED
+ - [R PC_COM C OK]
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK,pc tcp server accept OK
+ 3.OK
4.OK
- 5.OK
-
- 6.OK,pc tcp server accept OK
-
- 7.OK
-
- 8.OK
-
- 9.OK,pc tcp server accept OK
-
- 10.OK'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 5.OK'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1. PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建TCP socket
-
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
-
- 4.target1 shutdown socket1 B
-
- 5.target1上创建TCP socket
-
- 6.target1上使用步骤5创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
-
- 7.target1 shutdown socket2 W
-
- 8.target1上创建TCP socket
-
- 9.target1上使用步骤8创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
-
- 10.target1 shutdown socket3 R'
- sub module: TCP
- summary: STA mode, shutdown basic test
+ steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+ \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+ 4.PC上网卡禁止掉 \n5.关闭建立的socket1连接"
+ sub module: UDP
+ summary: close UDP socket after PC NIC disabled
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 1: abnormal/special use
+ test point 2: UDP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0107
+ ID: TCPIP_UDP_0306
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock1>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SOC SOC2 CONNECT <random_port> <target_ip>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
- - - SOC SOC3 CONNECT <random_port> <target_ip>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
- - - SOC SOC4 CONNECT <random_port> <target_ip>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
- - - SOC SOC5 CONNECT <random_port> <target_ip>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
- - - SOC SOC6 CONNECT <random_port> <target_ip>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+ - - SSC SSC1 dhcp -E -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
+ - ['P SSC1 C +IP:OK']
+ - - SSC SSC1 ip -Q -o 1
+ - ['R SSC1 C +STAIP:192.168.111.210']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1
+ - ['P SSC1 RE SEND:\d+,OK']
comment: ''
execution time: 0.0
- expected result: '1.+BIND:0,OK,0.0.0.0
+ expected result: '1.OK
2.OK
- 3.OK,pc tcp server accept成功
+ 3.OK; PC TCP server accept 成功
- 4.OK,pc tcp server accept成功
+ 4.OK
- 5.OK,pc tcp server accept成功
+ 5.OK
- 6.OK,pc tcp server accept成功
+ 6.OK
- 7.OK,pc tcp server accept成功'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 7.OK'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: "1.target1上创建TCP socket 端口随机\n2.target1上使用步骤4创建的socket1,去监听\n3.PC CONNECT<random_port>,<target_ip>\
- \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket3\
- \ \n5.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT<random_port>,<target_ip>\
- \ ,tcp 连接创建成功,创建socket5 \n7.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket6"
- sub module: TCP
- summary: STA mode, accept max TCP client by server test
+ steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+ \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+ 4.关闭8266的DHCP 1\n5.设置sta ip \n6.查询sta ip 地址是否生效\n7.8266往PC上发送5字节数据"
+ sub module: UDP
+ summary: do UDP send after IP changed
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 1: abnormal/special use
+ test point 2: UDP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0106
+ ID: TCPIP_UDP_0307
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock3>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock4>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock4> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock5>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock5> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+ - - SSC SSC1 dhcp -E -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
+ - ['P SSC1 C +IP:OK']
+ - - SSC SSC1 ip -Q -o 1
+ - ['R SSC1 C +STAIP:192.168.111.210']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK,pc tcp server accept成功
+ 3.OK; PC TCP server accept 成功
- 4 OK
+ 4.OK
- 5.OK,pc tcp server accept成功
+ 5.OK
6.OK
- 7.OK,pc tcp server accept成功
-
- 8 OK
-
- 9.OK,pc tcp server accept成功
-
- 10.OK
-
- 11.OK,pc tcp server accept成功'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 7.OK'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建TCP socket1
-
- 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
-
- 4.target1上创建TCP socket2
-
- 5.target1上使用步骤4创建的socket2,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
-
- 6.target1上创建TCP socket3
-
- 7.target1上使用步骤6创建的socket3,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
-
- 8.target1上创建TCP socket4
-
- 9.target1上使用步骤8创建的socket4,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
-
- 10.target1上创建TCP socket5
-
- 11.target1上使用步骤10创建的socket5,去连接 PC的ip,test_tcp_port1,PC有ACCEPT'
- sub module: TCP
- summary: STA mode, create max TCP sockets test
+ steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+ \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+ 4.关闭8266的DHCP 1\n5.设置sta ip \n6.查询sta ip 地址是否生效\n7.关闭建立的socket1连接"
+ sub module: UDP
+ summary: close UDP socket after IP changed
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 1: abnormal/special use
+ test point 2: UDP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_DHCP_0210
+ ID: WIFI_ADDR_0101
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - WIFI <pc_wifi_nic> CONN2 <random_string> <random_string> 192.168.4.2
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- - - SSC SSC1 ap -L
- - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 mac -S -o 1 -m 44:55:66:77:88:99
+ - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 mac -S -o 2 -m 22:33:44:55:66:77
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 mac -Q -o 3
+ - ['R SSC1 C +STAMAC:44:55:66:77:88:99 C +APMAC:22:33:44:55:66:77']
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
comment: ''
execution time: 0.0
- expected result: '1. succeed
-
- 2. succeed
-
- 3. succeed
-
- 4. succeed
+ expected result: '1.OK
- 5. find target2 and PC'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: TCPIP
- steps: '1. config softap to a random ssid
+ 2.ok
- 2. target2 connect to target1 softap
+ 3.ok
- 3. disable DHCP server, do config and enable
+ 4.ok
- 4. PC NIC connect to target1 softap try to renew IP 192.168.4.2
+ 5.ok
- 5. softap list connected station'
- sub module: DHCP
- summary: dhcp server reconfig, old client able to get IP (discover with requested
- IP)
+ 6.ok'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: WIFI MAC
+ steps: "1.target1 设置mode 为sta+softAP mode\n2.target1 设置sta mode 下的mac \n3.target1\
+ \ 设置softAP mode 下的mac\n4.target1 查询softAP+sta 下的mac\n5.target1 设置sta mode 下的mac\
+ \ 为target1_mac\n6.target1 设置softAP mode 下的mac 为target1_ap_mac\n"
+ sub module: MAC Address
+ summary: set mac, query mac
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DHCP server function test
+ test point 2: mac address function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_DHCP_0211
+ ID: WIFI_ADDR_0102
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - DELAY 10
+ - - SSC SSC1 mac -S -o 2 -m 44:55:66:77:88:99
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
- ['']
+ - - SSC SSC2 sta -S -b 44:55:66:77:88:99
+ - ['R SSC2 RE \+SCAN:.+,44:55:66:77:88:99,']
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC2 mac -Q -o 1
+ - ['R SSC2 A <target2_mac_tmp>:\+STAMAC:(.+)\r\n']
+ - - SSC SSC2 mac -S -o 1 -m 22:33:44:55:66:77
+ - ['R SSC2 C +MAC:STA,OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['P SSC2 C +JAP:CONNECTED']
- - SSC SSC1 ap -L
- - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
+ - ['R SSC1 C +LSTA:22:33:44:55:66:77']
+ - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+ - ['R SSC2 C +MAC:STA,OK']
comment: ''
execution time: 0.0
- expected result: '1. succeed
-
- 2. succeed
+ expected result: '1.OK
- 3. succeed
+ 2.ok
- 4. succeed
+ 3.ok
- 5. find target2 and PC'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: TCPIP
- steps: '1. config softap to a random ssid
+ 4.ok
- 2. target2 connect to target1 softap
+ 5.ok
- 3. disable DHCP server, do config and enable
+ 6.ok
- 4. PC NIC connect to target1 softap try to renew IP 192.168.4.2
+ 7.ok
- 5. softap list connected station'
- sub module: DHCP
- summary: dhcp server reconfig, old client able to renew IP (direct send request)
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 8.ok
+
+ 9.ok'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: WIFI MAC
+ steps: "1.target1 设置sta mode下的mac 44:55:66:77:88:99\n2.target1下设置ssid 和pwd 加密方式\n\
+ 3.target2 查询mac为44:55:66:77:88:99的ssid\n4.target1 设置sta mode下的mac target_ap_mac\n\
+ 5.target2 查询sta mode 下的mac 为target2_mac_tmp\n6.target2 设置sta mode 下的mac 为22:33:44:55:66:77\n\
+ 7.target2 jap target1\n8.target1 查询连接到的sta \n9.target2 设置sta mode 下的mac 为 target2_mac\n"
+ sub module: MAC Address
+ summary: set mac and do scan/JAP/SAP
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DHCP server function test
+ test point 2: mac address function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0212
+ ID: WIFI_CONN_0101
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP -i <target_ap_ip>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP -i <target_ap_ip>
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock2>
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -B -t TCP -p <random_port>
- - ['R SSC1 A <sock3>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock3>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
- - ['R SSC1 A <sock4>:ACCEPT:(\d+),\d+,.+,\d+']
- - - SSC SSC1 soc -I
- - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(<sock1>,<target_ap_ip>,<pc_ip_wifi>,<test_tcp_port1>)',
- 'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%(<sock2>)', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(<sock3>,<random_port>)',
- 'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\d+"%%(<sock4>,<target_ap_ip>,<random_port>,<pc_ip_wifi>)']
+ - - SSC SSC1 ap -S -s <target_ssid> -t 0
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 2
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 4
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 1
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -S
+ - ['R SSC2 RE "\+SCAN:%%s,.+,0,\d+"%%(<target_ssid>)']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 5
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -S
+ - ['R SSC2 RE "\+SCAN:%%s,.+,0,\d+"%%(<target_ssid>)']
comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: "1.target1 set AP,open, \n2.target 2 jap succeed\n3.target1 set\
+ \ AP,wpa_psk \n4.target 2 jap succeed\n5.target1 set AP, wpa2_psk \n6.target 2\
+ \ jap succeed\n7.target1 set AP,wap_wpa2_psk\n8.target 2 jap succeed\n9.target1\
+ \ set AP,加密方式为t 1\n10.target 2 上查询到target_ssid\n11.target1 set AP,加密方式为t 5\n12.target\
+ \ 2 上查询到target_ssid"
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: WIFI MAC
+ steps: "1.target1下设置ssid 和pwd,加密方式 open\n2.target2 jap target1\n3.target1下设置ssid\
+ \ 和pwd,加密方式 wpa_psk \n4.target2 jap target1\n5.target1下设置ssid 和pwd,加密方式 wpa2_psk\
+ \ \n6.target 2 jap target1\n7.target1下设置ssid 和pwd,加密方式 wap_wpa2_psk\n8.target2\
+ \ jap target1\n9.target1下设置ssid 和pwd,加密方式 wep \n10.target2上查询target_ssid\n11.target1下设置ssid\
+ \ 和pwd,加密方式 t 5 错误的加密方式\n12.target2上查询 target_ssid"
+ sub module: WIFI Connect
+ summary: station SAP+JAP test, different encryption
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
- 2.OK
+ PC has 1 WiFi NIC.
- 3.OK,pc tcp server accept成功
+ 2 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: SAP/JAP with different config
+ version: v1 (2016-8-15)
+- CI ready: 'Yes'
+ ID: WIFI_CONN_0102
+ SDK: '8266_NonOS
- 4.OK
+ 8266_RTOS
- 5.OK
+ ESP32_IDF'
+ Test App: SSC
+ allow fail: ''
+ auto test: 'Yes'
+ category: Function
+ cmd set:
+ - ''
+ - - SSC SSC1 ap -S -s <target_ssid> -t 0 -n 1
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+ - - SSC SSC1 ap -S -s <target_ssid> -t 0 -n 13
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+ - - SSC SSC1 ap -S -s <target_ssid> -n 15
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -S
+ - ['R SSC2 RE "\+SCAN:%%s,.+,\d+,1"%%(<target_ssid>)']
+ comment: ''
+ execution time: 0.0
+ expected result: '1. target1 set AP,set channel 1
- 6.OK
+ 2.target 2 jap succeed
- 7.OK
+ 3.target1 set AP,set channel 10
- 8.OK
+ 4.target 2 jap succeed
- 9.PC OK, target1 +ACCEPT:3,2,<pc_ip>,port
+ 5.target1 set AP,set channel 15
- 10.+SOCINFO:<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>
+ 6.target 2 上查询到target_ssid'
+ initial condition: T2O_1
+ initial condition description (auto): same as T2_1 but will NOT autogen a TC with
+ initial condition T2_2
+ level: Integration
+ module: WIFI MAC
+ steps: '1. target1下设置ssid 和pwd 加密方式,set channel 1
- +SOCINFO:<sock2>,<target_ip>,<pc_ip>,<test_tcp_port1>
+ 2.target2 jap target 1
- +SOCINFO:<sock3>,<random_port>
+ 3.target1下设置ssid 和pwd 加密方式,set channel 10
- +SOCINFO:<sock4>,<target_ip>,<random_port>,<pc_ip>
+ 4.target2 jap target 1
- +SOCINF0ALL'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
- module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1,本地ip target_ip\n3.target1上使用步骤2创建的socket1,去连接\
- \ PC的ip,test_tcp_port1,PC有ACCEPT\n4.target1上创建TCP socket2,本地ip target_ip\n5.target1上使用步骤4创建的socket2,去连接\
- \ PC的ip,test_tcp_port1,PC有ACCEPT\n6.target1 shutdown socket2 \n7.target1上创建TCP\
- \ socket3,本地端口random_port\n8.target1上使用步骤7创建的socket3,去监听\n9.PC CONNECT<random_port>,<target_ip>\
- \ ,tcp 连接创建成功,创建socket4 \n10.target1 查询the socket information"
- sub module: TCP
- summary: AP mode, get active socket info test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 5.target1下设置ssid 和pwd 加密方式,set channel 15
+
+ 6.target 2 上查询target_ssid'
+ sub module: WIFI Connect
+ summary: station SAP+JAP test, different channel
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) in different state
+ test point 2: SAP/JAP with different config
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0210
+ ID: WIFI_CONN_0103
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -W -s <sock1> -o 0
- - ['R SSC1 RE WORKTHREAD:\d+,OK']
- - - SOC SOC2 SEND 146000
- - [P SOC_COM R *]
- - - SSC SSC1 soc -W -s <sock1> -o 1
- - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL <sock1>+2920]
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -h
+ 0
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -S -h 0
+ - [R SSC2 P <target_ap_mac>, R SSC2 C +SCANDONE]
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -h
+ 1
+ - ['R SSC1 C +SAP:OK']
+ - - DELAY 3
+ - ['']
+ - - SSC SSC2 sta -S -h 0
+ - [R SSC2 C +SCANDONE]
+ - - DELAY 3
+ - ['']
+ - - SSC SSC2 sta -S -h 0
+ - [R SSC2 NP <target_ap_mac> C +SCANDONE]
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK,pc tcp server accept成功
-
- 4.OK
-
- 6.OK
-
- 7.收到 146000 数据
-
- '
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
- module: TCPIP
- steps: '1. PC上建立TCP 监听 test_tcp_port1
+ expected result: '1.target1 set AP,set ssid broad cast
- 2.target1上创建TCP socket
+ 2.target 2上scan target_ap_mac
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+ 3.target1 set AP,set ssid hidden,
- 4.PC与target1 创建好TCP 连接,有ACCEPT
+ 4.target 2上不能scan target_ap_mac'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: WIFI MAC
+ steps: '1. target1下设置ssid 和pwd 加密方式,set ssid broad cast
- 5.target停止调用recv
+ 2.target 2上scan target_ap_mac
- 6.PC send 100 * 1460 data to 8266,
+ 3. target1下设置ssid 和pwd 加密方式,set ssid hidden,
- 7.target重新调用recv'
- sub module: TCP
- summary: AP mode, recv buffer test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 4.target 2上scan target_ap_mac'
+ sub module: WIFI Connect
+ summary: station SAP+JAP test, ssid hidden
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) in different state
+ test point 2: SAP/JAP with different config
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0210
+ ID: WIFI_CONN_0104
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -W -s <sock1> -o 0
- - ['R SSC1 RE WORKTHREAD:\d+,OK']
- - - SOC SOC2 SEND 146000
- - [P SOC_COM R *]
- - - SSC SSC1 soc -W -s <sock1> -o 1
- - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL <sock1>+2920]
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -m
+ 1
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> DISCONN
+ - ['R PC_COM C +WIFIDISCONN:OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM C +WIFICONN:ERROR']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK,pc tcp server accept成功
-
- 4.OK
-
- 6.OK
-
- 7.收到 146000 数据'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
- module: TCPIP
- steps: '1. PC上建立TCP 监听 test_tcp_port1
+ expected result: '1. target1 set AP,set max allowed sta as 1
- 2.target1上创建TCP socket
+ 2. use PC disconnect,
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+ 3.target 2 jap succeed
- 4.PC与target1 创建好TCP 连接,有ACCEPT
+ 4.PC WIFI can not CONN'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: WIFI MAC
+ steps: '1.target1下设置ssid 和pwd 加密方式,set max allowed sta as 1
- 5.target停止调用recv
+ 2.use PC disconnect target1
- 6.PC send 100 * 1460 data to 8266,
+ 3.target 2 jap target1
- 7.target重新调用recv'
- sub module: TCP
- summary: AP mode, recv buffer test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 4.PC WIFI CONNECT target1'
+ sub module: WIFI Connect
+ summary: station SAP test, max allowed sta
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) in different state
+ test point 2: SAP/JAP with different config
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0212
+ ID: WIFI_CONN_0201
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP -i <target_ap_ip>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP -i <target_ap_ip>
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock2>
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -B -t TCP -p <random_port>
- - ['R SSC1 A <sock3>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock3>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
- - ['R SSC1 A <sock4>:ACCEPT:(\d+),\d+,.+,\d+']
- - - SSC SSC1 soc -I
- - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(<sock1>,<target_ap_ip>,<pc_ip_wifi>,<test_tcp_port1>)',
- 'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%(<sock2>)', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(<sock3>,<random_port>)',
- 'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\d+"%%(<sock4>,<target_ap_ip>,<random_port>,<pc_ip_wifi>)']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SSC SSC1 sta -Q
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:OK']
+ - - SSC SSC1 sta -Q
+ - ['R SSC1 C +JAP:DISCONNECTED']
comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: '1.target1 jion AP 成功
- 2.OK
+ 2.查询JAP的状态
- 3.OK,pc tcp server accept成功
+ 3.target1 断开AP
- 4.OK
+ 4.查询target1 JAP 是DISCONN'
+ initial condition: STAM1
+ initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+ TC with initial condition STAAP1
+ level: Integration
+ module: WIFI MAC
+ steps: '1.target1 jion AP 成功
- 5.OK
+ 2.查询JAP的状态
- 6.OK
+ 3.target1 断开AP
- 7.OK
+ 4.查询target1 JAP 是DISCONN'
+ sub module: WIFI Connect
+ summary: JAP query test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
- 8.OK
+ PC has 1 WiFi NIC.
- 9.PC OK, target1 +ACCEPT:3,2,<pc_ip>,port
+ 1 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: query JAP status
+ version: v1 (2016-8-15)
+- CI ready: 'Yes'
+ ID: WIFI_CONN_0301
+ SDK: '8266_NonOS
- 10.+SOCINFO:<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>
+ 8266_RTOS
- +SOCINFO:<sock2>,<target_ip>,<pc_ip>,<test_tcp_port1>
+ ESP32_IDF'
+ Test App: SSC
+ allow fail: ''
+ auto test: 'Yes'
+ category: Function
+ cmd set:
+ - ''
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -h
+ 0 -m 8
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC1 ap -Q
+ - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,3,0,8,\d+"%%(<target_ssid>,<target_password>)']
+ comment: ''
+ execution time: 0.0
+ expected result: '1. target1 set AP
- +SOCINFO:<sock3>,<random_port>
+ 2.target 1上查询到跟设置AP时一致
- +SOCINFO:<sock4>,<target_ip>,<random_port>,<pc_ip>
+ '
+ initial condition: APM1
+ initial condition description (auto): AP mode, DHCP on, will autogen a TC with initial
+ condition APSTA1
+ level: Integration
+ module: WIFI MAC
+ steps: '1. target1 set AP
- +SOCINF0ALL'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
- module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1,本地ip target_ip\n3.target1上使用步骤2创建的socket1,去连接\
- \ PC的ip,test_tcp_port1,PC有ACCEPT\n4.target1上创建TCP socket2,本地ip target_ip\n5.target1上使用步骤4创建的socket2,去连接\
- \ PC的ip,test_tcp_port1,PC有ACCEPT\n6.target1 shutdown socket2 \n7.target1上创建TCP\
- \ socket3,本地端口random_port\n8.target1上使用步骤7创建的socket3,去监听\n9.PC CONNECT<random_port>,<target_ip>\
- \ ,tcp 连接创建成功,创建socket4 \n10.target1 查询the socket information"
- sub module: TCP
- summary: AP mode, get active socket info test
+ 2.target 1上查询到跟设置AP时一致
+
+ '
+ sub module: WIFI Connect
+ summary: AP config query test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) in different state
+ test point 2: query AP config
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DHCP_0211
+ ID: WIFI_CONN_0401
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - DELAY 10
+ - - SSC SSC1 sta -R -a 0
+ - ['R SSC1 C +AUTORECONN:OK']
+ - - SSC SSC1 sta -R -a 2
+ - ['R SSC1 C +AUTORECONN:0']
+ - - SSC SSC1 reboot
- ['']
- - - SSC SSC1 ap -L
- - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
+ - - DELAY 15
+ - ['']
+ - - SSC SSC1 sta -Q
+ - ['R SSC1 C JAP:DISCONNECTED']
+ - - SSC SSC1 sta -R -a 1
+ - ['R SSC1 C +AUTORECONN:OK']
+ - - SSC SSC1 sta -R -a 2
+ - ['R SSC1 C +AUTORECONN:1']
+ - - SSC SSC1 reboot
+ - ['R SSC1 C +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.设置autoreconn,关闭
- 2. succeed
+ 2.查询当前autoreconn状态是否关闭
- 3. succeed
+ 3.重启系统,等待15s
- 4. succeed
+ 4.查询target1 未自动重连AP
- 5. find target2 and PC'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
- module: TCPIP
- steps: '1. config softap to a random ssid
+ 5.设置autoreconn,开启
- 2. target2 connect to target1 softap
+ 6.查询当前autoreconn状态是否开启
- 3. disable DHCP server, do config and enable
+ 7.系统重启后target1 自动重连AP'
+ initial condition: STAM2
+ initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
+ TC with initial condition STAAP2
+ level: Integration
+ module: WIFI MAC
+ steps: '1.设置autoreconn,关闭
- 4. PC NIC connect to target1 softap try to renew IP 192.168.4.2
+ 2.查询当前autoreconn状态是否关闭
- 5. softap list connected station'
- sub module: DHCP
- summary: dhcp server reconfig, old client able to renew IP (direct send request)
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 3.重启系统,等待15s
+
+ 4.查询target1 未自动重连AP
+
+ 5.设置autoreconn,开启
+
+ 6.查询当前autoreconn状态是否开启
+
+ 7.系统重启后target1 自动重连AP'
+ sub module: WIFI Connect
+ summary: auto reconnect test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DHCP server function test
+ test point 2: power on auto reconnect test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DHCP_0210
+ ID: WIFI_CONN_0501
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - - SSC SSC2 sta -R -r 1
+ - ['R SSC2 C +RECONN:OK']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - DELAY 10
+ - ['']
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - DELAY 15
- ['R SSC2 C +JAP:CONNECTED']
- - - WIFI <pc_wifi_nic> CONN2 <random_string> <random_string> 192.168.4.2
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- - - SSC SSC1 ap -L
- - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
+ - - SSC SSC2 sta -R -r 0
+ - ['R SSC2 C +RECONN:OK']
+ - - SSC SSC2 sta -R -r 2
+ - ['R SSC2 C +RECONN:0']
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - DELAY 10
+ - ['']
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - DELAY 15
+ - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
+ - - SSC SSC2 sta -R -r 1
+ - ['R SSC2 C +RECONN:OK']
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.设置reconn,开启(此功能不需要重启系统)
- 2. succeed
+ 2.target1 set AP
- 3. succeed
+ 3.target2 JAP target1 成功
- 4. succeed
+ 4.target2 断开target1 连接
- 5. find target2 and PC'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
- module: TCPIP
- steps: '1. config softap to a random ssid
+ 5.等待10s,target2 自动重连target1
- 2. target2 connect to target1 softap
+ 6.成功
- 3. disable DHCP server, do config and enable
+ 7.查询reconn状态,关闭
- 4. PC NIC connect to target1 softap try to renew IP 192.168.4.2
+ 8.修改mode 成功
- 5. softap list connected station'
- sub module: DHCP
- summary: dhcp server reconfig, old client able to get IP (discover with requested
- IP)
+ 9.等待15s,target2 不会自动重连target1'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: WIFI MAC
+ steps: "1.设置reconn,开启(此功能不需要重启系统)\n2.target1下设置ssid 和pwd 加密方式\n3.target2 JAP target1\
+ \ \n4.target1 修改mode 为sta mode\n5.等待10s,target1 修改mode 为softAP mode\n6.设置reconn,关闭\n\
+ 7.查询reconn状态,关闭\n8.target1 修改mode 为sta mode\n9.等待15s,target1 修改mode 为softAP mode"
+ sub module: WIFI Connect
+ summary: reconnect policy test
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DHCP server function test
+ test point 2: reconnect policy test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_ADDR_0101
+ ID: WIFI_CONN_0502
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 op -S -o 3
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC2 sta -R -r 1
+ - ['R SSC2 C +RECONN:OK']
+ - - SSC SSC1 op -S -o 1
- ['R SSC1 C +MODE:OK']
- - - SSC SSC1 mac -S -o 1 -m 44:55:66:77:88:99
- - ['R SSC1 C +MAC:STA,OK']
- - - SSC SSC1 mac -S -o 2 -m 22:33:44:55:66:77
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC1 mac -Q -o 3
- - ['R SSC1 C +STAMAC:44:55:66:77:88:99 C +APMAC:22:33:44:55:66:77']
- - - SSC SSC1 mac -S -o 1 -m <target_mac>
- - ['R SSC1 C +MAC:STA,OK']
- - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- - ['R SSC1 C +MAC:AP,OK']
+ - - DELAY 5
+ - ['R SSC2 C +JAP:DISCONNECTED']
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - DELAY 10
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:OK']
+ - - DELAY 10
+ - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: '1.target1 set AP
- 2.ok
+ 2.target2 jap target 1
- 3.ok
+ 3.设置reconn,开启(此功能不需要重启系统)
- 4.ok
+ 4.target2 断开target1 连接
- 5.ok
+ 5.等待10s,target2 自动重连target1
- 6.ok'
+ 6.target2 断开target1 连接'
initial condition: T2_1
initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
autogen a TC with initial condition T2_2
+ level: Integration
module: WIFI MAC
- steps: "1.target1 设置mode 为sta+softAP mode\n2.target1 设置sta mode 下的mac \n3.target1\
- \ 设置softAP mode 下的mac\n4.target1 查询softAP+sta 下的mac\n5.target1 设置sta mode 下的mac\
- \ 为target1_mac\n6.target1 设置softAP mode 下的mac 为target1_ap_mac\n"
- sub module: MAC Address
- summary: set mac, query mac
+ steps: '1.target1下设置ssid 和pwd 加密方式
+
+ 2.target2 jap target 1
+
+ 3.设置reconn,开启(此功能不需要重启系统)
+
+ 4.target2 断开target1 连接
+
+ 5.等待10s,target2 自动重连target1
+
+ 6.target2 断开target1 连接'
+ sub module: WIFI Connect
+ summary: will not do reconnect after manually disconnected
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: mac address function test
+ test point 1: abnormal/special use
+ test point 2: reconnect policy test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_ADDR_0102
+ ID: WIFI_CONN_0601
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 mac -S -o 2 -m 44:55:66:77:88:99
- - ['R SSC1 C +MAC:AP,OK']
- - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
- - ['']
- - - SSC SSC2 sta -S -b 44:55:66:77:88:99
- - ['R SSC2 RE \+SCAN:.+,44:55:66:77:88:99,']
- - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
- - ['R SSC1 C +MAC:AP,OK']
- - - SSC SSC2 mac -Q -o 1
- - ['R SSC2 A <target2_mac_tmp>:\+STAMAC:(.+)\r\n']
- - - SSC SSC2 mac -S -o 1 -m 22:33:44:55:66:77
- - ['R SSC2 C +MAC:STA,OK']
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM C +WIFICONN:OK']
- - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['P SSC2 C +JAP:CONNECTED']
+ - ['R SSC2 C +JAP:CONNECTED']
- - SSC SSC1 ap -L
- - ['R SSC1 C +LSTA:22:33:44:55:66:77']
- - - SSC SSC2 mac -S -o 1 -m <target2_mac>
- - ['R SSC2 C +MAC:STA,OK']
+ - ['R SSC1 C +LSTA:', 'R SSC1 C +LSTA:', R SSC1 C +LSTADONE]
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.ok
-
- 3.ok
-
- 4.ok
-
- 5.ok
-
- 6.ok
+ expected result: '1.target1 set AP
- 7.ok
+ 2.PC WIFI CONNECTED
- 8.ok
+ 3.target2 jap target 1
- 9.ok'
+ 4.查询到两个sta 连接到target1 上'
initial condition: T2_1
initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
autogen a TC with initial condition T2_2
+ level: Integration
module: WIFI MAC
- steps: "1.target1 设置sta mode下的mac 44:55:66:77:88:99\n2.target1下设置ssid 和pwd 加密方式\n\
- 3.target2 查询mac为44:55:66:77:88:99的ssid\n4.target1 设置sta mode下的mac target_ap_mac\n\
- 5.target2 查询sta mode 下的mac 为target2_mac_tmp\n6.target2 设置sta mode 下的mac 为22:33:44:55:66:77\n\
- 7.target2 jap target1\n8.target1 查询连接到的sta \n9.target2 设置sta mode 下的mac 为 target2_mac\n"
- sub module: MAC Address
- summary: set mac and do scan/JAP/SAP
+ steps: '1. target1下设置ssid 和pwd 加密方式
+
+ 2.PC WIFI CONNECTED target1
+
+ 3.target2 jap target 1
+
+ 4.查询到两个sta 连接到target1 上'
+ sub module: WIFI Connect
+ summary: list stations connected to soft ap test
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: mac address function test
+ test point 2: list SoftAP connected station
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0202
+ ID: WIFI_CONN_0801
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -W -s <sock1> -o 0
- - ['R SSC1 RE WORKTHREAD:\d+,OK']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
- - ['']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
- - ['']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
- - ['']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
- - ['']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
- - ['']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 0
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 2
+ - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,2,0']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3
+ - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,3,2']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,4,3']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 0
+ - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,0,4']
comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: '1. succeed
- 2.OK
+ 2. succeed
- 3.OK
+ 3. auth change event old mode 0 new mode 2
- 4.PC OK
+ 4. auth change event old mode 2 new mode 3
- 5.PC OK
+ 5. auth change event old mode 3 new mode 4
- 6.PC OK
+ 6. auth change event old mode 4 new mode 0'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: WIFI MAC
+ steps: '1. set target1 softap auth mode 0
- 7.PC OK
+ 2. target2 connect to target1
- 8.PC OK SOC_CLOSE=SOC1'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
- module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+ 3. set target1 softap auth mode 2, wait sta connected
- 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 4. set target1 softap auth mode 3, wait sta connected
- 3.target1上关闭工作线程
+ 5. set target1 softap auth mode 4, wait sta connected
- 4.PC往8266上发送1472字节数据
-
- 5.PC往8266上发送1472字节数据
-
- 6.PC往8266上发送1472字节数据
-
- 7.PC往8266上发送1472字节数据
-
- 8.PC往8266上发送1472字节数据'
- sub module: UDP
- summary: AP mode, recv buffer test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 6. set target1 softap auth mode 0, wait sta connected'
+ sub module: WIFI Connect
+ summary: test auth change event
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: use UDP SAP (socket/espconn API) in different state
+ 2 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: wifi auth changed event test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0411
+ ID: WIFI_CONN_0901
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
- Test App: SSC
+ Test App: basic function
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock2> -l 5
- - ['P SSC1 RE SEND:\d+,ERROR']
- - - SSC SSC1 soc -S -s <sock1> -l 5
- - ['P SSC1 RE SEND:\d+,OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 RE JAP:DISCONNECTED,\d+,8']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <random_string>
+ - ['R SSC1 RE JAP:DISCONNECTED,\d+,15']
+ - - SSC SSC1 sta -C -s <random_string> -p <ap_password>
+ - ['R SSC1 RE JAP:DISCONNECTED,\d+,201']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK; PC TCP server accept 成功
-
- 4.OK
-
- 5.OK
-
- 6.ERROR
-
- 7.OK'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
- module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建TCP socket1
-
- 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+ expected result: '1. disconnect event reason REASON_ASSOC_LEAVE
- 4.PC与target1创建好TCP 连接,有ACCEPT
+ 2. disconnect event reason REASON_4WAY_HANDSHAKE_TIMEOUT
- 5.target1上创建TCP socket2
+ 3. disconnect event reason REASON_NO_AP_FOUND'
+ initial condition: STAM1
+ initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+ TC with initial condition STAAP1
+ level: Integration
+ module: WIFI MAC
+ steps: '1. sta connect to AP, and disconnect
- 6.8266往PC socket2上发送5字节数据
+ 2. connect to AP with wrong password
- 7.8266往PC socket1上发送5字节数据'
- sub module: TCP
- summary: do TCP send after socket changed
+ 3. connect to AP not exist'
+ sub module: WIFI Connect
+ summary: test wifi disconnect reason REASON_ASSOC_LEAVE, REASON_4WAY_HANDSHAKE_TIMEOUT,
+ REASON_NO_AP_FOUND
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ test point 1: basic function
+ test point 2: wifi disconnect reason test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_PHY_0502
- SDK: ESP32_IDF
+ ID: WIFI_CONN_0902
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 phy -S -o 1 -m n -b 40
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 phy -S -o 2 -m n -b 20
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC2 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC3 C +JAP:CONNECTED']
- - - SSC SSC2 sta -C -s <ap_ssid_c2_ht40> -p <ap_password_phy>
- - ['']
- - - DELAY 10
- - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
+ - - APC <APC1> OFF <ap_apc>
+ - [P PC_COM L OK, 'R SSC1 RE JAP:DISCONNECTED,\d+,200']
+ - - APC <APC1> ON <ap_apc>
+ - [P PC_COM L OK]
comment: ''
execution time: 0.0
- expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
- channel2; SoftAP in 20M, STA in 40M
- initial condition: T3_PHY1
- initial condition description (auto): '1. target 1 and target 2 set to AP+STA mode,
- target 3 set to STA mode
-
- 2. all interface of target 2,3 set to 11n ht40
+ expected result: '1. succeed
- 3. config softAP of target 1 and target 2'
+ 2. disconnect event REASON_BEACON_TIMEOUT'
+ initial condition: STAM1
+ initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+ TC with initial condition STAAP1
+ level: Integration
module: WIFI MAC
- steps: '1. target 1 STA set to 40M, SoftAP set to 20M
-
- 2. target 2 STA connect to ap_channel1_20
-
- 3. target 1/3 STA connect to target 2/1 SoftAP
+ steps: '1. connect to AP
- 4. target 2 STA connect to ap_channel2_40'
- sub module: Phy Mode
- summary: SoftAP STA in channel1 20M, STA changed to channel2 40M
- test environment: SSC_T3_PhyMode
- test environment description (auto): '3 SSC target connect with PC by UART.
+ 2. AP power off'
+ sub module: WIFI Connect
+ summary: test wifi disconnect reason REASON_BEACON_TIMEOUT
+ test environment: SSC_T1_APC
+ test environment description (auto): "PC has 1 wired NIC connected to AP.\nPC has\
+ \ 1 wired NIC connected to APC (static IP within the same subnet with APC). \n\
+ APC control AP power supply. \nPC has 1 WiFi NIC. \n1 SSC target connect with\
+ \ PC by UART."
+ test point 1: basic function
+ test point 2: wifi disconnect reason test
+ version: v1 (2016-8-15)
+- CI ready: 'Yes'
+ ID: WIFI_CONN_0903
+ SDK: '8266_NonOS
- PC has one WiFi NIC support capture wlan packet using libpcap.
+ 8266_RTOS
- Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
+ ESP32_IDF'
+ Test App: SSC
+ allow fail: ''
+ auto test: 'Yes'
+ category: Function
+ cmd set:
+ - ''
+ - - SSC SSC1 sta -C -s <wep_ap_ssid> -p bacfd
+ - ['R SSC1 RE JAP:DISCONNECTED,\d+,2']
+ comment: ''
+ execution time: 0.0
+ expected result: 1. disconect event reason REASON_AUTH_EXPIRE
+ initial condition: STAM1
+ initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+ TC with initial condition STAAP1
+ level: Integration
+ module: WIFI MAC
+ steps: 1. connect WEP ap with error password (valid wep password)
+ sub module: WIFI Connect
+ summary: test wifi disconnect reason REASON_AUTH_EXPIRE
+ test environment: SSC_T1_WEP
+ test environment description (auto): '1 SSC target connect with PC by UART.
- Put 4 APs near SSC targets.'
+ One WEP share key AP placed near SSC1.'
test point 1: basic function
- test point 2: STA+SoftAP dynamic channel switch test
- version: v1 (2015-8-15)
+ test point 2: wifi disconnect reason test
+ version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_PHY_0503
- SDK: ESP32_IDF
+ ID: WIFI_CONN_0904
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 phy -S -o 1 -m n -b 40
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 phy -S -o 2 -m n -b 20
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC2 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
- - ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC3 C +JAP:CONNECTED']
- - - SSC SSC2 sta -C -s <ap_ssid_c2_ht20> -p <ap_password_phy>
- - ['']
- - - DELAY 10
- - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3 -m 1
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <random_string> -p 1234567890
+ - ['R SSC2 RE JAP:DISCONNECTED,\d+,204']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> <pc_ip_wifi>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 RE JAP:DISCONNECTED,\d+,5']
+ - - WIFI <pc_wifi_nic> DISCONN
+ - [P PC_COM C OK, 'R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3 -m 1
+ - ['P SSC1 C +SAP:OK', 'P SSC2 RE JAP:DISCONNECTED,\d+,4']
comment: ''
execution time: 0.0
- expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
- channel2 20M
- initial condition: T3_PHY1
- initial condition description (auto): '1. target 1 and target 2 set to AP+STA mode,
- target 3 set to STA mode
+ expected result: '1. succeed
- 2. all interface of target 2,3 set to 11n ht40
+ 2. disconnect event REASON_HANDSHAKE_TIMEOUT
- 3. config softAP of target 1 and target 2'
- module: WIFI MAC
- steps: '1. target 1 STA set to 40M, SoftAP set to 20M
+ 3. succeed
- 2. target 2 STA connect to ap_channel1_40
+ 4. succeed
- 3. target 1/3 STA connect to target 2/1 SoftAP
+ 5. disconnect event REASON_ASSOC_TOOMANY
- 4. target 2 STA connect to ap_channel2_20'
- sub module: Phy Mode
- summary: SoftAP STA in channel1, SoftAP 20M, STA 40M, STA changed to channel2 20M
- test environment: SSC_T3_PhyMode
- test environment description (auto): '3 SSC target connect with PC by UART.
+ 6. succeed, target2 connect succeed
- PC has one WiFi NIC support capture wlan packet using libpcap.
+ 7. disconnect event REASON_ASSOC_EXPIRE'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: WIFI MAC
+ steps: '1. config target1 softap max sta allowed 1
- Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
+ 2. target2 connect to target1 with wrong password
- Put 4 APs near SSC targets.'
- test point 1: basic function
- test point 2: STA+SoftAP dynamic channel switch test
- version: v1 (2015-8-15)
-- CI ready: 'Yes'
- ID: WIFI_PHY_0501
- SDK: ESP32_IDF
- Test App: SSC
- allow fail: ''
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SSC SSC1 phy -S -o 1 -m n -b 20
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 phy -S -o 2 -m n -b 20
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC2 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
- - ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC3 C +JAP:CONNECTED']
- - - SSC SSC2 sta -C -s <ap_ssid_c2_ht20> -p <ap_password_phy>
- - ['']
- - - DELAY 10
- - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
- comment: ''
- execution time: 0.0
- expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
- channel2 20M
- initial condition: T3_PHY1
- initial condition description (auto): '1. target 1 and target 2 set to AP+STA mode,
- target 3 set to STA mode
-
- 2. all interface of target 2,3 set to 11n ht40
-
- 3. config softAP of target 1 and target 2'
- module: WIFI MAC
- steps: '1. target 1 STA and SoftAP set to 20M
+ 3. target2 disconnect
- 2. target 2 STA connect to ap_channel1_20
+ 4. PC WIFI NIC connect to target1
- 3. target 1/3 STA connect to target 2/1 SoftAP
+ 5. target2 connect to target1 with correct password
- 4. target 2 STA connect to ap_channel2_20'
- sub module: Phy Mode
- summary: SoftAP STA in channel1 20M, STA changed to channel2 20M
- test environment: SSC_T3_PhyMode
- test environment description (auto): '3 SSC target connect with PC by UART.
+ 6. PC WIFI NIC disconnect
- PC has one WiFi NIC support capture wlan packet using libpcap.
+ 7. reconfig softap'
+ sub module: WIFI Connect
+ summary: test wifi disconnect reason REASON_ASSOC_TOOMANY, REASON_HANDSHAKE_TIMEOUT,
+ REASON_ASSOC_EXPIRE
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
- Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
+ PC has 1 WiFi NIC.
- Put 4 APs near SSC targets.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: STA+SoftAP dynamic channel switch test
- version: v1 (2015-8-15)
+ test point 2: wifi disconnect reason test
+ version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_PHY_0506
- SDK: ESP32_IDF
+ ID: WIFI_MODE_0101
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 phy -S -o 1 -m n -b 40
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 phy -S -o 2 -m n -b 40
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC2 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
- - ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC3 C +JAP:CONNECTED']
- - - SSC SSC2 sta -C -s <ap_ssid_c2_ht40> -p <ap_password_phy>
- - ['']
- - - DELAY 10
- - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SSC SSC2 sta -S
+ - [R SSC2 NP <target_ssid> C +SCANDONE]
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:OK']
comment: ''
execution time: 0.0
- expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
- channel2 40M
- initial condition: T3_PHY1
- initial condition description (auto): '1. target 1 and target 2 set to AP+STA mode,
- target 3 set to STA mode
-
- 2. all interface of target 2,3 set to 11n ht40
-
- 3. config softAP of target 1 and target 2'
- module: WIFI MAC
- steps: '1. target 1 STA and SoftAP set to 40M
-
- 2. target 2 STA connect to ap_channel1_40
-
- 3. target 1/3 STA connect to target 2/1 SoftAP
-
- 4. target 2 STA connect to ap_channel2_40'
- sub module: Phy Mode
- summary: SoftAP STA in channel1, SoftAP 40M, STA 40M, STA changed to channel2 40M
- test environment: SSC_T3_PhyMode
- test environment description (auto): '3 SSC target connect with PC by UART.
+ expected result: '1.target1下设置ssid 和pwd 、加密方式成功
- PC has one WiFi NIC support capture wlan packet using libpcap.
+ 2.修改target 1的mode 为sta mode
- Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
+ 3.target1的dhcp打开
- Put 4 APs near SSC targets.'
- test point 1: basic function
- test point 2: STA+SoftAP dynamic channel switch test
- version: v1 (2015-8-15)
-- CI ready: 'Yes'
- ID: WIFI_PHY_0505
- SDK: ESP32_IDF
- Test App: SSC
- allow fail: ''
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SSC SSC1 phy -S -o 1 -m n -b 40
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 phy -S -o 2 -m n -b 20
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC2 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
- - ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC3 C +JAP:CONNECTED']
- - - SSC SSC2 sta -C -s <ap_ssid_c2_ht20> -p <ap_password_phy>
- - ['']
- - - DELAY 10
- - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
- comment: ''
- execution time: 0.0
- expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
- channel2; SoftAP in 20M, STA in 40M
- initial condition: T3_PHY1
- initial condition description (auto): '1. target 1 and target 2 set to AP+STA mode,
- target 3 set to STA mode
+ 4.target1成功连接上AP
- 2. all interface of target 2,3 set to 11n ht40
+ 5.target2上不能查询到target_ssid
- 3. config softAP of target 1 and target 2'
+ 6.target1断开AP'
+ initial condition: T2O_1
+ initial condition description (auto): same as T2_1 but will NOT autogen a TC with
+ initial condition T2_2
+ level: Integration
module: WIFI MAC
- steps: '1. target 1 STA set to 40M ,SoftAP set to 20M
+ steps: '1.target1下设置ssid 和pwd 加密方式
- 2. target 2 STA connect to ap_channel1_40
+ 2.修改target1的mode 为sta mode
- 3. target 1/3 STA connect to target 2/1 SoftAP
+ 3.target1的dhcp打开
- 4. target 2 STA connect to ap_channel2_20'
- sub module: Phy Mode
- summary: SoftAP STA in channel1, SoftAP 40M, STA 40M, STA changed to channel2 20M
- test environment: SSC_T3_PhyMode
- test environment description (auto): '3 SSC target connect with PC by UART.
+ 4.target1连接AP
- PC has one WiFi NIC support capture wlan packet using libpcap.
+ 5.target2查询target_ssid
- Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
+ 6.target1断开AP'
+ sub module: WIFI Mode
+ summary: mode switch test (sta mode)
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
- Put 4 APs near SSC targets.'
+ PC has 1 WiFi NIC.
+
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: STA+SoftAP dynamic channel switch test
- version: v1 (2015-8-15)
+ test point 2: wifi mode fucntion
+ version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_CONN_0301
+ ID: WIFI_MODE_0102
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -h
- 0 -m 8
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
- ['R SSC1 C +SAP:OK']
- - - SSC SSC1 ap -Q
- - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,3,0,8,\d+"%%(<target_ssid>,<target_password>)']
+ - - SSC SSC2 sta -S
+ - [R SSC2 P <target_ssid>, R SSC2 C +SCANDONE]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 C +JAP:ERROR']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:ERROR']
comment: ''
execution time: 0.0
expected result: '1. target1 set AP
- 2.target 1上查询到跟设置AP时一致
+ 2.target 2 上查询到target_ssid
- '
- initial condition: APM1
- initial condition description (auto): AP mode, DHCP on, will autogen a TC with initial
- condition APSTA1
+ 3. target1 can''t join AP
+
+ 4. target1 can''t QAP'
+ initial condition: T2O_1
+ initial condition description (auto): same as T2_1 but will NOT autogen a TC with
+ initial condition T2_2
+ level: Integration
module: WIFI MAC
- steps: '1. target1 set AP
+ steps: '1.target1下设置ssid 和pwd 加密方式
- 2.target 1上查询到跟设置AP时一致
+ 2.target 2 上查询target_ssid
- '
- sub module: WIFI Connect
- summary: AP config query test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 3.target1 join AP
+
+ 4.target1 DISCONN AP'
+ sub module: WIFI Mode
+ summary: mode switch test (AP mode)
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: query AP config
+ test point 2: wifi mode fucntion
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_IP_0102
+ ID: WIFI_MODE_0103
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 ip -S -o 2 -i 192.168.123.123
- - ['R SSC1 C +IP:ERROR']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 ip -S -o 2 -i 192.168.123.123
- - ['R SSC1 C +IP:OK']
- - - SSC SSC1 ip -Q -o 2
- - ['R SSC1 C +APIP:192.168.123.123']
- - - SSC SSC1 ip -S -o 2 -i <target_ap_ip>
- - ['R SSC1 C +IP:OK']
- comment: ''
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SSC SSC2 sta -S
+ - [R SSC2 P <target_ssid>, R SSC2 C +SCANDONE]
+ comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: '1.target1 change to AP mode
- 2.ERROR
+ 2.target1 set AP
- 3.OK
+ 3.target 1 的dhcp 打开
- 4.OK
+ 4.target 1 成功连接上AP
- 5.APIP:192.168.123.123
+ 5.target 2 上查询到target_ssid'
+ initial condition: T2O_1
+ initial condition description (auto): same as T2_1 but will NOT autogen a TC with
+ initial condition T2_2
+ level: Integration
+ module: WIFI MAC
+ steps: '1.target1 change to AP mode
- 6.OK'
- initial condition: APSTA1
- initial condition description (auto): testing ap on sta + ap mode (autogen by APM1)
- module: TCPIP
- steps: "1.target1 打开DHCP 2\n2.target1 设置softAP ip 192.168.123.123\n4.target1 关闭DHCP\
- \ 2\n5.target1 设置softAP ip 192.168.123.123\n6.target1 查询 当前sta ip \n7.target1\
- \ 设置softAP ip 为target_ap_ip"
- sub module: IP
- summary: ap set and query static ip test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 2.target1下设置ssid 和pwd 加密方式
+
+ 3.target1 的dhcp 打开
+
+ 4.target1 连接AP
+
+ 5.target2 上查询target_ssid'
+ sub module: WIFI Mode
+ summary: mode switch test (STA+AP mode)
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: set and query static IP
+ test point 2: wifi mode fucntion
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0105
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
+ ID: WIFI_PHY_0401
+ SDK: ESP32_IDF
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+']
+ - - SSC SSC1 phy -S -o 1 -m n -b 20
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 phy -S -o 2 -m n -b 20
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC2 phy -S -o 1 -m n -b 20
+ - ['R SSC2 C +PHY:OK']
+ - - SSC SSC1 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['']
+ - - DELAY 10
+ - ['P SSC1 NC +JAP:DISCONNECTED', 'P SSC2 C +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: 3. SoftAP and STA in channel2, both bandwidth 20M, STA not disconnected
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1. SoftAP 11n ht20, in channel1, ext AP 11n ht20, in channel2
- 2.OK'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: TCPIP
- steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 2. STA connect to ext AP
- 2.关闭socket1'
- sub module: UDP
- summary: STA mode, close UDP sockets test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 3. AP get connected'
+ sub module: Phy Mode
+ summary: SoftAP ext AP in defferent channel, both bandwidth 20M, STA connect to
+ AP then Softap get connected
+ test environment: SSC_T2_PhyMode
+ test environment description (auto): '2 SSC target connect with PC by UART.
- PC has 1 WiFi NIC.
+ PC has one WiFi NIC support capture wlan packet using libpcap.
- 1 SSC target connect with PC by UART.'
+ Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+ Put 4 APs near SSC targets.'
test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
- version: v1 (2016-8-15)
+ test point 2: STA+SoftAP initial channel test
+ version: v1 (2015-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0104
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
+ ID: WIFI_PHY_0402
+ SDK: ESP32_IDF
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SOC SOC1 SENDTO 1 <test_udp_port1> <target_ip>
- - [R SSC1 SL <sock1>+1]
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
- - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(<sock1>,<pc_ip>,<test_udp_port1>)']
- - - SOC SOC1 SENDTO 1473 <test_udp_port1> <target_ip>
- - [P SSC1 NC +RECVFROM, P SOC_COM C OK]
- - - SOC SOC2 BIND <test_udp_port2> <pc_ip2>
- - [R SOC_COM L OK]
- - - SOC SOC2 SENDTO 1472 <test_udp_port1> <target_ip>
- - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(<sock1>,<pc_ip2>,<test_udp_port2>)']
+ - - SSC SSC1 phy -S -o 1 -m n -b 20
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 phy -S -o 2 -m n -b 20
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC2 phy -S -o 1 -m n -b 20
+ - ['R SSC2 C +PHY:OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['P SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
+ - ['']
+ - - DELAY 10
+ - ['P SSC2 NC +JAP:DISCONNECTED', 'P SSC1 C +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK
-
- 4.OK
-
- 5.OK,没收到UDP包
-
- 6.OK
-
- 7.OK'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
-
- 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
-
- 3.PC往8266上发送1字节数据
-
- 4.PC往8266上发送1472字节数据
+ expected result: 3. SoftAP and STA in channel2, both bandwidth 20M, SoftAP not get
+ disconnected
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1. SoftAP 11n ht20, in channel1, ext AP 11n ht20, in channel2
- 5.PC往8266上发送1473字节数据
+ 2. AP get connected
- 6.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
+ 3. STA connect to ext AP'
+ sub module: Phy Mode
+ summary: SoftAP ext AP in defferent channel, both bandwidth 20M, Softap get connected
+ than STA connect to AP
+ test environment: SSC_T2_PhyMode
+ test environment description (auto): '2 SSC target connect with PC by UART.
- 7.PC往8266上发送1472字节数据'
- sub module: UDP
- summary: STA mode, recvfrom basic test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ PC has one WiFi NIC support capture wlan packet using libpcap.
- PC has 1 WiFi NIC.
+ Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
- 1 SSC target connect with PC by UART.'
+ Put 4 APs near SSC targets.'
test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
- version: v1 (2016-8-15)
+ test point 2: STA+SoftAP initial channel test
+ version: v1 (2015-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0107
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
+ ID: WIFI_PHY_0403
+ SDK: ESP32_IDF
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -I
- - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(<sock1>,<test_udp_port1>)']
+ - - SSC SSC1 phy -S -o 1 -m n -b 40
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 phy -S -o 2 -m n -b 20
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC2 phy -S -o 1 -m n -b 20
+ - ['R SSC2 C +PHY:OK']
+ - - SSC SSC1 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['']
+ - - DELAY 10
+ - ['P SSC1 NC +JAP:DISCONNECTED', 'P SSC2 C +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: 3. SoftAP and STA in channel2, SoftAP 20M, STA 40M, STA not disconnected
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1. SoftAP 11n ht20, in channel1, ext AP 11n ht40, in channel2
- 2.OK'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: TCPIP
- steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 2. STA connect to ext AP
- 2.target1上查询创建socket信息'
- sub module: UDP
- summary: STA mode, get active socket info test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 3. AP get connected'
+ sub module: Phy Mode
+ summary: SoftAP ext AP in defferent channel, SoftAP 20M, ext AP 40M, STA connect
+ to AP then Softap get connected
+ test environment: SSC_T2_PhyMode
+ test environment description (auto): '2 SSC target connect with PC by UART.
- PC has 1 WiFi NIC.
+ PC has one WiFi NIC support capture wlan packet using libpcap.
- 1 SSC target connect with PC by UART.'
+ Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+ Put 4 APs near SSC targets.'
test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
- version: v1 (2016-8-15)
-- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0106
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
+ test point 2: STA+SoftAP initial channel test
+ version: v1 (2015-8-15)
+- CI ready: 'Yes'
+ ID: WIFI_PHY_0404
+ SDK: ESP32_IDF
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port2>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port3>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port4>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port5>
- - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 phy -S -o 1 -m n -b 40
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 phy -S -o 2 -m n -b 20
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC2 phy -S -o 1 -m n -b 20
+ - ['R SSC2 C +PHY:OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['P SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
+ - ['']
+ - - DELAY 10
+ - ['P SSC2 NC +JAP:DISCONNECTED', 'P SSC1 C +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: '1.ok
-
- 2.ok
-
- 3.ok
-
- 4.ok
-
- 5.ok'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: TCPIP
- steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
-
- 2.target1上UDP传输,Bind socket2,本地ip target_udp_port2
+ expected result: 3. SoftAP and STA in channel2, SoftAP 20M, STA 40M, SoftAP not
+ get disconnected
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1. SoftAP 11n ht20, in channel1, ext AP 11n ht40, in channel2
- 3.target1上UDP传输,Bind socket3,本地ip target_udp_port3
+ 2. AP get connected
- 4.target1上UDP传输,Bind socket4,本地ip target_udp_port4
+ 3. STA connect to ext AP'
+ sub module: Phy Mode
+ summary: SoftAP ext AP in defferent channel, SoftAP 20M, ext AP 40M, Softap get
+ connected than STA connect to AP
+ test environment: SSC_T2_PhyMode
+ test environment description (auto): '2 SSC target connect with PC by UART.
- 5.target1上UDP传输,Bind socket5,本地ip target_udp_port5'
- sub module: UDP
- summary: STA mode, create max udp socket test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ PC has one WiFi NIC support capture wlan packet using libpcap.
- PC has 1 WiFi NIC.
+ Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
- 1 SSC target connect with PC by UART.'
+ Put 4 APs near SSC targets.'
test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
- version: v1 (2016-8-15)
+ test point 2: STA+SoftAP initial channel test
+ version: v1 (2015-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0101
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
+ ID: WIFI_PHY_0405
+ SDK: ESP32_IDF
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port2>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 C BIND:ERROR']
- - - SSC SSC1 soc -B -t TCP -p <test_udp_port1>
- - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 phy -S -o 1 -m n -b 20
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 phy -S -o 2 -m n -b 40
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC2 phy -S -o 1 -m n -b 40
+ - ['R SSC2 C +PHY:OK']
+ - - SSC SSC1 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['']
+ - - DELAY 10
+ - ['P SSC1 NC +JAP:DISCONNECTED', 'P SSC2 C +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.ERROR
-
- 4.OK'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: TCPIP
- steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ expected result: 3. SoftAP and STA in channel2, both bandwidth 40M, STA not disconnected
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1. SoftAP 11n ht40, in channel1, ext AP 11n ht40, in channel2
- 2.target1上UDP传输,Bind socket2,本地ip 0.0.0.0 target_udp_port2
+ 2. STA connect to ext AP
- 3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 3. AP get connected'
+ sub module: Phy Mode
+ summary: SoftAP ext AP in defferent channel, both bandwidth 40M, STA connect to
+ AP then Softap get connected
+ test environment: SSC_T2_PhyMode
+ test environment description (auto): '2 SSC target connect with PC by UART.
- 4.target1上创建TCP socket3, target_udp_port1'
- sub module: UDP
- summary: STA mode, udp bind test. use different ip, port
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ PC has one WiFi NIC support capture wlan packet using libpcap.
- PC has 1 WiFi NIC.
+ Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
- 1 SSC target connect with PC by UART.'
+ Put 4 APs near SSC targets.'
test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
- version: v1 (2016-8-15)
+ test point 2: STA+SoftAP initial channel test
+ version: v1 (2015-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0103
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
+ ID: WIFI_PHY_0406
+ SDK: ESP32_IDF
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1]
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1472
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472]
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1473
- - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM]
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1472 -n 10 -j 20
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 14720]
+ - - SSC SSC1 phy -S -o 1 -m n -b 20
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 phy -S -o 2 -m n -b 40
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC2 phy -S -o 1 -m n -b 40
+ - ['R SSC2 C +PHY:OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['P SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
+ - ['']
+ - - DELAY 10
+ - ['P SSC2 NC +JAP:DISCONNECTED', 'P SSC1 C +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK
-
- 4.OK
-
- 5.OK,没有到UDP包
-
- 6.OK'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
-
- 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
-
- 3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1字节数据
+ expected result: 3. SoftAP and STA in channel2, both bandwidth 40M, SoftAP not get
+ disconnected
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1. SoftAP 11n ht40, in channel1, ext AP 11n ht40, in channel2
- 4.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472字节数据
+ 2. AP get connected
- 5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1473字节数据
+ 3. STA connect to ext AP'
+ sub module: Phy Mode
+ summary: SoftAP ext AP in defferent channel, both bandwidth 40M, Softap get connected
+ than STA connect to AP
+ test environment: SSC_T2_PhyMode
+ test environment description (auto): '2 SSC target connect with PC by UART.
- 6.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472*10字节数据'
- sub module: UDP
- summary: STA mode, sendto test with different length
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ PC has one WiFi NIC support capture wlan packet using libpcap.
- PC has 1 WiFi NIC.
+ Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
- 1 SSC target connect with PC by UART.'
+ Put 4 APs near SSC targets.'
test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
- version: v1 (2016-8-15)
+ test point 2: STA+SoftAP initial channel test
+ version: v1 (2015-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0102
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
+ ID: WIFI_PHY_0407
+ SDK: ESP32_IDF
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - - SOC SOC2 BIND <test_udp_port2> <pc_ip2>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 10
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 10]
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip2> -p <test_udp_port2> -l 10
- - ['P SSC1 RE SEND:(\d+),OK', P SOC2 UL 10]
- comment: ''
- execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK
-
- 4.OK
-
- 5.OK'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
-
- 2.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
+ - - SSC SSC1 phy -S -o 1 -m n -b 40
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 phy -S -o 2 -m n -b 40
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC2 phy -S -o 1 -m n -b 40
+ - ['R SSC2 C +PHY:OK']
+ - - SSC SSC1 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['']
+ - - DELAY 10
+ - ['P SSC1 NC +JAP:DISCONNECTED', 'P SSC2 C +JAP:CONNECTED']
+ comment: ''
+ execution time: 0.0
+ expected result: 3. SoftAP and STA in channel2, SoftAP 40M, STA 20M, STA not disconnected
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1. SoftAP 11n ht40, in channel1, ext AP 11n ht20, in channel2
- 3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 2. STA connect to ext AP
- 4.target1上使用步骤3创建的socket1,往pc_ip,test_tcp_port1上发送10字节数据
+ 3. AP get connected'
+ sub module: Phy Mode
+ summary: SoftAP ext AP in defferent channel, SoftAP 40M, ext AP 20M, STA connect
+ to AP then Softap get connected
+ test environment: SSC_T2_PhyMode
+ test environment description (auto): '2 SSC target connect with PC by UART.
- 5.target1上使用步骤3创建的socket1,往pc_ip2,test_tcp_port2上发送10字节数据'
- sub module: UDP
- summary: STA mode, sendto test. use different ip, port
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ PC has one WiFi NIC support capture wlan packet using libpcap.
- PC has 1 WiFi NIC.
+ Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
- 1 SSC target connect with PC by UART.'
+ Put 4 APs near SSC targets.'
test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
- version: v1 (2016-8-15)
+ test point 2: STA+SoftAP initial channel test
+ version: v1 (2015-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_DHCP_0102
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
+ ID: WIFI_PHY_0408
+ SDK: ESP32_IDF
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 phy -S -o 1 -m n -b 40
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 phy -S -o 2 -m n -b 40
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC2 phy -S -o 1 -m n -b 40
+ - ['R SSC2 C +PHY:OK']
- - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['P SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
- ['']
- - - DELAY 20
- - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 C +JAP:CONNECTED']
+ - - DELAY 10
+ - ['P SSC2 NC +JAP:DISCONNECTED', 'P SSC1 C +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: "1.target1 set AP OK \n2.target1 关闭DHCP OK\n3.target2 jap target\
- \ 1,FAIL \n4.target1 打开DHCP OK\n5.target2 jap target 1,ok"
+ expected result: 3. SoftAP and STA in channel2, SoftAP 40M, STA 20M, SoftAP not
+ get disconnected
initial condition: T2_2
initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: TCPIP
- steps: "1.target1 set AP OK \n2.target1 关闭DHCP OK\n3.target2 jap target 1,FAIL \n\
- 4.target1 打开DHCP OK\n5.target2 jap target 1,ok"
- sub module: DHCP
- summary: dhcp server function test
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ level: Integration
+ module: WIFI MAC
+ steps: '1. SoftAP 11n ht40, in channel1, ext AP 11n ht20, in channel2
- PC has 1 WiFi NIC.
+ 2. AP get connected
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: DHCP client function test
- version: v1 (2016-8-15)
-- CI ready: 'Yes'
- ID: ^TCPIP_DHCP_0103
- SDK: '8266_NonOS
+ 3. STA connect to ext AP'
+ sub module: Phy Mode
+ summary: SoftAP ext AP in defferent channel, SoftAP 40M, ext AP 20M, Softap get
+ connected than STA connect to AP
+ test environment: SSC_T2_PhyMode
+ test environment description (auto): '2 SSC target connect with PC by UART.
- 8266_RTOS
+ PC has one WiFi NIC support capture wlan packet using libpcap.
- ESP32_IDF'
+ Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+ Put 4 APs near SSC targets.'
+ test point 1: basic function
+ test point 2: STA+SoftAP initial channel test
+ version: v1 (2015-8-15)
+- CI ready: 'Yes'
+ ID: WIFI_PHY_0501
+ SDK: ESP32_IDF
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 op -S -o 3
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 3
- - ['R SSC1 C +DHCP:AP,OK C +DHCP:STA,OK']
- - - SSC SSC1 dhcp -Q -o 3
- - ['R SSC1 C +DHCP:STA,STARTED C +DHCP:AP,STARTED']
- - - SSC SSC1 dhcp -Q -o 1
- - ['R SSC1 C +DHCP:STA,STARTED NC +DHCP:AP,STARTED']
- - - SSC SSC1 dhcp -Q -o 2
- - ['R SSC1 NC +DHCP:STA,STARTED C +DHCP:AP,STARTED']
- - - SSC SSC1 dhcp -E -o 3
- - ['R SSC1 C +DHCP:AP,OK C +DHCP:STA,OK']
- - - SSC SSC1 dhcp -Q -o 3
- - ['R SSC1 C +DHCP:STA,STOPPED C +DHCP:AP,STOPPED']
+ - - SSC SSC1 phy -S -o 1 -m n -b 20
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 phy -S -o 2 -m n -b 20
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC2 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC3 C +JAP:CONNECTED']
+ - - SSC SSC2 sta -C -s <ap_ssid_c2_ht20> -p <ap_password_phy>
+ - ['']
+ - - DELAY 10
+ - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.STA&AP STARTED
-
- 4.STA STARTED
-
- 5.AP STARTED
-
- 6.OK
-
- 7.STA&AP STOPPED'
- initial condition: STAAP1
- initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
- by STAM1)
- module: TCPIP
- steps: '1.target1 设置mode 为sta+softAP mode
+ expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
+ channel2 20M
+ initial condition: T3_PHY1
+ initial condition description (auto): '1. target 1 and target 2 set to AP+STA mode,
+ target 3 set to STA mode
- 2.target1 打开DHCP 3
+ 2. all interface of target 2,3 set to 11n ht40
- 3.target1 查询DHCP 状态
+ 3. config softAP of target 1 and target 2'
+ level: Integration
+ module: WIFI MAC
+ steps: '1. target 1 STA and SoftAP set to 20M
- 4.target1 查询sta DHCP 状态
+ 2. target 2 STA connect to ap_channel1_20
- 5.target1 查询softAP DHCP 状态
+ 3. target 1/3 STA connect to target 2/1 SoftAP
- 6.target1 关闭 DHCP 3
+ 4. target 2 STA connect to ap_channel2_20'
+ sub module: Phy Mode
+ summary: SoftAP STA in channel1 20M, STA changed to channel2 20M
+ test environment: SSC_T3_PhyMode
+ test environment description (auto): '3 SSC target connect with PC by UART.
- 7.target1 查询 DHCP 状态'
- sub module: DHCP
- summary: dhcp status query
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ PC has one WiFi NIC support capture wlan packet using libpcap.
- PC has 1 WiFi NIC.
+ Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
- 1 SSC target connect with PC by UART.'
+ Put 4 APs near SSC targets.'
test point 1: basic function
- test point 2: DHCP client function test
- version: v1 (2016-8-15)
+ test point 2: STA+SoftAP dynamic channel switch test
+ version: v1 (2015-8-15)
- CI ready: 'Yes'
- ID: WIFI_SCAN_0301
+ ID: WIFI_PHY_0502
SDK: ESP32_IDF
Test App: SSC
allow fail: ''
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -S
+ - - SSC SSC1 phy -S -o 1 -m n -b 40
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 phy -S -o 2 -m n -b 20
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC2 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC3 C +JAP:CONNECTED']
+ - - SSC SSC2 sta -C -s <ap_ssid_c2_ht40> -p <ap_password_phy>
- ['']
- - - SSC SSC1 sta -S
- - [P SSC1 C +SCANFAIL, 'P SSC1 P +SCAN:', R SSC1 C +SCANDONE]
+ - - DELAY 10
+ - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
comment: ''
execution time: 0.0
- expected result: '1. second scan failed
+ expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
+ channel2; SoftAP in 20M, STA in 40M
+ initial condition: T3_PHY1
+ initial condition description (auto): '1. target 1 and target 2 set to AP+STA mode,
+ target 3 set to STA mode
- 2. first scan succeed'
- initial condition: STAM1
- initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
- TC with initial condition STAAP1
+ 2. all interface of target 2,3 set to 11n ht40
+
+ 3. config softAP of target 1 and target 2'
+ level: Integration
module: WIFI MAC
- steps: '1. do all channel scan
+ steps: '1. target 1 STA set to 40M, SoftAP set to 20M
- 2. do scan before scan finished'
- sub module: WIFI Scan
- summary: reject scan request before scan finished
- test environment: SSC_T2_PhyMode
- test environment description (auto): '2 SSC target connect with PC by UART.
+ 2. target 2 STA connect to ap_channel1_20
+
+ 3. target 1/3 STA connect to target 2/1 SoftAP
+
+ 4. target 2 STA connect to ap_channel2_40'
+ sub module: Phy Mode
+ summary: SoftAP STA in channel1 20M, STA changed to channel2 40M
+ test environment: SSC_T3_PhyMode
+ test environment description (auto): '3 SSC target connect with PC by UART.
PC has one WiFi NIC support capture wlan packet using libpcap.
- Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+ Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
Put 4 APs near SSC targets.'
- test point 1: interaction
- test point 2: Scan interact with other WiFi operation
+ test point 1: basic function
+ test point 2: STA+SoftAP dynamic channel switch test
version: v1 (2015-8-15)
- CI ready: 'Yes'
- ID: WIFI_SCAN_0303
+ ID: WIFI_PHY_0503
SDK: ESP32_IDF
Test App: SSC
allow fail: ''
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 C +JAP:OK']
- - - SSC SSC1 sta -S
- - [P SSC1 C +SCANDONE, 'P SSC1 C +JAP:CONNECTED']
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:OK']
- - - SSC SSC1 sta -S
+ - - SSC SSC1 phy -S -o 1 -m n -b 40
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 phy -S -o 2 -m n -b 20
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC2 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC3 C +JAP:CONNECTED']
+ - - SSC SSC2 sta -C -s <ap_ssid_c2_ht20> -p <ap_password_phy>
- ['']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - [P SSC1 C +SCANDONE, 'P SSC1 C +JAP:CONNECTED']
+ - - DELAY 10
+ - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
comment: ''
execution time: 0.0
- expected result: '2. scan succeed, JAP succeed
+ expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
+ channel2 20M
+ initial condition: T3_PHY1
+ initial condition description (auto): '1. target 1 and target 2 set to AP+STA mode,
+ target 3 set to STA mode
- 5. JAP succeed, scan succeed'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1. target 1 STA join AP
+ 2. all interface of target 2,3 set to 11n ht40
- 2. target 1 STA scan before JAP succeed
+ 3. config softAP of target 1 and target 2'
+ level: Integration
+ module: WIFI MAC
+ steps: '1. target 1 STA set to 40M, SoftAP set to 20M
- 3. target 1 quite AP
+ 2. target 2 STA connect to ap_channel1_40
- 4. target 1 scan
+ 3. target 1/3 STA connect to target 2/1 SoftAP
- 5. target 1 JAP before scan succeed'
- sub module: WIFI Scan
- summary: scan during JAP
- test environment: SSC_T2_PhyMode
- test environment description (auto): '2 SSC target connect with PC by UART.
+ 4. target 2 STA connect to ap_channel2_20'
+ sub module: Phy Mode
+ summary: SoftAP STA in channel1, SoftAP 20M, STA 40M, STA changed to channel2 20M
+ test environment: SSC_T3_PhyMode
+ test environment description (auto): '3 SSC target connect with PC by UART.
PC has one WiFi NIC support capture wlan packet using libpcap.
- Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+ Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
Put 4 APs near SSC targets.'
- test point 1: interaction
- test point 2: Scan interact with other WiFi operation
+ test point 1: basic function
+ test point 2: STA+SoftAP dynamic channel switch test
version: v1 (2015-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_CONN_0801
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
+ ID: WIFI_PHY_0504
+ SDK: ESP32_IDF
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 0
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - - SSC SSC1 phy -S -o 1 -m n -b 40
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 phy -S -o 2 -m n -b 40
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC2 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
- ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 2
- - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,2,0']
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3
- - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,3,2']
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,4,3']
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 0
- - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,0,4']
+ - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC3 C +JAP:CONNECTED']
+ - - SSC SSC2 sta -C -s <ap_ssid_c2_ht20> -p <ap_password_phy>
+ - ['']
+ - - DELAY 10
+ - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
comment: ''
execution time: 0.0
- expected result: '1. succeed
-
- 2. succeed
-
- 3. auth change event old mode 0 new mode 2
-
- 4. auth change event old mode 2 new mode 3
+ expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
+ channel2 20M
+ initial condition: T3_PHY1
+ initial condition description (auto): '1. target 1 and target 2 set to AP+STA mode,
+ target 3 set to STA mode
- 5. auth change event old mode 3 new mode 4
+ 2. all interface of target 2,3 set to 11n ht40
- 6. auth change event old mode 4 new mode 0'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ 3. config softAP of target 1 and target 2'
+ level: Integration
module: WIFI MAC
- steps: '1. set target1 softap auth mode 0
-
- 2. target2 connect to target1
+ steps: '1. target 1 STA and SoftAP set to 40M
- 3. set target1 softap auth mode 2, wait sta connected
+ 2. target 2 STA connect to ap_channel1_40
- 4. set target1 softap auth mode 3, wait sta connected
+ 3. target 1/3 STA connect to target 2/1 SoftAP
- 5. set target1 softap auth mode 4, wait sta connected
+ 4. target 2 STA connect to ap_channel2_20'
+ sub module: Phy Mode
+ summary: SoftAP STA in channel1, SoftAP 20M, STA 40M, STA changed to channel2 40M
+ test environment: SSC_T3_PhyMode
+ test environment description (auto): '3 SSC target connect with PC by UART.
- 6. set target1 softap auth mode 0, wait sta connected'
- sub module: WIFI Connect
- summary: test auth change event
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ PC has one WiFi NIC support capture wlan packet using libpcap.
- PC has 1 WiFi NIC.
+ Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
- 2 SSC target connect with PC by UART.'
+ Put 4 APs near SSC targets.'
test point 1: basic function
- test point 2: wifi auth changed event test
- version: v1 (2016-8-15)
+ test point 2: STA+SoftAP dynamic channel switch test
+ version: v1 (2015-8-15)
- CI ready: 'Yes'
- ID: WIFI_SCAN_0304
+ ID: WIFI_PHY_0505
SDK: ESP32_IDF
Test App: SSC
allow fail: ''
category: Function
cmd set:
- ''
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 C +JAP:OK']
- - - SSC SSC1 sta -S
- - [P SSC1 C +SCANDONE, 'P SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:OK']
- - - SSC SSC1 sta -S
+ - - SSC SSC1 phy -S -o 1 -m n -b 40
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 phy -S -o 2 -m n -b 20
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC2 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC3 C +JAP:CONNECTED']
+ - - SSC SSC2 sta -C -s <ap_ssid_c2_ht20> -p <ap_password_phy>
- ['']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - [P SSC1 C +SCANDONE, 'P SSC2 C +JAP:CONNECTED']
+ - - DELAY 10
+ - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
comment: ''
execution time: 0.0
- expected result: '2. scan succeed, JAP succeed
+ expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
+ channel2; SoftAP in 20M, STA in 40M
+ initial condition: T3_PHY1
+ initial condition description (auto): '1. target 1 and target 2 set to AP+STA mode,
+ target 3 set to STA mode
- 5. JAP succeed, scan succeed'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1. target 2 STA join target 1 SoftAP
+ 2. all interface of target 2,3 set to 11n ht40
- 2. target 1 STA scan before target 2 JAP succeed
+ 3. config softAP of target 1 and target 2'
+ level: Integration
+ module: WIFI MAC
+ steps: '1. target 1 STA set to 40M ,SoftAP set to 20M
- 3. target 2 STA QAP
+ 2. target 2 STA connect to ap_channel1_40
- 4. target 1 STA scan
+ 3. target 1/3 STA connect to target 2/1 SoftAP
- 5. target 2 STA JAP before target 1 STA scan succeed'
- sub module: WIFI Scan
- summary: scan during ext STA join SoftAP
- test environment: SSC_T2_PhyMode
- test environment description (auto): '2 SSC target connect with PC by UART.
+ 4. target 2 STA connect to ap_channel2_20'
+ sub module: Phy Mode
+ summary: SoftAP STA in channel1, SoftAP 40M, STA 40M, STA changed to channel2 20M
+ test environment: SSC_T3_PhyMode
+ test environment description (auto): '3 SSC target connect with PC by UART.
PC has one WiFi NIC support capture wlan packet using libpcap.
- Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+ Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
Put 4 APs near SSC targets.'
- test point 1: interaction
- test point 2: Scan interact with other WiFi operation
+ test point 1: basic function
+ test point 2: STA+SoftAP dynamic channel switch test
version: v1 (2015-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0108
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
+ ID: WIFI_PHY_0506
+ SDK: ESP32_IDF
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port2>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 C BIND:ERROR']
- - - SSC SSC1 soc -B -t TCP -p <test_udp_port1>
- - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 phy -S -o 1 -m n -b 40
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 phy -S -o 2 -m n -b 40
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC2 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC3 C +JAP:CONNECTED']
+ - - SSC SSC2 sta -C -s <ap_ssid_c2_ht40> -p <ap_password_phy>
+ - ['']
+ - - DELAY 10
+ - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
+ channel2 40M
+ initial condition: T3_PHY1
+ initial condition description (auto): '1. target 1 and target 2 set to AP+STA mode,
+ target 3 set to STA mode
- 2.OK
+ 2. all interface of target 2,3 set to 11n ht40
- 3.ERROR
+ 3. config softAP of target 1 and target 2'
+ level: Integration
+ module: WIFI MAC
+ steps: '1. target 1 STA and SoftAP set to 40M
- 4.OK'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
- module: TCPIP
- steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 2. target 2 STA connect to ap_channel1_40
- 2.target1上UDP传输,Bind socket2,本地ip 0.0.0.0 target_udp_port2
+ 3. target 1/3 STA connect to target 2/1 SoftAP
- 3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 4. target 2 STA connect to ap_channel2_40'
+ sub module: Phy Mode
+ summary: SoftAP STA in channel1, SoftAP 40M, STA 40M, STA changed to channel2 40M
+ test environment: SSC_T3_PhyMode
+ test environment description (auto): '3 SSC target connect with PC by UART.
- 4.target1上创建TCP socket3, target_udp_port1'
- sub module: UDP
- summary: AP mode, udp bind test. use different ip, port
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ PC has one WiFi NIC support capture wlan packet using libpcap.
- PC has 1 WiFi NIC.
+ Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
- 1 SSC target connect with PC by UART.'
+ Put 4 APs near SSC targets.'
test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
- version: v1 (2016-8-15)
+ test point 2: STA+SoftAP dynamic channel switch test
+ version: v1 (2015-8-15)
- CI ready: 'Yes'
- ID: WIFI_CONN_0104
+ ID: WIFI_SCAN_0101
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -m
- 1
+ - - SSC SSC2 sta -S -s .,juhg123
+ - ['R SSC2 NC +SCAN: C +SCANDONE']
+ - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3
- ['R SSC1 C +SAP:OK']
- - - WIFI <pc_wifi_nic> DISCONN
- - ['R PC_COM C +WIFIDISCONN:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
- - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
- <target_encryption>
- - ['R PC_COM C +WIFICONN:ERROR']
+ - - SSC SSC2 sta -S -s <target_tmp_ssid>
+ - ['R SSC2 C +SCAN:', R SSC2 P <target_tmp_ssid>, 'R SSC2 NC +SCAN: C +SCANDONE']
comment: ''
execution time: 0.0
- expected result: '1. target1 set AP,set max allowed sta as 1
-
- 2. use PC disconnect,
+ expected result: '1.target 2上不能scan .,juhg123
- 3.target 2 jap succeed
+ 2.target1 set AP
- 4.PC WIFI can not CONN'
+ 3.target2上查询到<target_tmp_ssid>'
initial condition: T2_1
initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
autogen a TC with initial condition T2_2
+ level: Integration
module: WIFI MAC
- steps: '1.target1下设置ssid 和pwd 加密方式,set max allowed sta as 1
-
- 2.use PC disconnect target1
+ steps: '1.target 2 scan .,juhg123
- 3.target 2 jap target1
+ 2.target1下设置ssid 和pwd 加密方式
- 4.PC WIFI CONNECT target1'
- sub module: WIFI Connect
- summary: station SAP test, max allowed sta
+ 3.target2 scan <target_tmp_ssid>'
+ sub module: WIFI Scan
+ summary: scan with scan config ssid
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: SAP/JAP with different config
+ test point 2: scan with different config
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_IGMP_0201
+ ID: WIFI_SCAN_0102
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
- - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
- - - SOC SOC1 BIND <test_udp_port1>
- - [R SOC_COM L OK]
- - - SOC SOC1 SENDTO 1 <test_udp_port1> 224.1.1.1
- - [R SSC1 SL <sock1>+1]
- - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC2 sta -S -b ff:ff:ff:ff:ff:11
+ - ['R SSC2 NC +SCAN: C +SCANDONE']
+ - - SSC SSC2 sta -S -b <target_ap_mac>
+ - ['R SSC2 RE "\+SCAN:.+,%%s"%%(<target_ap_mac>)', 'R SSC2 NC +SCAN: C +SCANDONE']
comment: ''
execution time: 0.0
- expected result: '1. succeed
-
- 2. succeed
-
- 3. able to recv packet'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: TCPIP
- steps: '1. join group
+ expected result: '1.target2 上不能查询到此mac
- 2. create UDP socket using multicast addr
+ 2.target2上查询到<target_ap_mac>'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: WIFI MAC
+ steps: '1.target2 上查询此macff:ff:ff:ff:ff:11
- 3. PC send UDP packet to multicast addr'
- sub module: IGMP
- summary: station IGMP recv packets
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 2.target2上查询<target_ap_mac>'
+ sub module: WIFI Scan
+ summary: scan with scan config bssid
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: IGMP send/recv test
+ test point 2: scan with different config
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_IGMP_0203
+ ID: WIFI_SCAN_0103
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
- - [R SOC_COM L OK]
- - - SOC SOC1 SENDTO 1 <test_udp_port1> 224.1.1.1
- - [R SSC1 SL <sock1>+1]
- - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -n 6
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -S -n 5
+ - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+ - - SSC SSC2 sta -S -n 6
+ - ['R SSC2 C +SCAN:', R SSC2 P <target_tmp_ssid>]
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.target1 QAP
- 2. succeed
+ 2. target1 set AP,set channel 6
- 3. able to recv packet'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
- module: TCPIP
- steps: '1. join group
+ 3.target2 上scan不到 channel 5
- 2. create UDP socket using multicast addr
+ 4.target2 上查询channel 6的<target_tmp_ssid>'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: WIFI MAC
+ steps: '1.target1 断开连接AP
- 3. PC send UDP packet to multicast addr'
- sub module: IGMP
- summary: softAP IGMP recv packets
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 2.target1下设置ssid 和pwd 加密方式,set channel 6
+
+ 3.target2 上scan channel 5
+
+ 4.target2 上查询channel 6的<target_tmp_ssid>'
+ sub module: WIFI Scan
+ summary: scan with scan config channel
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: IGMP send/recv test
+ test point 2: scan with different config
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_IGMP_0202
+ ID: WIFI_SCAN_0104
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC2 op -S -o 1
- - ['R SSC2 C +MODE:OK']
- - - SSC SSC2 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
- - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
- - - SSC SSC2 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC2 A <sock2>:\+BIND:(\d+),OK']
- - - SSC SSC2 soc -S -s <sock2> -i 224.1.1.1 -p <test_udp_port1> -l 10
- - [R SSC1 SL <sock1>+1]
- - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -h 0
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -S -h 0
+ - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
+ - - SSC SSC2 sta -S -h 1
+ - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
+ - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -h 1
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -S -h 0
+ - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+ - - SSC SSC2 sta -S -h 1
+ - [R SSC2 P <target_ap_mac> C +SCANDONE]
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.target1 set AP,set ssid broad cast
- 2. succeed
+ 2.target 2上scan <target_tmp_ssid>
- 3. succeed
+ 3.target 2上scan <target_tmp_ssid>
- 4. target1 recv multicast packet'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: TCPIP
- steps: '1. target2 set to sta mode and join AP
+ 4.target1 set AP,set ssid hidden,
- 2. target1 join group and create UDP socket using multicast addr
+ 5.target 2上不能查询到 <target_tmp_ssid>
- 3. target2 create UDP socket
+ 6.target 2上查询到<target_ap_mac>'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: WIFI MAC
+ steps: '1.target1下设置ssid 和pwd 加密方式,set ssid broad cast
- 4. target2 send to multicast addr'
- sub module: IGMP
- summary: station send multicast packets
+ 2.target 2上scan <target_tmp_ssid>
+
+ 3.target 2上scan <target_tmp_ssid>
+
+ 4.target1下设置ssid 和pwd 加密方式,set ssid hidden,
+
+ 5.target 2上查询 <target_tmp_ssid>
+
+ 6.target 2上查询<target_ap_mac>'
+ sub module: WIFI Scan
+ summary: scan with scan config show hidden
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: IGMP send/recv test
+ test point 2: scan with different config
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_IGMP_0204
+ ID: WIFI_SCAN_0105
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
- - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
- - - SSC SSC2 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC2 A <sock2>:\+BIND:(\d+),OK']
- - - SSC SSC2 soc -S -s <sock2> -i 224.1.1.1 -p <test_udp_port1> -l 10
- - [R SSC1 SL <sock1>+1]
- - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -h 0 -n 11
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -S -s <target_tmp_ssid> -b <target_ap_mac> -n 11
+ - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
+ - - SSC SSC2 sta -S -s <target_ssid> -b <target_ap_mac> -n 11
+ - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+ - - SSC SSC2 sta -S -s <target_tmp_ssid> -b ff:ff:ff:ff:ff:11 -n 11
+ - [R SSC2 P <target_tmp_ssid>, R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+ - - SSC SSC2 sta -S -s <target_tmp_ssid> -b <target_ap_mac> -n 10
+ - [R SSC2 P <target_tmp_ssid>, R SSC2 NP <target_tmp_ssid> C +SCANDONE]
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.target1 QAP
- 2. succeed
+ 2. target1 set AP,set ssid broad cast,set channel 11
- 3. succeed
+ 3.target2 上查询到<target_tmp_ssid>
- 4. target1 recv multicast packet'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: TCPIP
- steps: '1. target2 join SoftAP
+ 4.target2 上查询不到<target_tmp_ssid>
- 2. target1 join group and create UDP socket using multicast addr
+ 5.target2 上查询不到<target_tmp_ssid>
- 3. target2 create UDP socket
+ 6.target2 上查询不到<target_tmp_ssid>'
+ initial condition: T2_1
+ initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
+ autogen a TC with initial condition T2_2
+ level: Integration
+ module: WIFI MAC
+ steps: '1.target1 QAP
- 4. target2 send to multicast addr'
- sub module: IGMP
- summary: softAP send multicast packets
+ 2. target1 set AP,set ssid broad cast,set channel 11
+
+ 3.target2 上查询到<target_tmp_ssid>
+
+ 4.target2 上查询不到<target_tmp_ssid>
+
+ 5.target2 上查询不到<target_tmp_ssid>
+
+ 6.target2 上查询不到<target_tmp_ssid>'
+ sub module: WIFI Scan
+ summary: scan with several configs
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: IGMP send/recv test
+ test point 2: scan with different config
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_CONN_0301
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
+ ID: WIFI_SCAN_0201
+ SDK: ESP32_IDF
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -h
- 0 -m 8
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 ap -Q
- - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,3,0,8,\d+"%%(<target_ssid>,<target_password>)']
+ - - SSC SSC1 phy -S -o 1 -m b
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 sta -S
+ - [R SSC1 P <ap_ssid_11b> P <ap_ssid_11g> P <ap_ssid_11n_ht20> P <ap_ssid_11n_ht40>]
+ - - SSC SSC1 phy -S -o 1 -m g
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 sta -S
+ - [R SSC1 P <ap_ssid_11b> P <ap_ssid_11g> P <ap_ssid_11n_ht20> P <ap_ssid_11n_ht40>]
+ - - SSC SSC1 phy -S -o 1 -m n -b 20
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 sta -S
+ - [R SSC1 P <ap_ssid_11b> P <ap_ssid_11g> P <ap_ssid_11n_ht20> P <ap_ssid_11n_ht40>]
+ - - SSC SSC1 phy -S -o 1 -m n -b 40
+ - ['R SSC1 C +PHY:OK']
+ - - SSC SSC1 sta -S
+ - [R SSC1 P <ap_ssid_11b> P <ap_ssid_11g> P <ap_ssid_11n_ht20> P <ap_ssid_11n_ht40>]
comment: ''
execution time: 0.0
- expected result: '1. target1 set AP
+ expected result: '3. find all 3 ext APs
- 2.target 1上查询到跟设置AP时一致'
- initial condition: APSTA1
- initial condition description (auto): testing ap on sta + ap mode (autogen by APM1)
+ 5. find all 3 ext APs
+
+ 7. find all 3 ext APs
+
+ 9. find all 3 ext APs'
+ initial condition: STAM1
+ initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+ TC with initial condition STAAP1
+ level: Integration
module: WIFI MAC
- steps: '1. target1 set AP
+ steps: '1. 3 ext APs in 11b, 11g, 11n mode
- 2.target 1上查询到跟设置AP时一致'
- sub module: WIFI Connect
- summary: AP config query test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 2. STA in 11b mode
- PC has 1 WiFi NIC.
+ 3. do all channel scan
- 1 SSC target connect with PC by UART.'
+ 4. STA in 11g mode
+
+ 5. do all channel scan
+
+ 6. STA in 11n ht20 mode
+
+ 7. do all channel scan
+
+ 8. STA in 11n ht40 mode
+
+ 9. do all channel scan'
+ sub module: WIFI Scan
+ summary: STA in differnt PHY mode to scan AP in different PHY mode
+ test environment: SSC_T2_PhyMode
+ test environment description (auto): '2 SSC target connect with PC by UART.
+
+ PC has one WiFi NIC support capture wlan packet using libpcap.
+
+ Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+ Put 4 APs near SSC targets.'
test point 1: basic function
- test point 2: query AP config
- version: v1 (2016-8-15)
+ test point 2: Scan in different mode and channel
+ version: v1 (2015-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0114
- SDK: '8266_NonOS
+ ID: WIFI_SCAN_0301
+ SDK: ESP32_IDF
+ Test App: SSC
+ allow fail: ''
+ auto test: 'Yes'
+ category: Function
+ cmd set:
+ - ''
+ - - SSC SSC1 sta -S
+ - ['']
+ - - SSC SSC1 sta -S
+ - [P SSC1 C +SCANFAIL, 'P SSC1 P +SCAN:', R SSC1 C +SCANDONE]
+ comment: ''
+ execution time: 0.0
+ expected result: '1. second scan failed
- 8266_RTOS
+ 2. first scan succeed'
+ initial condition: STAM1
+ initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
+ TC with initial condition STAAP1
+ level: Integration
+ module: WIFI MAC
+ steps: '1. do all channel scan
- ESP32_IDF'
+ 2. do scan before scan finished'
+ sub module: WIFI Scan
+ summary: reject scan request before scan finished
+ test environment: SSC_T2_PhyMode
+ test environment description (auto): '2 SSC target connect with PC by UART.
+
+ PC has one WiFi NIC support capture wlan packet using libpcap.
+
+ Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+ Put 4 APs near SSC targets.'
+ test point 1: interaction
+ test point 2: Scan interact with other WiFi operation
+ version: v1 (2015-8-15)
+- CI ready: 'Yes'
+ ID: WIFI_SCAN_0302
+ SDK: ESP32_IDF
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 C +JAP:CONNECTED']
- - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -I
- - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(<sock1>,<test_udp_port1>)']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -n 1000000 -j 5
+ - ['']
+ - - SSC SSC2 phy -S -o 1 -m b
+ - ['R SSC2 C +PHY:OK']
+ - - SSC SSC2 sta -S -n <ap_channel>
+ - [R SSC2 P <ap_ssid>]
+ - - SSC SSC2 phy -S -o 1 -m g
+ - ['R SSC2 C +PHY:OK']
+ - - SSC SSC2 sta -S -n <ap_channel>
+ - [R SSC2 P <ap_ssid>]
+ - - SSC SSC2 phy -S -o 1 -m n -b 20
+ - ['R SSC2 C +PHY:OK']
+ - - SSC SSC2 sta -S -n <ap_channel>
+ - [R SSC2 P <ap_ssid>]
+ - - SSC SSC2 phy -S -o 1 -m n -b 40
+ - ['R SSC2 C +PHY:OK']
+ - - SSC SSC2 sta -S -n <ap_channel>
+ - [R SSC2 P <ap_ssid>]
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
- module: TCPIP
- steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ expected result: 3. target 2 able to scan AP
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1. target 1 connect to AP
- 2.target1上查询创建socket信息'
- sub module: UDP
- summary: AP mode, get active socket info test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 2. target 1 start sending UDP packets
- PC has 1 WiFi NIC.
+ 3. target 2 scan in AP channel in 11b.g,n,ht40 mode'
+ sub module: WIFI Scan
+ summary: scan in congest channel
+ test environment: SSC_T2_PhyMode
+ test environment description (auto): '2 SSC target connect with PC by UART.
- 1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
- version: v1 (2016-8-15)
-- CI ready: 'Yes'
- ID: TCPIP_UDP_0111
- SDK: '8266_NonOS
+ PC has one WiFi NIC support capture wlan packet using libpcap.
- 8266_RTOS
+ Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
- ESP32_IDF'
+ Put 4 APs near SSC targets.'
+ test point 1: interaction
+ test point 2: Scan interact with other WiFi operation
+ version: v1 (2015-8-15)
+- CI ready: 'Yes'
+ ID: WIFI_SCAN_0303
+ SDK: ESP32_IDF
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
- - ['R SSC1 C +SAP:OK']
- - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
- <target_encryption>
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
- - [R SOC_COM L OK]
- - - SSC SSC2 ip
- - ['R SSC2 A <ssc2_ip>:STAIP:(.+)\r\n']
- - - SSC SSC2 soc -B -t UDP -p <test_udp_port2>
- - ['R SSC2 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SOC SOC1 SENDTO 5 <test_udp_port1> <target_ap_ip>
- - ['R SSC1 RE "RECVFROM:%%s,5,%%s,%%u"%%(<sock2>,<pc_ip_wifi>,<test_udp_port1>)']
- - - SSC SSC2 soc -S -s <sock1> -i <target_ap_ip> -p <test_udp_port1> -l 5
- - ['R SSC1 RE "RECVFROM:%%s,5,%%s,%%u"%%(<sock2>,<ssc2_ip>,<test_udp_port2>)']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 C +JAP:OK']
+ - - SSC SSC1 sta -S
+ - [P SSC1 C +SCANDONE, 'P SSC1 C +JAP:CONNECTED']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:OK']
+ - - SSC SSC1 sta -S
+ - ['']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - [P SSC1 C +SCANDONE, 'P SSC1 C +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: '2. scan succeed, JAP succeed
- 2.OK
+ 5. JAP succeed, scan succeed'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1. target 1 STA join AP
- 3.OK
+ 2. target 1 STA scan before JAP succeed
- 4.OK
+ 3. target 1 quite AP
- 5.OK,没收到UDP包
-
- 6.OK
-
- 7.OK'
- initial condition: T2O_1
- initial condition description (auto): same as T2_1 but will NOT autogen a TC with
- initial condition T2_2
- module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
-
- 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
-
- 3.PC往8266上发送1字节数据
-
- 4.PC往8266上发送1472字节数据
-
- 5.PC往8266上发送1473字节数据
+ 4. target 1 scan
- 6.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
+ 5. target 1 JAP before scan succeed'
+ sub module: WIFI Scan
+ summary: scan during JAP
+ test environment: SSC_T2_PhyMode
+ test environment description (auto): '2 SSC target connect with PC by UART.
- 7.PC往8266上发送1472字节数据'
- sub module: UDP
- summary: AP mode, recvfrom basic test
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ PC has one WiFi NIC support capture wlan packet using libpcap.
- PC has 1 WiFi NIC.
+ Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
- version: v1 (2016-8-15)
+ Put 4 APs near SSC targets.'
+ test point 1: interaction
+ test point 2: Scan interact with other WiFi operation
+ version: v1 (2015-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0110
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
+ ID: WIFI_SCAN_0304
+ SDK: ESP32_IDF
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1]
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1472
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472]
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1473
- - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM]
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1472 -n 10
- -j 20
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 14720]
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 C +JAP:OK']
+ - - SSC SSC1 sta -S
+ - [P SSC1 C +SCANDONE, 'P SSC2 C +JAP:CONNECTED']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:OK']
+ - - SSC SSC1 sta -S
+ - ['']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - [P SSC1 C +SCANDONE, 'P SSC2 C +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK
-
- 4.OK
-
- 5.OK,没收到UDP包
+ expected result: '2. scan succeed, JAP succeed
- 6.OK'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
- module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+ 5. JAP succeed, scan succeed'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1. target 2 STA join target 1 SoftAP
- 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 2. target 1 STA scan before target 2 JAP succeed
- 3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1字节数据
+ 3. target 2 STA QAP
- 4.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472字节数据
+ 4. target 1 STA scan
- 5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1473字节数据
+ 5. target 2 STA JAP before target 1 STA scan succeed'
+ sub module: WIFI Scan
+ summary: scan during ext STA join SoftAP
+ test environment: SSC_T2_PhyMode
+ test environment description (auto): '2 SSC target connect with PC by UART.
- 6.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472*10字节数据'
- sub module: UDP
- summary: AP mode, sendto test with different length
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ PC has one WiFi NIC support capture wlan packet using libpcap.
- PC has 1 WiFi NIC.
+ Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
- 1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
- version: v1 (2016-8-15)
+ Put 4 APs near SSC targets.'
+ test point 1: interaction
+ test point 2: Scan interact with other WiFi operation
+ version: v1 (2015-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0113
+ ID: ^TCPIP_DHCP_0101
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port2>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port3>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port4>
- - ['R SSC1 RE BIND:(\d+),OK']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port5>
- - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 dhcp -E -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -S -i 0.0.0.0
+ - ['R SSC1 C +IP:OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['']
+ - - DELAY 20
+ - [P PC_COM C +DELAYDONE, 'P SSC1 NC +JAP:CONNECTED']
+ - - SSC SSC1 dhcp -S -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -Q
+ - ['R SSC1 C +STAIP:0.0.0.0']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC1 ip -Q
+ - ['R SSC1 RE "\+STAIP:%%s"%%(<target_ip>)']
comment: ''
execution time: 0.0
- expected result: '1.ok
-
- 2.ok
-
- 3.ok
-
- 4.ok
-
- 5.ok'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
+ expected result: "1.target1 关闭DHCP OK\n2.target1 设置ip add OK\n3.target1 连接AP fail\n\
+ 4.target1 打开DHCP OK\n5.查询到sta ip \n6.target1 连接AP ok\n7.查询到sta ip 为target_ip"
+ initial condition: STAAP1
+ initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
+ by STAM1)
+ level: Integration
module: TCPIP
- steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
-
- 2.target1上UDP传输,Bind socket2,本地ip target_udp_port2
-
- 3.target1上UDP传输,Bind socket3,本地ip target_udp_port3
-
- 4.target1上UDP传输,Bind socket4,本地ip target_udp_port4
-
- 5.target1上UDP传输,Bind socket5,本地ip target_udp_port5'
- sub module: UDP
- summary: AP mode, create max udp socket test
+ steps: "1.target1 关闭DHCP OK\n2.target1 设置ip add OK\n3.target1 连接AP fail\n4.target1\
+ \ 打开DHCP OK\n5.查询到sta ip \n6.target1 连接AP ok\n7.查询到sta ip 为target_ip"
+ sub module: DHCP
+ summary: dhcp client function test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
+ test point 2: DHCP client function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0112
+ ID: ^TCPIP_DHCP_0102
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['']
+ - - DELAY 20
+ - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 C +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
+ expected result: "1.target1 set AP OK \n2.target1 关闭DHCP OK\n3.target2 jap target\
+ \ 1,FAIL \n4.target1 打开DHCP OK\n5.target2 jap target 1,ok"
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
module: TCPIP
- steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
-
- 2.关闭socket1'
- sub module: UDP
- summary: AP mode, close UDP sockets test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ steps: "1.target1 set AP OK \n2.target1 关闭DHCP OK\n3.target2 jap target 1,FAIL \n\
+ 4.target1 打开DHCP OK\n5.target2 jap target 1,ok"
+ sub module: DHCP
+ summary: dhcp server function test
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
+ test point 2: DHCP client function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_CONN_0501
+ ID: ^TCPIP_DHCP_0103
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC2 sta -R -r 1
- - ['R SSC2 C +RECONN:OK']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - DELAY 10
- - ['']
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- - - DELAY 15
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 sta -R -r 0
- - ['R SSC2 C +RECONN:OK']
- - - SSC SSC2 sta -R -r 2
- - ['R SSC2 C +RECONN:0']
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - DELAY 10
- - ['']
- - - SSC SSC1 op -S -o 2
+ - - SSC SSC1 op -S -o 3
- ['R SSC1 C +MODE:OK']
- - - DELAY 15
- - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
- - - SSC SSC2 sta -R -r 1
- - ['R SSC2 C +RECONN:OK']
+ - - SSC SSC1 dhcp -S -o 3
+ - ['R SSC1 C +DHCP:AP,OK C +DHCP:STA,OK']
+ - - SSC SSC1 dhcp -Q -o 3
+ - ['R SSC1 C +DHCP:STA,STARTED C +DHCP:AP,STARTED']
+ - - SSC SSC1 dhcp -Q -o 1
+ - ['R SSC1 C +DHCP:STA,STARTED NC +DHCP:AP,STARTED']
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 NC +DHCP:STA,STARTED C +DHCP:AP,STARTED']
+ - - SSC SSC1 dhcp -E -o 3
+ - ['R SSC1 C +DHCP:AP,OK C +DHCP:STA,OK']
+ - - SSC SSC1 dhcp -Q -o 3
+ - ['R SSC1 C +DHCP:STA,STOPPED C +DHCP:AP,STOPPED']
comment: ''
execution time: 0.0
- expected result: '1.设置reconn,开启(此功能不需要重启系统)
+ expected result: '1.OK
- 2.target1 set AP
+ 2.OK
- 3.target2 JAP target1 成功
+ 3.STA&AP STARTED
- 4.target2 断开target1 连接
+ 4.STA STARTED
- 5.等待10s,target2 自动重连target1
+ 5.AP STARTED
- 6.成功
+ 6.OK
- 7.查询reconn状态,关闭
+ 7.STA&AP STOPPED'
+ initial condition: STAAP1
+ initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
+ by STAM1)
+ level: Integration
+ module: TCPIP
+ steps: '1.target1 设置mode 为sta+softAP mode
- 8.修改mode 成功
+ 2.target1 打开DHCP 3
- 9.等待15s,target2 不会自动重连target1'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
- module: WIFI MAC
- steps: "1.设置reconn,开启(此功能不需要重启系统)\n2.target1下设置ssid 和pwd 加密方式\n3.target2 JAP target1\
- \ \n4.target1 修改mode 为sta mode\n5.等待10s,target1 修改mode 为softAP mode\n6.设置reconn,关闭\n\
- 7.查询reconn状态,关闭\n8.target1 修改mode 为sta mode\n9.等待15s,target1 修改mode 为softAP mode"
- sub module: WIFI Connect
- summary: reconnect policy test
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 3.target1 查询DHCP 状态
+
+ 4.target1 查询sta DHCP 状态
+
+ 5.target1 查询softAP DHCP 状态
+
+ 6.target1 关闭 DHCP 3
+
+ 7.target1 查询 DHCP 状态'
+ sub module: DHCP
+ summary: dhcp status query
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: reconnect policy test
+ test point 2: DHCP client function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_CONN_0502
+ ID: ^TCPIP_DHCP_0201
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 sta -R -r 1
- - ['R SSC2 C +RECONN:OK']
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - DELAY 5
- - ['R SSC2 C +JAP:DISCONNECTED']
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- - - DELAY 10
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:OK']
- - - DELAY 10
- - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 ip -S -o 2 -i <target_ap_ip>
+ - ['R SSC1 C +IP:OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.1 -e 192.168.4.10
+ - ['R SSC1 C +DHCP:LEASE,ERROR']
+ - - SSC SSC1 dhcp -L -s 192.168.4.5 -e 192.168.4.2
+ - ['R SSC1 C +DHCP:LEASE,ERROR']
+ - - SSC SSC1 dhcp -L -s 192.168.2.2 -e 192.168.2.5
+ - ['R SSC1 C +DHCP:LEASE,ERROR']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
comment: ''
execution time: 0.0
- expected result: '1.target1 set AP
-
- 2.target2 jap target 1
-
- 3.设置reconn,开启(此功能不需要重启系统)
-
- 4.target2 断开target1 连接
-
- 5.等待10s,target2 自动重连target1
+ expected result: '1.target1 关闭DHCP 2 OK
- 6.target2 断开target1 连接'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
- module: WIFI MAC
- steps: '1.target1下设置ssid 和pwd 加密方式
+ 2.target1 设置ip 成功
- 2.target2 jap target 1
+ 3.设置dhcp 地址池 OK
- 3.设置reconn,开启(此功能不需要重启系统)
+ 4.ERROR
- 4.target2 断开target1 连接
+ 5.ERROR
- 5.等待10s,target2 自动重连target1
+ 6.ERROR
- 6.target2 断开target1 连接'
- sub module: WIFI Connect
- summary: will not do reconnect after manually disconnected
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 7.target1 打开DHCP ok'
+ initial condition: APSTA1
+ initial condition description (auto): testing ap on sta + ap mode (autogen by APM1)
+ level: Integration
+ module: TCPIP
+ steps: "1.target1 关闭DHCP 2 \n2.target1 设置ip \n3.设置dhcp 地址池\n4.设置dhcp错误的参数\n5.设置dhcp错误的参数\n\
+ 6.设置dhcp错误的参数\n7.target1 打开DHCP ok"
+ sub module: DHCP
+ summary: server dhcp lease test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: reconnect policy test
+ 1 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_CONN_0401
+ ID: ^TCPIP_DHCP_0202
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -R -a 0
- - ['R SSC1 C +AUTORECONN:OK']
- - - SSC SSC1 sta -R -a 2
- - ['R SSC1 C +AUTORECONN:0']
- - - SSC SSC1 reboot
- - ['']
- - - DELAY 15
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - LOOP 3 4 "['01','02','03']" "[2,3,4]"
- ['']
- - - SSC SSC1 sta -Q
- - ['R SSC1 C JAP:DISCONNECTED']
- - - SSC SSC1 sta -R -a 1
- - ['R SSC1 C +AUTORECONN:OK']
- - - SSC SSC1 sta -R -a 2
- - ['R SSC1 C +AUTORECONN:1']
- - - SSC SSC1 reboot
- - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:OK']
+ - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
+ - ['R SSC2 C +MAC:STA,OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC2 ip -Q -o 1
+ - ['R SSC2 C +STAIP:192.168.4.{%s}']
comment: ''
execution time: 0.0
- expected result: '1.设置autoreconn,关闭
-
- 2.查询当前autoreconn状态是否关闭
-
- 3.重启系统,等待15s
-
- 4.查询target1 未自动重连AP
-
- 5.设置autoreconn,开启
-
- 6.查询当前autoreconn状态是否开启
-
- 7.系统重启后target1 自动重连AP'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: WIFI MAC
- steps: '1.设置autoreconn,关闭
-
- 2.查询当前autoreconn状态是否关闭
+ expected result: '1. succeed
- 3.重启系统,等待15s
+ 2. succeed
- 4.查询target1 未自动重连AP
+ 3,4: get IP from dhcp pool with correct sequence'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: TCPIP
+ steps: '1. config softap to a random ssid
- 5.设置autoreconn,开启
+ 2. config DHCP Server on Target1
- 6.查询当前autoreconn状态是否开启
+ 3. target change mac, connect to Target1
- 7.系统重启后target1 自动重连AP'
- sub module: WIFI Connect
- summary: auto reconnect test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 4. Loop step3'
+ sub module: DHCP
+ summary: dhcp server ip pool
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: power on auto reconnect test
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_MODE_0101
+ ID: ^TCPIP_DHCP_0203
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- ['R SSC1 C +SAP:OK']
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 dhcp -S -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- - - SSC SSC2 sta -S
- - [R SSC2 NP <target_ssid> C +SCANDONE]
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:OK']
- comment: ''
- execution time: 0.0
- expected result: '1.target1下设置ssid 和pwd 、加密方式成功
-
- 2.修改target 1的mode 为sta mode
-
- 3.target1的dhcp打开
-
- 4.target1成功连接上AP
-
- 5.target2上不能查询到target_ssid
-
- 6.target1断开AP'
- initial condition: T2O_1
- initial condition description (auto): same as T2_1 but will NOT autogen a TC with
- initial condition T2_2
- module: WIFI MAC
- steps: '1.target1下设置ssid 和pwd 加密方式
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - LOOP 2 4 "['01','02']" "[2,3]"
+ - ['']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:OK']
+ - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
+ - ['R SSC2 C +MAC:STA,OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC2 ip -Q -o 1
+ - ['R SSC2 C +STAIP:192.168.4.{%s}']
+ - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
+ - ['R SSC2 C +MAC:STA,OK']
+ - - DELAY 20
+ - ['']
+ - - SSC SSC2 ip -Q -o 1
+ - ['R SSC2 C +STAIP:0.0.0.0']
+ comment: ''
+ execution time: 0.0
+ expected result: '1. succeed
- 2.修改target1的mode 为sta mode
+ 2. succeed
- 3.target1的dhcp打开
+ 3. succeed
- 4.target1连接AP
+ 4.1 succeed
- 5.target2查询target_ssid
+ 4.2 failed'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: TCPIP
+ steps: '1. config softap to a random ssid
- 6.target1断开AP'
- sub module: WIFI Mode
- summary: mode switch test (sta mode)
+ 2. config DHCP Server on Target1(.4.2 - .4.3)
+
+ 3. target change mac, connect to Target1
+
+ 4. Loop step3 twice'
+ sub module: DHCP
+ summary: dhcp server ip pool empty
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: wifi mode fucntion
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_MODE_0103
+ ID: ^TCPIP_DHCP_0204
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 op -S -o 3
- - ['R SSC1 C +MODE:OK']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -S -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
- - - SSC SSC2 sta -S
- - [R SSC2 P <target_ssid>, R SSC2 C +SCANDONE]
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3 -t 1
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC2 ip -Q -o 1
+ - ['R SSC2 C +STAIP:192.168.4.2']
+ - - DELAY 90
+ - ['']
+ - - SSC SSC2 ip -Q -o 1
+ - ['R SSC2 C +STAIP:192.168.4.2']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +JAP:DISCONNECTED']
+ - - DELAY 60
+ - ['']
+ - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
+ - ['R SSC2 C +MAC:STA,OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC2 ip -Q -o 1
+ - ['R SSC2 C +STAIP:192.168.4.2']
comment: ''
execution time: 0.0
- expected result: '1.target1 change to AP mode
+ expected result: '1. succeed
- 2.target1 set AP
+ 2. succeed
- 3.target 1 的dhcp 打开
+ 3. get IP 192.168.4.2
- 4.target 1 成功连接上AP
+ 5. succeed
- 5.target 2 上查询到target_ssid'
- initial condition: T2O_1
- initial condition description (auto): same as T2_1 but will NOT autogen a TC with
- initial condition T2_2
- module: WIFI MAC
- steps: '1.target1 change to AP mode
+ 6. succeed
- 2.target1下设置ssid 和pwd 加密方式
+ 8. get IP 192.168.4.2'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: TCPIP
+ steps: '1. config softap to a random ssid
- 3.target1 的dhcp 打开
+ 2. config DHCP timeout as 1 minute
- 4.target1 连接AP
+ 3. target2 connect to target1
- 5.target2 上查询target_ssid'
- sub module: WIFI Mode
- summary: mode switch test (STA+AP mode)
+ 4. wait 90 seconds
+
+ 5. check if target2 IP is same
+
+ 6. target2 disconnect
+
+ 7. wait 60s
+
+ 8. target2 change mac and connect to target1'
+ sub module: DHCP
+ summary: dhcp server timeout test
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: wifi mode fucntion
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_MODE_0102
+ ID: ^TCPIP_DHCP_0205
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -S
- - [R SSC2 P <target_ssid>, R SSC2 C +SCANDONE]
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 C +JAP:ERROR']
- - - SSC SSC1 sta -D
- - ['R SSC1 C +QAP:ERROR']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3 -t 1
+ - ['P SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['P SSC1 C +DHCP:AP,OK', 'P SSC2 C +JAP:DISCONNECTED']
comment: ''
execution time: 0.0
- expected result: '1. target1 set AP
-
- 2.target 2 上查询到target_ssid
-
- 3. target1 can''t join AP
+ expected result: '1. succeed
- 4. target1 can''t QAP'
- initial condition: T2O_1
- initial condition description (auto): same as T2_1 but will NOT autogen a TC with
- initial condition T2_2
- module: WIFI MAC
- steps: '1.target1下设置ssid 和pwd 加密方式
+ 2. succeed
- 2.target 2 上查询target_ssid
+ 3. target2 wifi disconnected'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: TCPIP
+ steps: '1. config softap to a random ssid
- 3.target1 join AP
+ 2. target2 connect to target1
- 4.target1 DISCONN AP'
- sub module: WIFI Mode
- summary: mode switch test (AP mode)
+ 3. disable DHCP server, do config and enable'
+ sub module: DHCP
+ summary: disconnect STA if config dhcp server
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: wifi mode fucntion
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_CONN_0904
+ ID: ^TCPIP_DHCP_0206
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3 -m 1
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <random_string> -p 1234567890
- - ['R SSC2 RE JAP:DISCONNECTED,\d+,204']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - LOOP 4 4 "['01','02','03','01']" "[2,3,4,2]"
+ - ['']
- - SSC SSC2 sta -D
- ['R SSC2 C +QAP:OK']
- - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> <pc_ip_wifi>
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
+ - ['R SSC2 C +MAC:STA,OK']
- - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 RE JAP:DISCONNECTED,\d+,5']
- - - WIFI <pc_wifi_nic> DISCONN
- - [P PC_COM C OK, 'R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3 -m 1
- - ['P SSC1 C +SAP:OK', 'P SSC2 RE JAP:DISCONNECTED,\d+,4']
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC2 ip -Q -o 1
+ - ['R SSC2 C +STAIP:192.168.4.{%s}']
comment: ''
execution time: 0.0
expected result: '1. succeed
- 2. disconnect event REASON_HANDSHAKE_TIMEOUT
-
- 3. succeed
-
- 4. succeed
-
- 5. disconnect event REASON_ASSOC_TOOMANY
+ 2. succeed
- 6. succeed, target2 connect succeed
+ 4. get IP 192.168.4.2 - 192.168.4.4
- 7. disconnect event REASON_ASSOC_EXPIRE'
+ 5. get IP 192.168.4.2'
initial condition: T2_2
initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1. config target1 softap max sta allowed 1
-
- 2. target2 connect to target1 with wrong password
-
- 3. target2 disconnect
+ level: Integration
+ module: TCPIP
+ steps: '1. config softap to a random ssid
- 4. PC WIFI NIC connect to target1
+ 2. disable DHCP server, do config and enable
- 5. target2 connect to target1 with correct password
+ 3. target2 change mac, connect to softap, disconnect
- 6. PC WIFI NIC disconnect
+ 4. Loop step3 twice
- 7. reconfig softap'
- sub module: WIFI Connect
- summary: test wifi disconnect reason REASON_ASSOC_TOOMANY, REASON_HANDSHAKE_TIMEOUT,
- REASON_ASSOC_EXPIRE
+ 5. change to first mac, connect to softap'
+ sub module: DHCP
+ summary: dhcp server assign same IP to same MAC when it's not released
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: wifi disconnect reason test
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_CONN_0902
+ ID: ^TCPIP_DHCP_0207
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 C +JAP:CONNECTED']
- - - APC <APC1> OFF <ap_apc>
- - [P PC_COM L OK, 'R SSC1 RE JAP:DISCONNECTED,\d+,200']
- - - APC <APC1> ON <ap_apc>
- - [P PC_COM L OK]
- comment: ''
- execution time: 0.0
- expected result: '1. succeed
-
- 2. disconnect event REASON_BEACON_TIMEOUT'
- initial condition: STAAP1
- initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
- by STAM1)
- module: WIFI MAC
- steps: '1. connect to AP
-
- 2. AP power off'
- sub module: WIFI Connect
- summary: test wifi disconnect reason REASON_BEACON_TIMEOUT
- test environment: SSC_T1_APC
- test environment description (auto): "PC has 1 wired NIC connected to AP.\nPC has\
- \ 1 wired NIC connected to APC (static IP within the same subnet with APC). \n\
- APC control AP power supply. \nPC has 1 WiFi NIC. \n1 SSC target connect with\
- \ PC by UART."
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - WIFI <pc_wifi_nic> DISCONN2
+ - ['R PC_COM NC ERROR C +WIFIDISCONN:OK']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:OK']
+ - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
+ - ['R SSC2 C +MAC:STA,OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC2 ip -Q -o 1
+ - ['R SSC2 C +STAIP:192.168.4.2']
+ comment: ''
+ execution time: 0.0
+ expected result: '1. succeed
+
+ 2. succeed
+
+ 3. get IP 192.168.4.2
+
+ 4. succeed
+
+ 5. succeed
+
+ 6. get IP 192.168.4.2'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: TCPIP
+ steps: '1. config softap to a random ssid
+
+ 2. disable DHCP server, do config and enable
+
+ 3. PC WIFI NIC connect to target1 softap
+
+ 4. target2 connect to target1 softap and disnnect
+
+ 5. PC release IP and disconnected
+
+ 6. target2 change mac and connect to target1'
+ sub module: DHCP
+ summary: dhcp server prefer assign released IP to new client
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: wifi disconnect reason test
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_CONN_0901
+ ID: ^TCPIP_DHCP_0208
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
- Test App: basic function
+ Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC1 sta -D
- - ['R SSC1 RE JAP:DISCONNECTED,\d+,8']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <random_string>
- - ['R SSC1 RE JAP:DISCONNECTED,\d+,15']
- - - SSC SSC1 sta -C -s <random_string> -p <ap_password>
- - ['R SSC1 RE JAP:DISCONNECTED,\d+,201']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['P SSC1 C +DHCP:AP,OK', 'P SSC2 C +JAP:DISCONNECTED']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +JAP:DISCONNECTED']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - SSC SSC1 ap -L
+ - [R SSC1 C 192.168.4.2 P <pc_wifi_nic_mac>]
comment: ''
execution time: 0.0
- expected result: '1. disconnect event reason REASON_ASSOC_LEAVE
+ expected result: '1. succeed
- 2. disconnect event reason REASON_4WAY_HANDSHAKE_TIMEOUT
+ 2. succeed
- 3. disconnect event reason REASON_NO_AP_FOUND'
- initial condition: STAAP1
- initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
- by STAM1)
- module: WIFI MAC
- steps: '1. sta connect to AP, and disconnect
+ 3. succeed
- 2. connect to AP with wrong password
+ 4. get IP 192.168.4.2
- 3. connect to AP not exist'
- sub module: WIFI Connect
- summary: test wifi disconnect reason REASON_ASSOC_LEAVE, REASON_4WAY_HANDSHAKE_TIMEOUT,
- REASON_NO_AP_FOUND
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 5. can only find target2 with IP 192.168.4.2'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: TCPIP
+ steps: '1. config softap to a random ssid
+
+ 2. PC NIC connect to target1 softap
+
+ 3. disable DHCP server, do config and enable
+
+ 4. target2 connect to target1 softap
+
+ 5. softap list connected station'
+ sub module: DHCP
+ summary: dhcp server reconfig and new client able to get first IP in pool
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: wifi disconnect reason test
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0201
+ ID: ^TCPIP_DHCP_0209
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [SOCR SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock2>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock3>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock3> -h B
- - ['P SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
- - - SSC SSC1 soc -T
- - [R SSC1 C +CLOSEALL]
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - DELAY 20
+ - ['']
+ - - SSC SSC1 ap -L
+ - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
comment: ''
execution time: 0.0
- expected result: '1.ok
-
- 2.OK
-
- 3.ERROR
-
- 4.OK
-
- 5.OK
-
- 6.ERROR
-
- 7.OK
-
- 8.OK
+ expected result: '1. succeed
- 9.OK
+ 2. succeed
- 10.OK
+ 3. succeed
- 11.OK
+ 4. succeed
- 12.ERROR'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ 5. find target2 and PC'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
-
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,<test_udp_port1>
-
- 4.target1上创建TCP socket
-
- 5.target1上使用步骤4创建的socket,创建TCP 监听
-
- 6.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
-
- 7.target1上创建TCP socket
-
- 8.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+ steps: '1. config softap to a random ssid
- 9.target1上关闭步骤7创建的socket
+ 2. target2 connect to target1 softap
- 10.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+ 3. disable DHCP server, do config and enable
- 11.target1上关闭所有创建的socket
+ 4. PC NIC connect to target1 softap
- 12.target1上使用步骤2创建的socket,去连接 PC的ip,<test_tcp_port1>'
- sub module: TCP
- summary: STA mode, connect test. use socket in state that can't connect
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 5. softap list connected station'
+ sub module: DHCP
+ summary: dhcp server reconfig, old client and new client able to get IP
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) in different state
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0206
+ ID: ^TCPIP_DHCP_0210
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP -i <target_ip>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP -i <target_ip>
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock2>
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -B -t TCP -p <random_port>
- - ['R SSC1 A <sock3>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock3>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SOC SOC2 CONNECT <random_port> <target_ip>
- - ['R SSC1 A <sock4>:ACCEPT:(\d+),\d+,.+,\d+']
- - - SSC SSC1 soc -I
- - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>)',
- 'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%(<sock2>)', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(<sock3>,<random_port>)',
- 'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\d+"%%(<sock4>,<target_ip>,<random_port>,<pc_ip>)']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - WIFI <pc_wifi_nic> CONN2 <random_string> <random_string> 192.168.4.2
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - SSC SSC1 ap -L
+ - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK,pc tcp server accept成功
-
- 4.OK
-
- 5.OK
-
- 6.OK
+ expected result: '1. succeed
- 7.OK
+ 2. succeed
- 8.OK
+ 3. succeed
- 9.PC OK, target1 +ACCEPT:3,2,<pc_ip>,port
+ 4. succeed
- 10.+SOCINFO:<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>
+ 5. find target2 and PC'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: TCPIP
+ steps: '1. config softap to a random ssid
- +SOCINFO:<sock2>,<target_ip>,<pc_ip>,<test_tcp_port1>
+ 2. target2 connect to target1 softap
- +SOCINFO:<sock3>,<random_port>
+ 3. disable DHCP server, do config and enable
- +SOCINFO:<sock4>,<target_ip>,<random_port>,<pc_ip>
+ 4. PC NIC connect to target1 softap try to renew IP 192.168.4.2
- +SOCINF0ALL'
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
- module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1,本地ip target_ip\n3.target1上使用步骤2创建的socket1,去连接\
- \ PC的ip,test_tcp_port1,PC有ACCEPT\n4.target1上创建TCP socket2,本地ip target_ip\n5.target1上使用步骤4创建的socket2,去连接\
- \ PC的ip,test_tcp_port1,PC有ACCEPT\n6.target1 shutdown socket2 \n7.target1上创建TCP\
- \ socket3,本地端口random_port\n8.target1上使用步骤7创建的socket3,去监听\n9.PC CONNECT<random_port>,<target_ip>\
- \ ,tcp 连接创建成功,创建socket4 \n10.target1 查询the socket information"
- sub module: TCP
- summary: STA mode, get active socket info test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 5. softap list connected station'
+ sub module: DHCP
+ summary: dhcp server reconfig, old client able to get IP (discover with requested
+ IP)
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) in different state
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0207
+ ID: ^TCPIP_DHCP_0211
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- - [SOCR SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock2>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock3>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock3> -h B
- - ['P SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
- - - SSC SSC1 soc -T
- - [R SSC1 C +CLOSEALL]
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - DELAY 10
+ - ['']
+ - - SSC SSC1 ap -L
+ - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
comment: ''
execution time: 0.0
- expected result: '1.ok
-
- 2 OK
-
- 3.ERROR
-
- 4.OK
-
- 5.OK
-
- 6.ERROR
-
- 7.OK
-
- 8.OK
+ expected result: '1. succeed
- 9.OK
+ 2. succeed
- 10.OK
+ 3. succeed
- 11.OK
+ 4. succeed
- 12.ERROR'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
+ 5. find target2 and PC'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
-
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,<test_udp_port1>
-
- 4.target1上创建TCP socket
-
- 5.target1上使用步骤4创建的socket,创建TCP 监听
-
- 6.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
-
- 7.target1上创建TCP socket
-
- 8.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+ steps: '1. config softap to a random ssid
- 9.target1上关闭步骤7创建的socket
+ 2. target2 connect to target1 softap
- 10.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+ 3. disable DHCP server, do config and enable
- 11.target1上关闭所有创建的socket
+ 4. PC NIC connect to target1 softap try to renew IP 192.168.4.2
- 12.target1上使用步骤2创建的socket,去连接 PC的ip,<test_tcp_port1>'
- sub module: TCP
- summary: AP mode, connect test. use socket in state that can't connect
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 5. softap list connected station'
+ sub module: DHCP
+ summary: dhcp server reconfig, old client able to renew IP (direct send request)
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) in different state
+ test point 2: DHCP server function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_DNS_0101
+ ID: ^TCPIP_DHCP_0301
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 3/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -H -d iot.espressif.cn
- - ['R SSC1 C +HOSTIP:OK,115.29.202.58']
+ - - SSC SSC1 dhcp -E -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -S -i 192.168.123.123 -o 1
+ - ['R SSC1 C +IP:OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC1 ip -S -i 0.0.0.0 -o 1
+ - ['R SSC1 C +IP:OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['']
+ - - DELAY 10
+ - [P PC_COM C +DELAYDONE, 'P SSC1 NC +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: 1.OK
- initial condition: STAAP2
- initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
- on (autogen by STAM2)
+ expected result: '1.OK
+
+ 2.OK
+
+ 3.JAP CONNETED
+
+ 4.OK
+
+ 5.等待10s,JAP fail'
+ initial condition: STAAP1
+ initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
+ by STAM1)
+ level: Integration
module: TCPIP
- steps: 1. get host name "espressif.cn"
- sub module: DNS
- summary: get host by name test
- test environment: SSC_T1_2
- test environment description (auto): 'Able to access WAN after connect to AP.
+ steps: '1.target1 关闭DHCP 1
+
+ 2.target1 设置sta ip 192.168.123.123
+
+ 4.target1 jap AP
+
+ 5.target1 设置sta ip 0.0.0.0
+
+ 6.target1 jap AP'
+ sub module: DHCP
+ summary: sta dhcp static ip interaction
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: DNS function test
+ test point 1: interaction
+ test point 2: static IP and DHCP interaction test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_DNS_0103
+ ID: ^TCPIP_DHCP_0302
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 3/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -H -d iot.espressif.cn
- - ['R SSC1 A <ip_addr>:\+HOSTIP:OK,(.+)\r\n']
- - - SSC SSC1 soc -B -t UDP
- - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <ip_addr> -p 9003 -l 10
- - ['P SSC1 RE \+SEND:\d+,OK', P SSC1 SL <sock1>+10]
- comment: ''
- execution time: 0.0
- expected result: '1.OK
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 ip -S -i 192.168.123.123 -o 2
+ - ['R SSC1 C +IP:ERROR']
+ - - SSC SSC1 dhcp -L -s 192.168.2.2 -e 192.168.2.10
+ - ['R SSC1 C +DHCP:LEASE,ERROR']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['P SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 ip -S -i 192.168.4.1 -o 2
+ - ['R SSC1 C +IP:OK']
+ - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.10
+ - ['R SSC1 C +DHCP:LEASE,OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['']
+ - - DELAY 10
+ - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
+ comment: ''
+ execution time: 0.0
+ expected result: '1.target 1 OK
- 2.OK
+ 2.target1 ERROR
- 3.OK'
+ 3.target1 ERROR
+
+ 4.target2 jap target1 OK
+
+ 5.target1 OK
+
+ 6.target1 OK
+
+ 7.target1 OK
+
+ 8.target2 jap target1 OK'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: TCPIP
+ steps: "1.target1 打开DHCP 2\n2.target1 设置softAP ip 192.168.123.123\n3.target1 设置地址池\n\
+ 4.target1下设置ssid 和pwd 加密方式\n5.target2 连接target1 \n6.target1 关闭DHCP 2\n7.target1\
+ \ 设置softAP ip \n8.target1 设置正确的地址池\n9.target2 连接target1"
+ sub module: DHCP
+ summary: ap dhcp static ip interaction
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 2 SSC target connect with PC by UART.'
+ test point 1: interaction
+ test point 2: static IP and DHCP interaction test
+ version: v1 (2016-8-15)
+- CI ready: 'Yes'
+ ID: ^TCPIP_DNS_0101
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
+ Test App: SSC
+ allow fail: 3/5
+ auto test: 'Yes'
+ category: Function
+ cmd set:
+ - ''
+ - - SSC SSC1 soc -H -d iot.espressif.cn
+ - ['R SSC1 C +HOSTIP:OK,115.29.202.58']
+ comment: ''
+ execution time: 0.0
+ expected result: 1.OK
initial condition: STAAP2
initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1. get host name "espressif.cn"
-
- 2. sendto, recvfrom1. get host name "espressif.cn"
-
- 2. sendto, recvfrom'
+ steps: 1. get host name "espressif.cn"
sub module: DNS
- summary: UDP send to iot.expressif.com
+ summary: get host by name test
test environment: SSC_T1_2
test environment description (auto): 'Able to access WAN after connect to AP.
initial condition: STAAP2
initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
on (autogen by STAM2)
+ level: Integration
module: TCPIP
steps: '1. get host name "espressif.cn"
test point 2: DNS function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0106
+ ID: ^TCPIP_DNS_0103
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 3/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock3>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock4>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock4> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock5>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock5> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -H -d iot.espressif.cn
+ - ['R SSC1 A <ip_addr>:\+HOSTIP:OK,(.+)\r\n']
+ - - SSC SSC1 soc -B -t UDP
+ - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <ip_addr> -p 9003 -l 10
+ - ['P SSC1 RE \+SEND:\d+,OK', P SSC1 SL <sock1>+10]
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK,pc tcp server accept成功
-
- 4 OK
-
- 5.OK,pc tcp server accept成功
-
- 6.OK
-
- 7.OK,pc tcp server accept成功
-
- 8 OK
-
- 9.OK,pc tcp server accept成功
-
- 10.OK
-
- 11.OK,pc tcp server accept成功'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 3.OK'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建TCP socket1
-
- 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
-
- 4.target1上创建TCP socket2
+ steps: '1. get host name "espressif.cn"
- 5.target1上使用步骤4创建的socket2,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+ 2. sendto, recvfrom1. get host name "espressif.cn"
- 6.target1上创建TCP socket3
+ 2. sendto, recvfrom'
+ sub module: DNS
+ summary: UDP send to iot.expressif.com
+ test environment: SSC_T1_2
+ test environment description (auto): 'Able to access WAN after connect to AP.
- 7.target1上使用步骤6创建的socket3,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+ 1 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: DNS function test
+ version: v1 (2016-8-15)
+- CI ready: 'Yes'
+ ID: ^TCPIP_ICMP_0101
+ SDK: '8266_NonOS
- 8.target1上创建TCP socket4
+ 8266_RTOS
- 9.target1上使用步骤8创建的socket4,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+ ESP32_IDF'
+ Test App: SSC
+ allow fail: 1/5
+ auto test: 'Yes'
+ category: Function
+ cmd set:
+ - ''
+ - - SSC SSC1 ping -i <pc_ip>
+ - ['R SSC1 C +PING:OK']
+ - - SSC SSC1 ping -i <pc_ip> -c 2
+ - ['R SSC1 C +PING:OK']
+ comment: ''
+ execution time: 0.0
+ expected result: '1.ok
- 10.target1上创建TCP socket5
+ 2.ok'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.ping -i <pc_ip>
- 11.target1上使用步骤10创建的socket5,去连接 PC的ip,test_tcp_port1,PC有ACCEPT'
- sub module: TCP
- summary: STA mode, create max TCP sockets test
+ 2.ping -i <pc_ip> -c 2'
+ sub module: ICMP
+ summary: ping function test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 2: ping function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0107
+ ID: ^TCPIP_IGMP_0101
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t TCP -p <random_port>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock1>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SOC SOC2 CONNECT <random_port> <target_ip>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
- - - SOC SOC3 CONNECT <random_port> <target_ip>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
- - - SOC SOC4 CONNECT <random_port> <target_ip>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
- - - SOC SOC5 CONNECT <random_port> <target_ip>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
- - - SOC SOC6 CONNECT <random_port> <target_ip>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 igmp -J -h <target_ip> -m 223.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -J -h <target_ip> -m 240.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -J -h 192.168.237.77 -m 224.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -J -h 192.168.237.77 -m 240.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
comment: ''
execution time: 0.0
- expected result: '1.+BIND:0,OK,0.0.0.0
+ expected result: '1. success
- 2.OK
+ 2. failed
- 3.OK,pc tcp server accept成功
+ 3. failed
- 4.OK,pc tcp server accept成功
+ 4. failed'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: '1. join group with correct host addr and multicast addr
- 5.OK,pc tcp server accept成功
+ 2. join group with correct host addr and wrong multicast addr
- 6.OK,pc tcp server accept成功
+ 3. join group with wrong host addr and correct multicast addr
- 7.OK,pc tcp server accept成功'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
- module: TCPIP
- steps: "1.target1上创建TCP socket 端口随机\n2.target1上使用步骤4创建的socket1,去监听\n3.PC CONNECT<random_port>,<target_ip>\
- \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket3\
- \ \n5.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT<random_port>,<target_ip>\
- \ ,tcp 连接创建成功,创建socket5 \n7.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket6\
- \ "
- sub module: TCP
- summary: STA mode, accept max TCP client by server test
+ 4. join group with wrong host addr and wrong multicast addr'
+ sub module: IGMP
+ summary: station IGMP join group address check
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 2: IGMP API parameter check
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0104
+ ID: ^TCPIP_IGMP_0102
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock1> -h B
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock2> -h W
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock3>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock3> -h R
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.2
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -L -h 192.168.237.77 -m 224.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -L -h 192.168.237.77 -m 240.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK,pc tcp server accept OK
-
- 4.OK
-
- 5.OK
-
- 6.OK,pc tcp server accept OK
+ expected result: '1. success
- 7.OK
+ 2. failed
- 8.OK
+ 3. failed
- 9.OK,pc tcp server accept OK
+ 4. failed
- 10.OK'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 5. succeed'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1. PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建TCP socket
-
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
-
- 4.target1 shutdown socket1 B
-
- 5.target1上创建TCP socket
-
- 6.target1上使用步骤5创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+ steps: '1. join group with correct host addr and multicast addr
- 7.target1 shutdown socket2 W
+ 2. leave group with correct host addr and wrong multicast addr
- 8.target1上创建TCP socket
+ 3. leave group with wrong host addr and correct multicast addr
- 9.target1上使用步骤8创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+ 4. leave group with wrong host addr and wrong multicast addr
- 10.target1 shutdown socket3 R'
- sub module: TCP
- summary: STA mode, shutdown basic test
+ 5. leave group with correct host addr and correct multicast addr'
+ sub module: IGMP
+ summary: station IGMP leave group address check
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 2: IGMP API parameter check
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0105
+ ID: ^TCPIP_IGMP_0103
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -B -t TCP -p <random_port>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock1>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SOC SOC2 CONNECT <random_port> <target_ip>
- - ['R SSC1 A <sock2>:ACCEPT:(\d+),\d+,.+,\d+']
- - - SSC SSC1 soc -T -s <sock2>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock1>
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 igmp -J -h <target_ap_ip> -m 223.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -J -h <target_ap_ip> -m 240.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -J -h 192.168.237.77 -m 224.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -J -h 192.168.237.77 -m 240.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK
-
- 4.OK
-
- 5.OK
-
- 6.OK
-
- 7.target1关闭socket1
-
- 8.target1关闭socket2
-
- 9.OK
+ expected result: '1. success
- 10.OK,pc tcp server accept成功
+ 2. failed
- 11.target1关闭socket1
+ 3. failed
- 12.OK
+ 4. failed'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
+ module: TCPIP
+ steps: '1. join group with correct host addr and multicast addr
- 13.OK,pc tcp server accept成功
+ 2. join group with correct host addr and wrong multicast addr
- 14.OK
+ 3. join group with wrong host addr and correct multicast addr
- 15.target1关闭socket1'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
- module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1关闭socket1\n\
- 4.target1上创建TCP socket 端口随机\n5.target1上使用步骤4创建的socket1,去监听\n6.PC CONNECT<random_port>,<target_ip>\
- \ ,tcp 连接创建成功,创建socket2 \n7.target1关闭socket1\n8.target1关闭socket2\n\
- 9.target1上创建TCP socket1\n10.target1上使用步骤10创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT\n\
- 11.target1关闭socket1\n12.target1上创建TCP socket1\n13.target1上使用步骤13创建的socket1,去连接\
- \ PC的ip,test_tcp_port1,PC有ACCEPT\n14.target1shutdown socket1\n15.target1关闭socket1"
- sub module: TCP
- summary: STA mode, close for different types of TCP sockets test
+ 4. join group with wrong host addr and wrong multicast addr'
+ sub module: IGMP
+ summary: softAP IGMP join group address check
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 2: IGMP API parameter check
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0102
+ ID: ^TCPIP_IGMP_0104
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t TCP -p <random_port>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock1>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SOC SOC1 CONNECT <random_port> <target_ip>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK]
- - - SOC SOC1 CONNECT <test_tcp_port2> <target_ip>
- - [P SOC_COM C ERROR, P SSC1 NC ACCEPT]
+ - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.2
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -L -h 192.168.237.77 -m 224.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -L -h 192.168.237.77 -m 240.1.1.1
+ - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: '1. success
- 2.OK
+ 2. failed
- 3.PC TCP client accept
+ 3. failed
- 4.error'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 4. failed
+
+ 5. succeed'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
module: TCPIP
- steps: '1.target1上创建TCP socket,bind到本地端口<random_port>
+ steps: '1. join group with correct host addr and multicast addr
- 2.target1上使用步骤1创建的socket,创建TCP 监听
+ 2. leave group with correct host addr and wrong multicast addr
- 3.PC TCP 连接到target1 <random_port>,<target_ip>
+ 3. leave group with wrong host addr and correct multicast addr
- 4.PC tcp 连接到不存在的port ,<target_ip>'
- sub module: TCP
- summary: STA mode, server listen test. use different kinds of port
+ 4. leave group with wrong host addr and wrong multicast addr
+
+ 5. leave group with correct host addr and correct multicast addr'
+ sub module: IGMP
+ summary: softAP IGMP leave group address check
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 2: IGMP API parameter check
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0103
+ ID: ^TCPIP_IGMP_0201
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
+ - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+ - - SOC SOC1 BIND <test_udp_port1>
- [R SOC_COM L OK]
- - - SOC SOC2 SEND 5
- - [R SSC1 SL <sock1>+5]
- - - SSC SSC1 soc -S -s <sock1> -l 5
- - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 5]
- - - SOC SOC2 SEND 146000
- - [R SSC1 SL <sock1>+146000]
- - - SSC SSC1 soc -S -s <sock1> -l 1460 -n 100
- - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 146000]
+ - - SOC SOC1 SENDTO 1 <test_udp_port1> 224.1.1.1
+ - [R SSC1 SL <sock1>+1]
+ - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK,pc上回accept
-
- 4.OK
-
- 5.target收到5 byte
-
- 6.PC收到5 byte
+ expected result: '1. succeed
- 7.target收到 146000 byte
+ 2. succeed
- 8.OK,PC 回SOC_RECV=SOC2,RECV_LEN=字节数'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 3. able to recv packet'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1. PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建TCP socket
-
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
-
- 4.PC与target1 创建好TCP 连接,有ACCEPT
-
- 5.PC send 5 bytes to 8266
-
- 6.8266 send 5 bytes to PC
+ steps: '1. join group
- 7. PC send 100 * 1460 data to 8266,
+ 2. create UDP socket using multicast addr
- 8.8266 send 100 * 1460 to PC. '
- sub module: TCP
- summary: STA mode, send/recv basic test
+ 3. PC send UDP packet to multicast addr'
+ sub module: IGMP
+ summary: station IGMP recv packets
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 2: IGMP send/recv test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0101
+ ID: ^TCPIP_IGMP_0202
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [SOCR SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,OK', P SOC1 C +ACCEPT]
- - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i 123.456.678.789 -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port2>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC2 op -S -o 1
+ - ['R SSC2 C +MODE:OK']
+ - - SSC SSC2 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 igmp -J -h <target_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+ - - SSC SSC2 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC2 A <sock2>:\+BIND:(\d+),OK']
+ - - SSC SSC2 soc -S -s <sock2> -i 224.1.1.1 -p <test_udp_port1> -l 10
+ - [R SSC1 SL <sock1>+1]
+ - - SSC SSC1 igmp -L -h <target_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK; PC TCP server accept 成功
+ expected result: '1. succeed
- 4.OK
+ 2. succeed
- 5.ERROR
+ 3. succeed
- 6.ERROR'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 4. target1 recv multicast packet'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
-
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+ steps: '1. target2 set to sta mode and join AP
- 4.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+ 2. target1 join group and create UDP socket using multicast addr
- 5.target1上使用步骤4创建的socket,去连接不存在的ip,test_tcp_port1
+ 3. target2 create UDP socket
- 6.target1上使用步骤2创建的socket,去连接 PC的ip,远端端口不存在。'
- sub module: TCP
- summary: STA mode, connect test. use different ip, port
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 4. target2 send to multicast addr'
+ sub module: IGMP
+ summary: station send multicast packets
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 2: IGMP send/recv test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0116
+ ID: ^TCPIP_IGMP_0203
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock1>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
- - - SOC SOC3 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
- - - SOC SOC4 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
- - - SOC SOC5 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
- - - SOC SOC6 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
+ - [R SOC_COM L OK]
+ - - SOC SOC1 SENDTO 1 <test_udp_port1> 224.1.1.1
+ - [R SSC1 SL <sock1>+1]
+ - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
comment: ''
execution time: 0.0
- expected result: '1.+BIND:0,OK,0.0.0.0
-
- 2.OK
-
- 3.OK,pc tcp server accept成功
-
- 4.OK,pc tcp server accept成功
-
- 5.OK,pc tcp server accept成功
+ expected result: '1. succeed
- 6.OK,pc tcp server accept成功
+ 2. succeed
- 7.OK,pc tcp server accept成功'
+ 3. able to recv packet'
initial condition: APSTA2
initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
by APM2)
+ level: Integration
module: TCPIP
- steps: "1.target1上创建TCP socket 端口随机\n2.target1上使用步骤4创建的socket1,去监听\n3.PC CONNECT<random_port>,<target_ip>\
- \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket3\
- \ \n5.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT<random_port>,<target_ip>\
- \ ,tcp 连接创建成功,创建socket5 \n7.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket6"
- sub module: TCP
- summary: AP mode, accept max TCP client by server test
+ steps: '1. join group
+
+ 2. create UDP socket using multicast addr
+
+ 3. PC send UDP packet to multicast addr'
+ sub module: IGMP
+ summary: softAP IGMP recv packets
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 2: IGMP send/recv test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0114
+ ID: ^TCPIP_IGMP_0204
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -B -t TCP -p <random_port>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock1>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
- - ['R SSC1 A <sock2>:ACCEPT:(\d+),\d+,.+,\d+']
- - - SSC SSC1 soc -T -s <sock2>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock1>
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
+ - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
+ - - SSC SSC2 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC2 A <sock2>:\+BIND:(\d+),OK']
+ - - SSC SSC2 soc -S -s <sock2> -i 224.1.1.1 -p <test_udp_port1> -l 10
+ - [R SSC1 SL <sock1>+1]
+ - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
+ - ['R SSC1 C +IGMP:OK']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK
-
- 4.OK
-
- 5.OK
+ expected result: '1. succeed
- 6.OK,target1上accept 成功
+ 2. succeed
- 7.target1关闭socket1
+ 3. succeed
- 8.target1关闭socket2
+ 4. target1 recv multicast packet'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: TCPIP
+ steps: '1. target2 join SoftAP
- 9.OK
+ 2. target1 join group and create UDP socket using multicast addr
- 10.OK,pc tcp server accept成功
+ 3. target2 create UDP socket
- 11.target1关闭socket1
+ 4. target2 send to multicast addr'
+ sub module: IGMP
+ summary: softAP send multicast packets
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
- 12.OK
+ PC has 1 WiFi NIC.
- 13.OK,pc tcp server accept成功
+ 2 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: IGMP send/recv test
+ version: v1 (2016-8-15)
+- CI ready: 'Yes'
+ ID: ^TCPIP_IP_0101
+ SDK: '8266_NonOS
- 14.OK
+ 8266_RTOS
- 15.target1关闭socket1'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
+ ESP32_IDF'
+ Test App: SSC
+ allow fail: ''
+ auto test: 'Yes'
+ category: Function
+ cmd set:
+ - ''
+ - - SSC SSC1 dhcp -S -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -S -o 1 -i 192.168.123.123
+ - ['R SSC1 C +IP:ERROR']
+ - - SSC SSC1 dhcp -E -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -S -o 1 -i 192.168.123.123
+ - ['R SSC1 C +IP:OK']
+ - - SSC SSC1 ip -Q -o 1
+ - ['R SSC1 C +STAIP:192.168.123.123']
+ comment: ''
+ execution time: 0.0
+ expected result: '1.OK
+
+ 2.ERROR
+
+ 3.OK
+
+ 4.OK
+
+ 5.STAIP:192.168.123.123'
+ initial condition: STAAP1
+ initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
+ by STAM1)
+ level: Integration
module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1关闭socket1\n\
- 4.target1上创建TCP socket 端口随机\n5.target1上使用步骤4创建的socket1,去监听\n6.PC CONNECT<random_port>,<target_ip>\
- \ ,tcp 连接创建成功,创建socket2 \n7.target1关闭socket1\n8.target1关闭socket2\n\
- 9.target1上创建TCP socket1\n10.target1上使用步骤10创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT\n\
- 11.target1关闭socket1\n12.target1上创建TCP socket1\n13.target1上使用步骤13创建的socket1,去连接\
- \ PC的ip,test_tcp_port1,PC有ACCEPT\n14.target1shutdown socket1\n15.target1关闭socket1"
- sub module: TCP
- summary: AP mode, close for different types of TCP sockets test
+ steps: '1.target1 打开DHCP 1
+
+ 2.target1 设置sta ip 192.168.123.123
+
+ 4.target1 关闭DHCP 1
+
+ 5.target1 设置sta ip 192.168.123.123
+
+ 6.target1 查询 当前sta ip'
+ sub module: IP
+ summary: sta set and query static ip test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 2: set and query static IP
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0115
+ ID: ^TCPIP_IP_0102
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
+ - - SSC SSC1 dhcp -S -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 ip -S -o 2 -i 192.168.123.123
+ - ['R SSC1 C +IP:ERROR']
+ - - SSC SSC1 dhcp -E -o 2
+ - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 ip -S -o 2 -i 192.168.123.123
+ - ['R SSC1 C +IP:OK']
+ - - SSC SSC1 ip -Q -o 2
+ - ['R SSC1 C +APIP:192.168.123.123']
+ - - SSC SSC1 ip -S -o 2 -i <target_ap_ip>
+ - ['R SSC1 C +IP:OK']
+ comment: ''
+ execution time: 0.0
+ expected result: '1.OK
+
+ 2.ERROR
+
+ 3.OK
+
+ 4.OK
+
+ 5.APIP:192.168.123.123
+
+ 6.OK'
+ initial condition: APSTA1
+ initial condition description (auto): testing ap on sta + ap mode (autogen by APM1)
+ level: Integration
+ module: TCPIP
+ steps: "1.target1 打开DHCP 2\n2.target1 设置softAP ip 192.168.123.123\n4.target1 关闭DHCP\
+ \ 2\n5.target1 设置softAP ip 192.168.123.123\n6.target1 查询 当前sta ip \n7.target1\
+ \ 设置softAP ip 为target_ap_ip"
+ sub module: IP
+ summary: ap set and query static ip test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 1 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: set and query static IP
+ version: v1 (2016-8-15)
+- CI ready: 'Yes'
+ ID: ^TCPIP_TCP_0101
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
+ Test App: SSC
+ allow fail: ''
+ auto test: 'Yes'
+ category: Function
+ cmd set:
+ - ''
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [SOCR SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,OK', P SOC1 C +ACCEPT]
+ - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
- ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock3>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock4>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock4> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock5>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock5> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -C -s <sock2> -i 123.456.678.789 -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port2>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK,pc tcp server accept成功
+ 3.OK; PC TCP server accept 成功
- 4 OK
+ 4.OK
- 5.OK,pc tcp server accept成功
+ 5.ERROR
- 6.OK
+ 6.ERROR'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 7.OK,pc tcp server accept成功
+ 2.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
- 8 OK
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
- 9.OK,pc tcp server accept成功
+ 4.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
- 10.OK
+ 5.target1上使用步骤4创建的socket,去连接不存在的ip,test_tcp_port1
- 11.OK,pc tcp server accept成功'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
- module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
+ 6.target1上使用步骤2创建的socket,去连接 PC的ip,远端端口不存在。'
+ sub module: TCP
+ summary: STA mode, connect test. use different ip, port
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
- 2.target1上创建TCP socket1
+ PC has 1 WiFi NIC.
- 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+ 1 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
+ version: v1 (2016-8-15)
+- CI ready: 'Yes'
+ ID: ^TCPIP_TCP_0102
+ SDK: '8266_NonOS
- 4.target1上创建TCP socket2
+ 8266_RTOS
- 5.target1上使用步骤4创建的socket2,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+ ESP32_IDF'
+ Test App: SSC
+ allow fail: ''
+ auto test: 'Yes'
+ category: Function
+ cmd set:
+ - ''
+ - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock1>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SOC SOC1 CONNECT <random_port> <target_ip>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK]
+ - - SOC SOC1 CONNECT <test_tcp_port2> <target_ip>
+ - [P SOC_COM C ERROR, P SSC1 NC ACCEPT]
+ comment: ''
+ execution time: 0.0
+ expected result: '1.OK
- 6.target1上创建TCP socket3
+ 2.OK
- 7.target1上使用步骤6创建的socket3,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+ 3.PC TCP client accept
- 8.target1上创建TCP socket4
+ 4.error'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.target1上创建TCP socket,bind到本地端口<random_port>
- 9.target1上使用步骤8创建的socket4,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+ 2.target1上使用步骤1创建的socket,创建TCP 监听
- 10.target1上创建TCP socket5
+ 3.PC TCP 连接到target1 <random_port>,<target_ip>
- 11.target1上使用步骤10创建的socket5,去连接 PC的ip,test_tcp_port1,PC有ACCEPT'
+ 4.PC tcp 连接到不存在的port ,<target_ip>'
sub module: TCP
- summary: AP mode, create max TCP sockets test
+ summary: STA mode, server listen test. use different kinds of port
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0112
+ ID: ^TCPIP_TCP_0103
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+ - - SOC SOC1 LISTEN <test_tcp_port1>
- [R SOC_COM L OK]
- - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- ['R SSC1 RE CONNECT:\d+,OK']
- - SOC SOC1 ACCEPT SOC2
- [R SOC_COM L OK]
2.OK
- 3.OK,pc tcp server accept成功
+ 3.OK,pc上回accept
4.OK
- 5.target收到5byte数据
+ 5.target收到5 byte
- 6.PC收到5byte数据
+ 6.PC收到5 byte
- 7.target收到146000 byte数据
+ 7.target收到 146000 byte
- 8.OK,PC 收到146000 byte数据'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
+ 8.OK,PC 回SOC_RECV=SOC2,RECV_LEN=字节数'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
steps: '1. PC上建立TCP 监听 test_tcp_port1
8.8266 send 100 * 1460 to PC.'
sub module: TCP
- summary: AP mode, send/recv basic test
+ summary: STA mode, send/recv basic test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0113
+ ID: ^TCPIP_TCP_0104
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+ - - SOC SOC1 LISTEN <test_tcp_port1>
- [R SOC_COM L OK]
- - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- ['R SSC1 RE CONNECT:\d+,OK']
- - SSC SSC1 soc -D -s <sock1> -h B
- ['R SSC1 RE SHUTDOWN:\d+,OK']
- - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
- ['R SSC1 RE CONNECT:\d+,OK']
- - SSC SSC1 soc -D -s <sock2> -h W
- ['R SSC1 RE SHUTDOWN:\d+,OK']
- - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock3>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
- ['R SSC1 RE CONNECT:\d+,OK']
- - SSC SSC1 soc -D -s <sock3> -h R
- ['R SSC1 RE SHUTDOWN:\d+,OK']
2.OK
- 3.OK,pc tcp server accept成功
+ 3.OK,pc tcp server accept OK
4.OK
5.OK
- 6.OK,pc tcp server accept成功
+ 6.OK,pc tcp server accept OK
7.OK
8.OK
- 9.OK,pc tcp server accept成功
+ 9.OK,pc tcp server accept OK
10.OK'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
steps: '1. PC上建立TCP 监听 test_tcp_port1
10.target1 shutdown socket3 R'
sub module: TCP
- summary: AP mode, shutdown basic test
+ summary: STA mode, shutdown basic test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0110
+ ID: ^TCPIP_TCP_0105
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- - [SOCR SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,OK', P SOC1 C +ACCEPT]
- - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i 123.456.678.789 -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port2>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock1>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SOC SOC2 CONNECT <random_port> <target_ip>
+ - ['R SSC1 A <sock2>:ACCEPT:(\d+),\d+,.+,\d+']
+ - - SSC SSC1 soc -T -s <sock2>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock1>
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK; PC TCP server accept 成功
+ 3.OK
4.OK
- 5.ERROR
+ 5.OK
- 6.ERROR'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
- module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
+ 6.OK
- 2.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+ 7.target1关闭socket1
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+ 8.target1关闭socket2
- 4.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+ 9.OK
- 5.target1上使用步骤4创建的socket,去连接不存在的ip,test_tcp_port1
+ 10.OK,pc tcp server accept成功
- 6.target1上使用步骤2创建的socket,去连接 PC的ip,远端端口不存在。'
+ 11.target1关闭socket1
+
+ 12.OK
+
+ 13.OK,pc tcp server accept成功
+
+ 14.OK
+
+ 15.target1关闭socket1'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1关闭socket1\n\
+ 4.target1上创建TCP socket 端口随机\n5.target1上使用步骤4创建的socket1,去监听\n6.PC CONNECT<random_port>,<target_ip>\
+ \ ,tcp 连接创建成功,创建socket2 \n7.target1关闭socket1\n8.target1关闭socket2\n\
+ 9.target1上创建TCP socket1\n10.target1上使用步骤10创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT\n\
+ 11.target1关闭socket1\n12.target1上创建TCP socket1\n13.target1上使用步骤13创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1,PC有ACCEPT\n14.target1shutdown socket1\n15.target1关闭socket1"
sub module: TCP
- summary: AP mode, connect test. use different ip, port
+ summary: STA mode, close for different types of TCP sockets test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0111
+ ID: ^TCPIP_TCP_0106
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock1>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SOC SOC1 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK]
- - - SOC SOC1 CONNECT <test_tcp_port2> <target_ap_ip> 0 <pc_ip_wifi>
- - [P SOC_COM C ERROR, P SSC1 NC ACCEPT]
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock4>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock4> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock5>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock5> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.PC TCP client accept
+ 3.OK,pc tcp server accept成功
- 4.error'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
+ 4 OK
+
+ 5.OK,pc tcp server accept成功
+
+ 6.OK
+
+ 7.OK,pc tcp server accept成功
+
+ 8 OK
+
+ 9.OK,pc tcp server accept成功
+
+ 10.OK
+
+ 11.OK,pc tcp server accept成功'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1.target1上创建TCP socket,bind到本地端口<random_port>
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2.target1上使用步骤1创建的socket,创建TCP 监听
+ 2.target1上创建TCP socket1
- 3.PC TCP 连接到target1 <random_port>,<target_ip>
+ 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
- 4.PC tcp 连接到不存在的port ,<target_ip>'
+ 4.target1上创建TCP socket2
+
+ 5.target1上使用步骤4创建的socket2,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+ 6.target1上创建TCP socket3
+
+ 7.target1上使用步骤6创建的socket3,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+ 8.target1上创建TCP socket4
+
+ 9.target1上使用步骤8创建的socket4,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+ 10.target1上创建TCP socket5
+
+ 11.target1上使用步骤10创建的socket5,去连接 PC的ip,test_tcp_port1,PC有ACCEPT'
sub module: TCP
- summary: AP mode, server listen test. use different kinds of port
+ summary: STA mode, create max TCP sockets test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_SCAN_0302
- SDK: ESP32_IDF
+ ID: ^TCPIP_TCP_0107
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - - SSC SSC1 soc -B -t TCP -p <random_port>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -n 1000000 -j 5
- - ['']
- - - SSC SSC2 phy -S -o 1 -m b
- - ['R SSC2 C +PHY:OK']
- - - SSC SSC2 sta -S -n <ap_channel>
- - [R SSC2 P <ap_ssid>]
- - - SSC SSC2 phy -S -o 1 -m g
- - ['R SSC2 C +PHY:OK']
- - - SSC SSC2 sta -S -n <ap_channel>
- - [R SSC2 P <ap_ssid>]
- - - SSC SSC2 phy -S -o 1 -m n -b 20
- - ['R SSC2 C +PHY:OK']
- - - SSC SSC2 sta -S -n <ap_channel>
- - [R SSC2 P <ap_ssid>]
- - - SSC SSC2 phy -S -o 1 -m n -b 40
- - ['R SSC2 C +PHY:OK']
- - - SSC SSC2 sta -S -n <ap_channel>
- - [R SSC2 P <ap_ssid>]
+ - - SSC SSC1 soc -L -s <sock1>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SOC SOC2 CONNECT <random_port> <target_ip>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC3 CONNECT <random_port> <target_ip>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC4 CONNECT <random_port> <target_ip>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC5 CONNECT <random_port> <target_ip>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC6 CONNECT <random_port> <target_ip>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
comment: ''
execution time: 0.0
- expected result: 3. target 2 able to scan AP
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1. target 1 connect to AP
-
- 2. target 1 start sending UDP packets
+ expected result: '1.+BIND:0,OK,0.0.0.0
- 3. target 2 scan in AP channel in 11b.g,n,ht40 mode'
- sub module: WIFI Scan
- summary: scan in congest channel
- test environment: SSC_T2_PhyMode
- test environment description (auto): '2 SSC target connect with PC by UART.
+ 2.OK
- PC has one WiFi NIC support capture wlan packet using libpcap.
+ 3.OK,pc tcp server accept成功
- Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+ 4.OK,pc tcp server accept成功
- Put 4 APs near SSC targets.'
- test point 1: interaction
- test point 2: Scan interact with other WiFi operation
- version: v1 (2015-8-15)
-- CI ready: 'Yes'
- ID: TCPIP_UDP_0304
- SDK: '8266_NonOS
+ 5.OK,pc tcp server accept成功
- 8266_RTOS
+ 6.OK,pc tcp server accept成功
- ESP32_IDF'
- Test App: SSC
- allow fail: 1/5
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
- - - SSC SSC1 op -S -o 2
- - ['P SSC1 C +MODE:OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- comment: ''
- execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK
-
- 4.OK
-
- 5.OK'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 7.OK,pc tcp server accept成功'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
- \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
- 4.修改8266的Mode为softAP mode \n5.关闭建立的socket1连接"
- sub module: UDP
- summary: close UDP socket after mode changed
+ steps: "1.target1上创建TCP socket 端口随机\n2.target1上使用步骤4创建的socket1,去监听\n3.PC CONNECT<random_port>,<target_ip>\
+ \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket3\
+ \ \n5.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT<random_port>,<target_ip>\
+ \ ,tcp 连接创建成功,创建socket5 \n7.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket6"
+ sub module: TCP
+ summary: STA mode, accept max TCP client by server test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: UDP handling abnormal event
+ test point 1: basic function
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0305
+ ID: ^TCPIP_TCP_0110
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+ - [SOCR SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
- - - NIC <pc_nic> DISABLED
- - [R PC_COM C OK]
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,OK', P SOC1 C +ACCEPT]
+ - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i 123.456.678.789 -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port2>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK
+ 3.OK; PC TCP server accept 成功
4.OK
- 5.OK'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 5.ERROR
+
+ 6.ERROR'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
module: TCPIP
- steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
- \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
- 4.PC上网卡禁止掉 \n5.关闭建立的socket1连接"
- sub module: UDP
- summary: close UDP socket after PC NIC disabled
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
+
+ 2.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+ 4.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0
+
+ 5.target1上使用步骤4创建的socket,去连接不存在的ip,test_tcp_port1
+
+ 6.target1上使用步骤2创建的socket,去连接 PC的ip,远端端口不存在。'
+ sub module: TCP
+ summary: AP mode, connect test. use different ip, port
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: UDP handling abnormal event
+ test point 1: basic function
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0306
+ ID: ^TCPIP_TCP_0111
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - - SSC SSC1 soc -B -t TCP -p <random_port>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
- - - SSC SSC1 dhcp -E -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
- - ['P SSC1 C +IP:OK']
- - - SSC SSC1 ip -Q -o 1
- - ['R SSC1 C +STAIP:192.168.111.210']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1
- - ['P SSC1 RE SEND:\d+,OK']
+ - - SSC SSC1 soc -L -s <sock1>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SOC SOC1 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK]
+ - - SOC SOC1 CONNECT <test_tcp_port2> <target_ap_ip> 0 <pc_ip_wifi>
+ - [P SOC_COM C ERROR, P SSC1 NC ACCEPT]
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK; PC TCP server accept 成功
+ 3.PC TCP client accept
- 4.OK
+ 4.error'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.target1上创建TCP socket,bind到本地端口<random_port>
- 5.OK
+ 2.target1上使用步骤1创建的socket,创建TCP 监听
- 6.OK
+ 3.PC TCP 连接到target1 <random_port>,<target_ip>
- 7.OK'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
- module: TCPIP
- steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
- \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
- 4.关闭8266的DHCP 1\n5.设置sta ip \n6.查询sta ip 地址是否生效\n7.8266往PC上发送5字节数据"
- sub module: UDP
- summary: do UDP send after IP changed
+ 4.PC tcp 连接到不存在的port ,<target_ip>'
+ sub module: TCP
+ summary: AP mode, server listen test. use different kinds of port
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: UDP handling abnormal event
+ test point 1: basic function
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0307
+ ID: ^TCPIP_TCP_0112
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
- - - SSC SSC1 dhcp -E -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
- - ['P SSC1 C +IP:OK']
- - - SSC SSC1 ip -Q -o 1
- - ['R SSC1 C +STAIP:192.168.111.210']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SOC SOC2 SEND 5
+ - [R SSC1 SL <sock1>+5]
+ - - SSC SSC1 soc -S -s <sock1> -l 5
+ - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 5]
+ - - SOC SOC2 SEND 146000
+ - [R SSC1 SL <sock1>+146000]
+ - - SSC SSC1 soc -S -s <sock1> -l 1460 -n 100
+ - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 146000]
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK; PC TCP server accept 成功
+ 3.OK,pc tcp server accept成功
4.OK
- 5.OK
+ 5.target收到5byte数据
- 6.OK
+ 6.PC收到5byte数据
- 7.OK'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 7.target收到146000 byte数据
+
+ 8.OK,PC 收到146000 byte数据'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
module: TCPIP
- steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
- \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
- 4.关闭8266的DHCP 1\n5.设置sta ip \n6.查询sta ip 地址是否生效\n7.关闭建立的socket1连接"
- sub module: UDP
- summary: close UDP socket after IP changed
+ steps: '1. PC上建立TCP 监听 test_tcp_port1
+
+ 2.target1上创建TCP socket
+
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+
+ 4.PC与target1 创建好TCP 连接,有ACCEPT
+
+ 5.PC send 5 bytes to 8266
+
+ 6.8266 send 5 bytes to PC
+
+ 7. PC send 100 * 1460 data to 8266,
+
+ 8.8266 send 100 * 1460 to PC.'
+ sub module: TCP
+ summary: AP mode, send/recv basic test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: UDP handling abnormal event
+ test point 1: basic function
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0301
+ ID: ^TCPIP_TCP_0113
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -i <target_ip> -p <test_udp_port1>
+ - - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
- - - SSC SSC1 sta -D
- - ['P SSC1 C +QAP:OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:\d+,ERROR']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock1> -h B
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock2> -h W
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock3> -h R
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK
+ 3.OK,pc tcp server accept成功
4.OK
- 5.ERROR'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 5.OK
+
+ 6.OK,pc tcp server accept成功
+
+ 7.OK
+
+ 8.OK
+
+ 9.OK,pc tcp server accept成功
+
+ 10.OK'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+ steps: '1. PC上建立TCP 监听 test_tcp_port1
- 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 2.target1上创建TCP socket
- 3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
- 4.断开与AP 连接
+ 4.target1 shutdown socket1 B
- 5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据'
- sub module: UDP
- summary: do UDP send after WIFI disconnected
+ 5.target1上创建TCP socket
+
+ 6.target1上使用步骤5创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+ 7.target1 shutdown socket2 W
+
+ 8.target1上创建TCP socket
+
+ 9.target1上使用步骤8创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+
+ 10.target1 shutdown socket3 R'
+ sub module: TCP
+ summary: AP mode, shutdown basic test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: UDP handling abnormal event
+ test point 1: basic function
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0302
+ ID: ^TCPIP_TCP_0114
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
- - - SSC SSC1 sta -D
- - ['P SSC1 C +QAP:OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock1>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+ - ['R SSC1 A <sock2>:ACCEPT:(\d+),\d+,.+,\d+']
+ - - SSC SSC1 soc -T -s <sock2>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock1>
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - SSC SSC1 soc -T -s <sock1>
- ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
5.OK
- '
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
- module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+ 6.OK,target1上accept 成功
- 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 7.target1关闭socket1
- 3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据
+ 8.target1关闭socket2
- 4.断开与AP 连接
+ 9.OK
- 5.关闭建立的socket1连接'
- sub module: UDP
- summary: "close UDP socket after WIFI \ndisconnected"
+ 10.OK,pc tcp server accept成功
+
+ 11.target1关闭socket1
+
+ 12.OK
+
+ 13.OK,pc tcp server accept成功
+
+ 14.OK
+
+ 15.target1关闭socket1'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
+ module: TCPIP
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1关闭socket1\n\
+ 4.target1上创建TCP socket 端口随机\n5.target1上使用步骤4创建的socket1,去监听\n6.PC CONNECT<random_port>,<target_ip>\
+ \ ,tcp 连接创建成功,创建socket2 \n7.target1关闭socket1\n8.target1关闭socket2\n\
+ 9.target1上创建TCP socket1\n10.target1上使用步骤10创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT\n\
+ 11.target1关闭socket1\n12.target1上创建TCP socket1\n13.target1上使用步骤13创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1,PC有ACCEPT\n14.target1shutdown socket1\n15.target1关闭socket1"
+ sub module: TCP
+ summary: AP mode, close for different types of TCP sockets test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: UDP handling abnormal event
+ test point 1: basic function
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_UDP_0303
+ ID: ^TCPIP_TCP_0115
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 1/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
- - - SSC SSC1 op -S -o 2
- - ['P SSC1 C +MODE:OK']
- - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
- - ['P SSC1 RE SEND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock4>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock4> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock5>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock5> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK
+ 3.OK,pc tcp server accept成功
- 4.OK
+ 4 OK
- 5.ERROR'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 5.OK,pc tcp server accept成功
+
+ 6.OK
+
+ 7.OK,pc tcp server accept成功
+
+ 8 OK
+
+ 9.OK,pc tcp server accept成功
+
+ 10.OK
+
+ 11.OK,pc tcp server accept成功'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
module: TCPIP
- steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
- \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
- 4.修改8266的Mode为softAP mode \n5.8266往PC上发送5字节数据"
- sub module: UDP
- summary: do UDP send after mode changed
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- PC has 1 WiFi NIC.
+ 2.target1上创建TCP socket1
- 1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: UDP handling abnormal event
- version: v1 (2016-8-15)
-- CI ready: 'Yes'
- ID: WIFI_CONN_0601
- SDK: '8266_NonOS
+ 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
- 8266_RTOS
+ 4.target1上创建TCP socket2
- ESP32_IDF'
- Test App: SSC
- allow fail: ''
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
- - ['R SSC1 C +SAP:OK']
- - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
- <target_encryption>
- - ['R PC_COM C +WIFICONN:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 ap -L
- - ['R SSC1 C +LSTA:', 'R SSC1 C +LSTA:', R SSC1 C +LSTADONE]
- comment: ''
- execution time: 0.0
- expected result: '1.target1 set AP
+ 5.target1上使用步骤4创建的socket2,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
- 2.PC WIFI CONNECTED
+ 6.target1上创建TCP socket3
- 3.target2 jap target 1
+ 7.target1上使用步骤6创建的socket3,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
- 4.查询到两个sta 连接到target1 上'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
- module: WIFI MAC
- steps: '1. target1下设置ssid 和pwd 加密方式
+ 8.target1上创建TCP socket4
- 2.PC WIFI CONNECTED target1
+ 9.target1上使用步骤8创建的socket4,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
- 3.target2 jap target 1
+ 10.target1上创建TCP socket5
- 4.查询到两个sta 连接到target1 上'
- sub module: WIFI Connect
- summary: list stations connected to soft ap test
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 11.target1上使用步骤10创建的socket5,去连接 PC的ip,test_tcp_port1,PC有ACCEPT'
+ sub module: TCP
+ summary: AP mode, create max TCP sockets test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: list SoftAP connected station
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_DHCP_0209
+ ID: ^TCPIP_TCP_0116
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- - - DELAY 20
- - ['']
- - - SSC SSC1 ap -L
- - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
+ - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock1>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC3 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC4 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC5 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SOC SOC6 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+ - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
comment: ''
execution time: 0.0
- expected result: '1. succeed
-
- 2. succeed
-
- 3. succeed
+ expected result: '1.+BIND:0,OK,0.0.0.0
- 4. succeed
+ 2.OK
- 5. find target2 and PC'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: TCPIP
- steps: '1. config softap to a random ssid
+ 3.OK,pc tcp server accept成功
- 2. target2 connect to target1 softap
+ 4.OK,pc tcp server accept成功
- 3. disable DHCP server, do config and enable
+ 5.OK,pc tcp server accept成功
- 4. PC NIC connect to target1 softap
+ 6.OK,pc tcp server accept成功
- 5. softap list connected station'
- sub module: DHCP
- summary: dhcp server reconfig, old client and new client able to get IP
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 7.OK,pc tcp server accept成功'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
+ module: TCPIP
+ steps: "1.target1上创建TCP socket 端口随机\n2.target1上使用步骤4创建的socket1,去监听\n3.PC CONNECT<random_port>,<target_ip>\
+ \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket3\
+ \ \n5.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT<random_port>,<target_ip>\
+ \ ,tcp 连接创建成功,创建socket5 \n7.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket6"
+ sub module: TCP
+ summary: AP mode, accept max TCP client by server test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DHCP server function test
+ test point 2: use TCP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_DHCP_0208
+ ID: ^TCPIP_TCP_0201
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['P SSC1 C +DHCP:AP,OK', 'P SSC2 C +JAP:DISCONNECTED']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +JAP:DISCONNECTED']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- - - SSC SSC1 ap -L
- - [R SSC1 C 192.168.4.2 P <pc_wifi_nic_mac>]
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [SOCR SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock2>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock3> -h B
+ - ['P SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['P SSC1 RE CONNECT:\d+,ERROR']
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.ok
- 2. succeed
+ 2.OK
- 3. succeed
+ 3.ERROR
- 4. get IP 192.168.4.2
+ 4.OK
- 5. can only find target2 with IP 192.168.4.2'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ 5.OK
+
+ 6.ERROR
+
+ 7.OK
+
+ 8.OK
+
+ 9.OK
+
+ 10.OK
+
+ 11.OK
+
+ 12.ERROR'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1. config softap to a random ssid
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2. PC NIC connect to target1 softap
+ 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
- 3. disable DHCP server, do config and enable
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,<test_udp_port1>
- 4. target2 connect to target1 softap
+ 4.target1上创建TCP socket
- 5. softap list connected station'
- sub module: DHCP
- summary: dhcp server reconfig and new client able to get first IP in pool
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 5.target1上使用步骤4创建的socket,创建TCP 监听
+
+ 6.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+ 7.target1上创建TCP socket
+
+ 8.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+ 9.target1上关闭步骤7创建的socket
+
+ 10.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+ 11.target1上关闭所有创建的socket
+
+ 12.target1上使用步骤2创建的socket,去连接 PC的ip,<test_tcp_port1>'
+ sub module: TCP
+ summary: STA mode, connect test. use socket in state that can't connect
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DHCP server function test
+ test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_DHCP_0207
+ ID: ^TCPIP_TCP_0202
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - WIFI <pc_wifi_nic> DISCONN2
- - ['R PC_COM NC ERROR C +WIFIDISCONN:OK']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:OK']
- - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
- - ['R SSC2 C +MAC:STA,OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 ip -Q -o 1
- - ['R SSC2 C +STAIP:192.168.4.2']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock1>
+ - ['R SSC1 RE LISTEN:\d+,ERROR']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -L -s <sock2>
+ - ['R SSC1 RE LISTEN:\d+,ERROR']
+ - - SSC SSC1 soc -D -s <sock2>
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -L -s <sock2>
+ - ['R SSC1 RE LISTEN:\d+,ERROR']
+ - - SSC SSC1 soc -L -s 1000
+ - ['R SSC1 RE LISTEN:\d+,ERROR']
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.OK
- 2. succeed
+ 2.OK
- 3. get IP 192.168.4.2
+ 3.ERROR
- 4. succeed
+ 4.OK
- 5. succeed
+ 5.OK
- 6. get IP 192.168.4.2'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: TCPIP
- steps: '1. config softap to a random ssid
+ 6.ERROR
- 2. disable DHCP server, do config and enable
+ 7.OK
- 3. PC WIFI NIC connect to target1 softap
+ 8.ERROR
- 4. target2 connect to target1 softap and disnnect
+ 9.ERROR'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 5. PC release IP and disconnected
+ 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
- 6. target2 change mac and connect to target1'
- sub module: DHCP
- summary: dhcp server prefer assign released IP to new client
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 3.target1上使用步骤2创建的socket,去建立TCP 监听
- PC has 1 WiFi NIC.
+ 4.target1上创建TCP socket
- 2 SSC target connect with PC by UART.'
+ 5.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
+
+ 6.target1上使用步骤4创建的socket,创建TCP 监听
+
+ 7.target1上shutdown 步骤4的socket
+
+ 8.target1上使用步骤4创建的socket,创建TCP 监听
+
+ 9.target1上使用不存在socket,创建TCP 监听'
+ sub module: TCP
+ summary: STA mode, server listen test. use socket in state that can't listen
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DHCP server function test
+ test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_DHCP_0206
+ ID: ^TCPIP_TCP_0203
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - LOOP 4 4 "['01','02','03','01']" "[2,3,4,2]"
- - ['']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:OK']
- - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
- - ['R SSC2 C +MAC:STA,OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 ip -Q -o 1
- - ['R SSC2 C +STAIP:192.168.4.{%s}']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock1>
+ - ['R SSC1 RE SEND:\d+,ERROR']
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock2>
+ - ['R SSC1 RE SEND:\d+,ERROR']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock2>
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -S -s <sock2>
+ - ['R SSC1 RE SEND:\d+,ERROR']
+ - - SSC SSC1 soc -S -s 1000
+ - ['R SSC1 RE SEND:\d+,ERROR']
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.OK
- 2. succeed
+ 2.OK
- 4. get IP 192.168.4.2 - 192.168.4.4
+ 3.ERROR
- 5. get IP 192.168.4.2'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: TCPIP
- steps: '1. config softap to a random ssid
+ 4.OK
- 2. disable DHCP server, do config and enable
+ 5.ERROR
- 3. target2 change mac, connect to softap, disconnect
+ 6.OK
- 4. Loop step3 twice
+ 7.OK
- 5. change to first mac, connect to softap'
- sub module: DHCP
- summary: dhcp server assign same IP to same MAC when it's not released
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 8.ERROR
- PC has 1 WiFi NIC.
+ 9.ERROR'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: DHCP server function test
- version: v1 (2016-8-15)
-- CI ready: 'Yes'
- ID: ^TCPIP_DHCP_0205
- SDK: '8266_NonOS
+ 2.target1上创建UDP传输socket1,<test_udp_port1>
- 8266_RTOS
+ 3.target1上使用步骤2创建的socket1,去发送数据
- ESP32_IDF'
- Test App: SSC
- allow fail: ''
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3 -t 1
- - ['P SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['P SSC1 C +DHCP:AP,OK', 'P SSC2 C +JAP:DISCONNECTED']
- comment: ''
- execution time: 0.0
- expected result: '1. succeed
+ 4.target1上创建TCP socket2
- 2. succeed
+ 5.target1上使用步骤4创建的socket2,去发送数据
- 3. target2 wifi disconnected'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: TCPIP
- steps: '1. config softap to a random ssid
+ 6.target1上使用步骤4创建的socket2,创建TCP连接,连接成功
- 2. target2 connect to target1
+ 7.target1上shutdown 步骤4的socket2
- 3. disable DHCP server, do config and enable'
- sub module: DHCP
- summary: disconnect STA if config dhcp server
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 8.target1往socket2发送错误命令发送数据
+
+ 9.target1上不指定socket往上发送数据'
+ sub module: TCP
+ summary: send test. use socket in state that can't send
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DHCP server function test
+ test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_DHCP_0204
+ ID: ^TCPIP_TCP_0204
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3 -t 1
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 ip -Q -o 1
- - ['R SSC2 C +STAIP:192.168.4.2']
- - - DELAY 90
- - ['']
- - - SSC SSC2 ip -Q -o 1
- - ['R SSC2 C +STAIP:192.168.4.2']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +JAP:DISCONNECTED']
- - - DELAY 60
- - ['']
- - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
- - ['R SSC2 C +MAC:STA,OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 ip -Q -o 1
- - ['R SSC2 C +STAIP:192.168.4.2']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -W -s <sock1> -o 0
+ - ['R SSC1 RE WORKTHREAD:\d+,OK']
+ - - SOC SOC2 SEND 146000
+ - [P SOC_COM R *]
+ - - SSC SSC1 soc -W -s <sock1> -o 1
+ - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL <sock1>+2920]
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.OK
- 2. succeed
+ 2.OK
- 3. get IP 192.168.4.2
+ 3.OK,pc server accept OK
- 5. succeed
+ 4.OK
- 6. succeed
+ 5.OK
- 8. get IP 192.168.4.2'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: TCPIP
- steps: '1. config softap to a random ssid
+ 6.OK
- 2. config DHCP timeout as 1 minute
+ 7.target收到146000 byte'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: '1. PC上建立TCP 监听 test_tcp_port1
- 3. target2 connect to target1
+ 2.target1上创建TCP socket
- 4. wait 90 seconds
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
- 5. check if target2 IP is same
+ 4.PC与target1 创建好TCP 连接,有ACCEPT
- 6. target2 disconnect
+ 5.target上不进行recv
- 7. wait 60s
+ 6.PC send 100 * 1460 data to target,
- 8. target2 change mac and connect to target1'
- sub module: DHCP
- summary: dhcp server timeout test
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 7.在target上开始recv'
+ sub module: TCP
+ summary: STA mode, recv buffer test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DHCP server function test
+ test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_DHCP_0203
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
- Test App: SSC
- allow fail: ''
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - LOOP 2 4 "['01','02']" "[2,3]"
- - ['']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:OK']
- - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
- - ['R SSC2 C +MAC:STA,OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 ip -Q -o 1
- - ['R SSC2 C +STAIP:192.168.4.{%s}']
- - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
- - ['R SSC2 C +MAC:STA,OK']
- - - DELAY 20
- - ['']
- - - SSC SSC2 ip -Q -o 1
- - ['R SSC2 C +STAIP:0.0.0.0']
- comment: ''
- execution time: 0.0
- expected result: '1. succeed
-
- 2. succeed
-
- 3. succeed
-
- 4.1 succeed
-
- 4.2 failed'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: TCPIP
- steps: '1. config softap to a random ssid
-
- 2. config DHCP Server on Target1(.4.2 - .4.3)
-
- 3. target change mac, connect to Target1
-
- 4. Loop step3 twice'
- sub module: DHCP
- summary: dhcp server ip pool empty
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
-
- PC has 1 WiFi NIC.
-
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: DHCP server function test
- version: v1 (2016-8-15)
-- CI ready: 'Yes'
- ID: ^TCPIP_DHCP_0202
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
- Test App: SSC
- allow fail: ''
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - LOOP 3 4 "['01','02','03']" "[2,3,4]"
- - ['']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:OK']
- - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
- - ['R SSC2 C +MAC:STA,OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 ip -Q -o 1
- - ['R SSC2 C +STAIP:192.168.4.{%s}']
- comment: ''
- execution time: 0.0
- expected result: '1. succeed
-
- 2. succeed
-
- 3,4: get IP from dhcp pool with correct sequence'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: TCPIP
- steps: '1. config softap to a random ssid
-
- 2. config DHCP Server on Target1
-
- 3. target change mac, connect to Target1
-
- 4. Loop step3'
- sub module: DHCP
- summary: dhcp server ip pool
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
-
- PC has 1 WiFi NIC.
-
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: DHCP server function test
- version: v1 (2016-8-15)
-- CI ready: 'Yes'
- ID: ^TCPIP_DHCP_0201
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
- Test App: SSC
- allow fail: ''
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 ip -S -o 2 -i <target_ap_ip>
- - ['R SSC1 C +IP:OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.1 -e 192.168.4.10
- - ['R SSC1 C +DHCP:LEASE,ERROR']
- - - SSC SSC1 dhcp -L -s 192.168.4.5 -e 192.168.4.2
- - ['R SSC1 C +DHCP:LEASE,ERROR']
- - - SSC SSC1 dhcp -L -s 192.168.2.2 -e 192.168.2.5
- - ['R SSC1 C +DHCP:LEASE,ERROR']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- comment: ''
- execution time: 0.0
- expected result: '1.target1 关闭DHCP 2 OK
-
- 2.target1 设置ip 成功
-
- 3.设置dhcp 地址池 OK
-
- 4.ERROR
-
- 5.ERROR
-
- 6.ERROR
-
- 7.target1 打开DHCP ok'
- initial condition: APSTA1
- initial condition description (auto): testing ap on sta + ap mode (autogen by APM1)
- module: TCPIP
- steps: "1.target1 关闭DHCP 2 \n2.target1 设置ip \n3.设置dhcp 地址池\n4.设置dhcp错误的参数\n5.设置dhcp错误的参数\n\
- 6.设置dhcp错误的参数\n7.target1 打开DHCP ok"
- sub module: DHCP
- summary: server dhcp lease test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
-
- PC has 1 WiFi NIC.
-
- 1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: DHCP server function test
- version: v1 (2016-8-15)
-- CI ready: 'Yes'
- ID: TCPIP_TCP_0204
+ ID: ^TCPIP_TCP_0206
SDK: '8266_NonOS
8266_RTOS
- ''
- - SOC SOC1 LISTEN <test_tcp_port1>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
+ - - SSC SSC1 soc -B -t TCP -i <target_ip>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -W -s <sock1> -o 0
- - ['R SSC1 RE WORKTHREAD:\d+,OK']
- - - SOC SOC2 SEND 146000
- - [P SOC_COM R *]
- - - SSC SSC1 soc -W -s <sock1> -o 1
- - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL <sock1>+2920]
+ - - SSC SSC1 soc -B -t TCP -i <target_ip>
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock2>
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock3>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SOC SOC2 CONNECT <random_port> <target_ip>
+ - ['R SSC1 A <sock4>:ACCEPT:(\d+),\d+,.+,\d+']
+ - - SSC SSC1 soc -I
+ - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>)',
+ 'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%(<sock2>)', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(<sock3>,<random_port>)',
+ 'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\d+"%%(<sock4>,<target_ip>,<random_port>,<pc_ip>)']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK,pc server accept OK
+ 3.OK,pc tcp server accept成功
4.OK
6.OK
- 7.target收到146000 byte
+ 7.OK
- '
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
- module: TCPIP
- steps: '1. PC上建立TCP 监听 test_tcp_port1
+ 8.OK
- 2.target1上创建TCP socket
+ 9.PC OK, target1 +ACCEPT:3,2,<pc_ip>,port
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+ 10.+SOCINFO:<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>
- 4.PC与target1 创建好TCP 连接,有ACCEPT
+ +SOCINFO:<sock2>,<target_ip>,<pc_ip>,<test_tcp_port1>
- 5.target上不进行recv
+ +SOCINFO:<sock3>,<random_port>
- 6.PC send 100 * 1460 data to target,
+ +SOCINFO:<sock4>,<target_ip>,<random_port>,<pc_ip>
- 7.在target上开始recv'
+ +SOCINF0ALL'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1,本地ip target_ip\n3.target1上使用步骤2创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1,PC有ACCEPT\n4.target1上创建TCP socket2,本地ip target_ip\n5.target1上使用步骤4创建的socket2,去连接\
+ \ PC的ip,test_tcp_port1,PC有ACCEPT\n6.target1 shutdown socket2 \n7.target1上创建TCP\
+ \ socket3,本地端口random_port\n8.target1上使用步骤7创建的socket3,去监听\n9.PC CONNECT<random_port>,<target_ip>\
+ \ ,tcp 连接创建成功,创建socket4 \n10.target1 查询the socket information"
sub module: TCP
- summary: STA mode, recv buffer test
+ summary: STA mode, get active socket info test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0207
+ ID: ^TCPIP_TCP_0207
SDK: '8266_NonOS
8266_RTOS
11.OK
12.ERROR'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
module: TCPIP
steps: '1.PC上建立TCP 监听 test_tcp_port1
test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0206
+ ID: ^TCPIP_TCP_0208
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP -i <target_ip>
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP -i <target_ip>
+ - - SSC SSC1 soc -L -s <sock1>
+ - ['R SSC1 RE LISTEN:\d+,ERROR']
+ - - SSC SSC1 soc -B -t TCP
- ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
- ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -L -s <sock2>
+ - ['R SSC1 RE LISTEN:\d+,ERROR']
- - SSC SSC1 soc -D -s <sock2>
- ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -B -t TCP -p <random_port>
- - ['R SSC1 A <sock3>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock3>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SOC SOC2 CONNECT <random_port> <target_ip>
- - ['R SSC1 A <sock4>:ACCEPT:(\d+),\d+,.+,\d+']
- - - SSC SSC1 soc -I
- - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>)',
- 'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%(<sock2>)', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(<sock3>,<random_port>)',
- 'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\d+"%%(<sock4>,<target_ip>,<random_port>,<pc_ip>)']
+ - - SSC SSC1 soc -L -s <sock2>
+ - ['R SSC1 RE LISTEN:\d+,ERROR']
+ - - SSC SSC1 soc -L -s 1000
+ - ['R SSC1 RE LISTEN:\d+,ERROR']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK,pc tcp server accept成功
+ 3.ERROR
- 4.OK
+ 4 OK
5.OK
- 6.OK
+ 6.ERROR
7.OK
- 8.OK
+ 8.ERROR
- 9.PC OK, target1 +ACCEPT:3,2,<pc_ip>,port
+ 9.ERROR'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 10.+SOCINFO:<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>
+ 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
- +SOCINFO:<sock2>,<target_ip>,<pc_ip>,<test_tcp_port1>
+ 3.target1上使用步骤2创建的socket,去建立TCP 监听
- +SOCINFO:<sock3>,<random_port>
+ 4.target1上创建TCP socket
- +SOCINFO:<sock4>,<target_ip>,<random_port>,<pc_ip>
+ 5.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
- +SOCINF0ALL'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
- module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1,本地ip target_ip\n3.target1上使用步骤2创建的socket1,去连接\
- \ PC的ip,test_tcp_port1,PC有ACCEPT\n4.target1上创建TCP socket2,本地ip target_ip\n5.target1上使用步骤4创建的socket2,去连接\
- \ PC的ip,test_tcp_port1,PC有ACCEPT\n6.target1 shutdown socket2 \n7.target1上创建TCP\
- \ socket3,本地端口random_port\n8.target1上使用步骤7创建的socket3,去监听\n9.PC CONNECT<random_port>,<target_ip>\
- \ ,tcp 连接创建成功,创建socket4 \n10.target1 查询the socket information"
+ 6.target1上使用步骤4创建的socket,创建TCP 监听
+
+ 7.target1上shutdown 步骤4的socket
+
+ 8.target1上使用步骤4创建的socket,创建TCP 监听
+
+ 9.target1上使用不存在socket,创建TCP 监听'
sub module: TCP
- summary: STA mode, get active socket info test
+ summary: AP mode, server listen test. use socket in state that can't listen
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0201
+ ID: ^TCPIP_TCP_0210
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [SOCR SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock2>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+ - [R SOC_COM L OK]
- - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock3>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock3> -h B
- - ['P SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -C -s <sock3> -i <pc_ip> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
- - - SSC SSC1 soc -T
- - [R SSC1 C +CLOSEALL]
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['P SSC1 RE CONNECT:\d+,ERROR']
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -W -s <sock1> -o 0
+ - ['R SSC1 RE WORKTHREAD:\d+,OK']
+ - - SOC SOC2 SEND 146000
+ - [P SOC_COM R *]
+ - - SSC SSC1 soc -W -s <sock1> -o 1
+ - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL <sock1>+2920]
comment: ''
execution time: 0.0
- expected result: '1.ok
+ expected result: '1.OK
2.OK
- 3.ERROR
+ 3.OK,pc tcp server accept成功
4.OK
- 5.OK
-
- 6.ERROR
-
- 7.OK
-
- 8.OK
-
- 9.OK
-
- 10.OK
-
- 11.OK
+ 6.OK
- 12.ERROR'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 7.收到 146000 数据'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
-
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,<test_udp_port1>
-
- 4.target1上创建TCP socket
-
- 5.target1上使用步骤4创建的socket,创建TCP 监听
-
- 6.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
+ steps: '1. PC上建立TCP 监听 test_tcp_port1
- 7.target1上创建TCP socket
+ 2.target1上创建TCP socket
- 8.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+ 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
- 9.target1上关闭步骤7创建的socket
+ 4.PC与target1 创建好TCP 连接,有ACCEPT
- 10.target1上使用步骤7创建的socket,去连接 PC的ip,<test_tcp_port1>
+ 5.target停止调用recv
- 11.target1上关闭所有创建的socket
+ 6.PC send 100 * 1460 data to 8266,
- 12.target1上使用步骤2创建的socket,去连接 PC的ip,<test_tcp_port1>'
+ 7.target重新调用recv'
sub module: TCP
- summary: STA mode, connect test. use socket in state that can't connect
+ summary: AP mode, recv buffer test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_DHCP_0101
+ ID: ^TCPIP_TCP_0212
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 dhcp -E -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -S -i 0.0.0.0
- - ['R SSC1 C +IP:OK']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['']
- - - DELAY 20
- - [P PC_COM C +DELAYDONE, 'P SSC1 NC +JAP:CONNECTED']
- - - SSC SSC1 dhcp -S -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -Q
- - ['R SSC1 C +STAIP:0.0.0.0']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC1 ip -Q
- - ['R SSC1 RE "\+STAIP:%%s"%%(<target_ip>)']
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP -i <target_ap_ip>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP -i <target_ap_ip>
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 soc -D -s <sock2>
+ - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 soc -B -t TCP -p <random_port>
+ - ['R SSC1 A <sock3>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -L -s <sock3>
+ - ['R SSC1 RE LISTEN:\d+,OK']
+ - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
+ - ['R SSC1 A <sock4>:ACCEPT:(\d+),\d+,.+,\d+']
+ - - SSC SSC1 soc -I
+ - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(<sock1>,<target_ap_ip>,<pc_ip_wifi>,<test_tcp_port1>)',
+ 'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%(<sock2>)', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(<sock3>,<random_port>)',
+ 'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\d+"%%(<sock4>,<target_ap_ip>,<random_port>,<pc_ip_wifi>)']
comment: ''
execution time: 0.0
- expected result: "1.target1 关闭DHCP OK\n2.target1 设置ip add OK\n3.target1 连接AP fail\n\
- 4.target1 打开DHCP OK\n5.查询到sta ip \n6.target1 连接AP ok\n7.查询到sta ip 为target_ip"
- initial condition: STAAP1
- initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
- by STAM1)
+ expected result: '1.OK
+
+ 2.OK
+
+ 3.OK,pc tcp server accept成功
+
+ 4.OK
+
+ 5.OK
+
+ 6.OK
+
+ 7.OK
+
+ 8.OK
+
+ 9.PC OK, target1 +ACCEPT:3,2,<pc_ip>,port
+
+ 10.+SOCINFO:<sock1>,<target_ip>,<pc_ip>,<test_tcp_port1>
+
+ +SOCINFO:<sock2>,<target_ip>,<pc_ip>,<test_tcp_port1>
+
+ +SOCINFO:<sock3>,<random_port>
+
+ +SOCINFO:<sock4>,<target_ip>,<random_port>,<pc_ip>
+
+ +SOCINF0ALL'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
module: TCPIP
- steps: "1.target1 关闭DHCP OK\n2.target1 设置ip add OK\n3.target1 连接AP fail\n4.target1\
- \ 打开DHCP OK\n5.查询到sta ip \n6.target1 连接AP ok\n7.查询到sta ip 为target_ip"
- sub module: DHCP
- summary: dhcp client function test
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1,本地ip target_ip\n3.target1上使用步骤2创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1,PC有ACCEPT\n4.target1上创建TCP socket2,本地ip target_ip\n5.target1上使用步骤4创建的socket2,去连接\
+ \ PC的ip,test_tcp_port1,PC有ACCEPT\n6.target1 shutdown socket2 \n7.target1上创建TCP\
+ \ socket3,本地端口random_port\n8.target1上使用步骤7创建的socket3,去监听\n9.PC CONNECT<random_port>,<target_ip>\
+ \ ,tcp 连接创建成功,创建socket4 \n10.target1 查询the socket information"
+ sub module: TCP
+ summary: AP mode, get active socket info test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DHCP client function test
+ test point 2: use TCP SAP (socket/espconn API) in different state
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0203
+ ID: ^TCPIP_TCP_0401
SDK: '8266_NonOS
8266_RTOS
- ''
- - SOC SOC1 LISTEN <test_tcp_port1>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1>
- - ['R SSC1 RE SEND:\d+,ERROR']
- - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock2>
- - ['R SSC1 RE SEND:\d+,ERROR']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock2>
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -S -s <sock2>
- - ['R SSC1 RE SEND:\d+,ERROR']
- - - SSC SSC1 soc -S -s 1000
- - ['R SSC1 RE SEND:\d+,ERROR']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 sta -D
+ - ['P SSC1 C +QAP:OK', 'P SSC1 RE CLOSED:\d+,0']
+ - - SSC SSC1 soc -S -s <sock1> -l 5
+ - ['P SSC1 RE SEND:\d+,ERROR']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.ERROR
+ 3.OK; PC TCP server accept 成功
4.OK
- 5.ERROR
+ 5.OK
- 6.OK
-
- 7.OK
-
- 8.ERROR
-
- 9.ERROR'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 6.ERROR'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2.target1上创建UDP传输socket1,<test_udp_port1>
-
- 3.target1上使用步骤2创建的socket1,去发送数据
-
- 4.target1上创建TCP socket2
-
- 5.target1上使用步骤4创建的socket2,去发送数据
+ 2.target1上创建TCP socket1
- 6.target1上使用步骤4创建的socket2,创建TCP连接,连接成功
+ 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
- 7.target1上shutdown 步骤4的socket2
+ 4.PC与target1创建好TCP 连接,有ACCEPT
- 8.target1往socket2发送错误命令发送数据
+ 5.断开与AP 连接
- 9.target1上不指定socket往上发送数据'
+ 6.8266往PC上发送5字节数据'
sub module: TCP
- summary: send test. use socket in state that can't send
+ summary: do TCP send after WIFI disconnected
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) in different state
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0202
+ ID: ^TCPIP_TCP_0402
SDK: '8266_NonOS
8266_RTOS
- ''
- - SOC SOC1 LISTEN <test_tcp_port1>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock1>
- - ['R SSC1 RE LISTEN:\d+,ERROR']
- - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -L -s <sock2>
- - ['R SSC1 RE LISTEN:\d+,ERROR']
- - - SSC SSC1 soc -D -s <sock2>
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -L -s <sock2>
- - ['R SSC1 RE LISTEN:\d+,ERROR']
- - - SSC SSC1 soc -L -s 1000
- - ['R SSC1 RE LISTEN:\d+,ERROR']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 sta -D
+ - ['P SSC1 C +QAP:OK', 'P SSC1 RE CLOSED:\d+,0']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.ERROR
+ 3.OK; PC TCP server accept 成功
4.OK
5.OK
- 6.ERROR
-
- 7.OK
-
- 8.ERROR
-
- 9.ERROR'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
+ 6.OK'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
-
- 3.target1上使用步骤2创建的socket,去建立TCP 监听
-
- 4.target1上创建TCP socket
-
- 5.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
+ 2.target1上创建TCP socket1
- 6.target1上使用步骤4创建的socket,创建TCP 监听
+ 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
- 7.target1上shutdown 步骤4的socket
+ 4.PC与target1创建好TCP 连接,有ACCEPT
- 8.target1上使用步骤4创建的socket,创建TCP 监听
+ 5.断开与AP 连接
- 9.target1上使用不存在socket,创建TCP 监听'
+ 6.关闭建立的socket1连接'
sub module: TCP
- summary: STA mode, server listen test. use socket in state that can't listen
+ summary: "close TCP socket after WIFI \ndisconnected"
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) in different state
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0208
+ ID: ^TCPIP_TCP_0403
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+ - - SOC SOC1 LISTEN <test_tcp_port1>
- [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock1>
- - ['R SSC1 RE LISTEN:\d+,ERROR']
- - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -L -s <sock2>
- - ['R SSC1 RE LISTEN:\d+,ERROR']
- - - SSC SSC1 soc -D -s <sock2>
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -L -s <sock2>
- - ['R SSC1 RE LISTEN:\d+,ERROR']
- - - SSC SSC1 soc -L -s 1000
- - ['R SSC1 RE LISTEN:\d+,ERROR']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 op -S -o 2
+ - ['P SSC1 C +MODE:OK', 'P SSC1 RE CLOSED:\d+,0']
+ - - SSC SSC1 soc -S -s <sock1> -l 5
+ - ['P SSC1 RE SEND:\d+,ERROR']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.ERROR
+ 3.OK; PC TCP server accept 成功
- 4 OK
+ 4.OK
5.OK
- 6.ERROR
-
- 7.OK
-
- 8.ERROR
-
- 9.ERROR'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
+ 6.ERROR'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
-
- 3.target1上使用步骤2创建的socket,去建立TCP 监听
-
- 4.target1上创建TCP socket
-
- 5.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
-
- 6.target1上使用步骤4创建的socket,创建TCP 监听
-
- 7.target1上shutdown 步骤4的socket
-
- 8.target1上使用步骤4创建的socket,创建TCP 监听
-
- 9.target1上使用不存在socket,创建TCP 监听'
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.修改8266的Mode为softAP mode\
+ \ \n6.8266往PC上发送5字节数据"
sub module: TCP
- summary: AP mode, server listen test. use socket in state that can't listen
+ summary: do TCP send after mode changed
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) in different state
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DNS_0103
+ ID: ^TCPIP_TCP_0404
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: 3/5
+ allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -H -d iot.espressif.cn
- - ['R SSC1 A <ip_addr>:\+HOSTIP:OK,(.+)\r\n']
- - - SSC SSC1 soc -B -t UDP
- - ['R SSC1 A <sock1>:\+BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock1> -i <ip_addr> -p 9003 -l 10
- - ['P SSC1 RE \+SEND:\d+,OK', P SSC1 SL <sock1>+10]
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 op -S -o 2
+ - ['P SSC1 C +MODE:OK', 'P SSC1 RE CLOSED:\d+,0']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK'
- initial condition: STAM2
- initial condition description (auto): sta mode, join AP, DHCP on, will autogen a
- TC with initial condition STAAP2
- module: TCPIP
- steps: '1. get host name "espressif.cn"
+ 3.OK; PC TCP server accept 成功
- 2. sendto, recvfrom1. get host name "espressif.cn"
+ 4.OK
- 2. sendto, recvfrom'
- sub module: DNS
- summary: UDP send to iot.expressif.com
- test environment: SSC_T1_2
- test environment description (auto): 'Able to access WAN after connect to AP.
+ 5.OK
+
+ 6.OK'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.修改8266的Mode为softAP mode\
+ \ \n6.关闭建立的socket1连接"
+ sub module: TCP
+ summary: close TCP socket after mode changed
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: DNS function test
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DHCP_0206
+ ID: ^TCPIP_TCP_0405
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - LOOP 4 4 "['01','02','03','01']" "[2,3,4,2]"
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - NIC <pc_nic> DISABLED
+ - [R PC_COM C OK]
+ - - SSC SSC1 soc -S -s <sock1> -l 1
- ['']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:OK']
- - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
- - ['R SSC2 C +MAC:STA,OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 ip -Q -o 1
- - ['R SSC2 C +STAIP:192.168.4.{%s}']
+ - - DELAY 5400
+ - ['P SSC1 RE CLOSED:\d+,0']
comment: ''
- execution time: 0.0
- expected result: '1. succeed
+ execution time: 1.5
+ expected result: '1.OK
- 2. succeed
+ 2.OK
- 4. get IP 192.168.4.2 - 192.168.4.4
+ 3.OK; PC TCP server accept 成功
- 5. get IP 192.168.4.2'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
+ 4.OK
+
+ 5.OK
+
+ 6.TCP连接断开'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1. config softap to a random ssid
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2. disable DHCP server, do config and enable
+ 2.target1上创建TCP socket1
- 3. target2 change mac, connect to softap, disconnect
+ 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
- 4. Loop step3 twice
+ 4.PC与target1创建好TCP 连接,有ACCEPT
- 5. change to first mac, connect to softap'
- sub module: DHCP
- summary: dhcp server assign same IP to same MAC when it's not released
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 5.PC 网卡 disable
+
+ 6.target1上使用socket1发送数据,等待 90 分钟'
+ sub module: TCP
+ summary: do TCP send after PC NIC disabled
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: DHCP server function test
+ 1 SSC target connect with PC by UART.'
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DHCP_0207
+ ID: ^TCPIP_TCP_0406
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - WIFI <pc_wifi_nic> DISCONN2
- - ['R PC_COM NC ERROR C +WIFIDISCONN:OK']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:OK']
- - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
- - ['R SSC2 C +MAC:STA,OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 ip -Q -o 1
- - ['R SSC2 C +STAIP:192.168.4.2']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - NIC <pc_nic> DISABLED
+ - [R PC_COM C OK]
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.OK
- 2. succeed
+ 2.OK
- 3. get IP 192.168.4.2
+ 3.OK; PC TCP server accept 成功
- 4. succeed
+ 4.OK
- 5. succeed
+ 5.OK
- 6. get IP 192.168.4.2'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
+ 6.OK'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1. config softap to a random ssid
-
- 2. disable DHCP server, do config and enable
-
- 3. PC WIFI NIC connect to target1 softap
-
- 4. target2 connect to target1 softap and disnnect
-
- 5. PC release IP and disconnected
-
- 6. target2 change mac and connect to target1'
- sub module: DHCP
- summary: dhcp server prefer assign released IP to new client
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.PC上网卡禁止掉 \n6.关闭建立的socket1连接"
+ sub module: TCP
+ summary: close TCP socket after PC NIC disabled
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: DHCP server function test
+ 1 SSC target connect with PC by UART.'
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DHCP_0204
+ ID: ^TCPIP_TCP_0407
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3 -t 1
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 ip -Q -o 1
- - ['R SSC2 C +STAIP:192.168.4.2']
- - - DELAY 90
- - ['']
- - - SSC SSC2 ip -Q -o 1
- - ['R SSC2 C +STAIP:192.168.4.2']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +JAP:DISCONNECTED']
- - - DELAY 60
- - ['']
- - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
- - ['R SSC2 C +MAC:STA,OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 ip -Q -o 1
- - ['R SSC2 C +STAIP:192.168.4.2']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 dhcp -E -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
+ - ['P SSC1 C +IP:OK', 'P SSC1 RE CLOSED:\d+,0']
+ - - SSC SSC1 ip -Q -o 1
+ - ['R SSC1 C +STAIP:192.168.111.210']
+ - - SSC SSC1 soc -S -s <sock1> -l 5
+ - ['P SSC1 RE SEND:\d+,ERROR']
comment: ''
execution time: 0.0
- expected result: '1. succeed
-
- 2. succeed
-
- 3. get IP 192.168.4.2
-
- 5. succeed
-
- 6. succeed
-
- 8. get IP 192.168.4.2'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
- module: TCPIP
- steps: '1. config softap to a random ssid
+ expected result: '1.OK
- 2. config DHCP timeout as 1 minute
+ 2.OK
- 3. target2 connect to target1
+ 3.OK; PC TCP server accept 成功
- 4. wait 90 seconds
+ 4.OK
- 5. check if target2 IP is same
+ 5.OK
- 6. target2 disconnect
+ 6.OK
- 7. wait 60s
+ 7.OK
- 8. target2 change mac and connect to target1'
- sub module: DHCP
- summary: dhcp server timeout test
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 8.ERROR'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.关闭8266的DHCP 1\n6.设置sta\
+ \ ip \n7.查询sta ip 地址是否生效\n8.8266往PC上发送5字节数据"
+ sub module: TCP
+ summary: do TCP send after IP changed
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: DHCP server function test
+ 1 SSC target connect with PC by UART.'
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DHCP_0205
+ ID: ^TCPIP_TCP_0408
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3 -t 1
- - ['P SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['P SSC1 C +DHCP:AP,OK', 'P SSC2 C +JAP:DISCONNECTED']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 dhcp -E -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
+ - ['P SSC1 C +IP:OK', 'P SSC1 RE CLOSED:\d+,0']
+ - - SSC SSC1 ip -Q -o 1
+ - ['R SSC1 C +STAIP:192.168.111.210']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.OK
- 2. succeed
+ 2.OK
- 3. target2 wifi disconnected'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
- module: TCPIP
- steps: '1. config softap to a random ssid
-
- 2. target2 connect to target1
-
- 3. disable DHCP server, do config and enable'
- sub module: DHCP
- summary: disconnect STA if config dhcp server
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
-
- PC has 1 WiFi NIC.
+ 3.OK; PC TCP server accept 成功
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: DHCP server function test
- version: v1 (2016-8-15)
-- CI ready: 'Yes'
- ID: TCPIP_DHCP_0202
- SDK: '8266_NonOS
+ 4.OK
- 8266_RTOS
+ 5.OK
- ESP32_IDF'
- Test App: SSC
- allow fail: ''
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - LOOP 3 4 "['01','02','03']" "[2,3,4]"
- - ['']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:OK']
- - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
- - ['R SSC2 C +MAC:STA,OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 ip -Q -o 1
- - ['R SSC2 C +STAIP:192.168.4.{%s}']
- comment: ''
- execution time: 0.0
- expected result: '1. succeed
+ 6.OK
- 2. succeed
+ 7.OK
- 3,4: get IP from dhcp pool with correct sequence'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
+ 8.OK'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1. config softap to a random ssid
-
- 2. config DHCP Server on Target1
-
- 3. target change mac, connect to Target1
-
- 4. Loop step3'
- sub module: DHCP
- summary: dhcp server ip pool
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1上使用步骤2创建的socket1,去连接\
+ \ PC的ip,test_tcp_port1\n4.PC与target1创建好TCP 连接,有ACCEPT\n5.关闭8266的DHCP 1\n6.设置sta\
+ \ ip \n7.查询sta ip 地址是否生效\n8.关闭建立的socket1连接"
+ sub module: TCP
+ summary: close TCP socket after IP changed
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: DHCP server function test
+ 1 SSC target connect with PC by UART.'
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DHCP_0203
+ ID: ^TCPIP_TCP_0411
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.3
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - LOOP 2 4 "['01','02']" "[2,3]"
- - ['']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +QAP:OK']
- - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:{%s}
- - ['R SSC2 C +MAC:STA,OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 ip -Q -o 1
- - ['R SSC2 C +STAIP:192.168.4.{%s}']
- - - SSC SSC2 mac -S -o 1 -m 10:22:33:44:55:66
- - ['R SSC2 C +MAC:STA,OK']
- - - DELAY 20
- - ['']
- - - SSC SSC2 ip -Q -o 1
- - ['R SSC2 C +STAIP:0.0.0.0']
+ - - SOC SOC1 LISTEN <test_tcp_port1>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
+ - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SOC SOC1 ACCEPT SOC2
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock2> -l 5
+ - ['P SSC1 RE SEND:\d+,ERROR']
+ - - SSC SSC1 soc -S -s <sock1> -l 5
+ - ['P SSC1 RE SEND:\d+,OK']
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.OK
- 2. succeed
+ 2.OK
- 3. succeed
+ 3.OK; PC TCP server accept 成功
- 4.1 succeed
+ 4.OK
- 4.2 failed'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
+ 5.OK
+
+ 6.ERROR
+
+ 7.OK'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1. config softap to a random ssid
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2. config DHCP Server on Target1(.4.2 - .4.3)
+ 2.target1上创建TCP socket1
- 3. target change mac, connect to Target1
+ 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
- 4. Loop step3 twice'
- sub module: DHCP
- summary: dhcp server ip pool empty
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 4.PC与target1创建好TCP 连接,有ACCEPT
+
+ 5.target1上创建TCP socket2
+
+ 6.8266往PC socket2上发送5字节数据
+
+ 7.8266往PC socket1上发送5字节数据'
+ sub module: TCP
+ summary: do TCP send after socket changed
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: DHCP server function test
+ 1 SSC target connect with PC by UART.'
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0204
+ ID: ^TCPIP_TCP_0412
SDK: '8266_NonOS
8266_RTOS
- ['R SSC1 RE CONNECT:\d+,OK']
- - SOC SOC1 ACCEPT SOC2
- [R SOC_COM L OK]
- - - SSC SSC1 soc -W -s <sock1> -o 0
- - ['R SSC1 RE WORKTHREAD:\d+,OK']
- - - SOC SOC2 SEND 146000
- - [P SOC_COM R *]
- - - SSC SSC1 soc -W -s <sock1> -o 1
- - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL <sock1>+2920]
+ - - SSC SSC1 soc -B -t TCP
+ - ['R SSC1 A <sock2>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
+ - - SSC SSC1 soc -T -s <sock2>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.OK,pc server accept OK
+ 3.OK; PC TCP server accept 成功
4.OK
6.OK
- 7.target收到146000 byte'
+ 7.OK'
initial condition: STAAP2
initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1. PC上建立TCP 监听 test_tcp_port1
+ steps: '1.PC上建立TCP 监听 test_tcp_port1
- 2.target1上创建TCP socket
+ 2.target1上创建TCP socket1
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+ 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
- 4.PC与target1 创建好TCP 连接,有ACCEPT
+ 4.PC与target1创建好TCP 连接,有ACCEPT
- 5.target上不进行recv
+ 5.target1上创建TCP socket2
- 6.PC send 100 * 1460 data to target,
+ 6.关闭socket1 连接
- 7.å\9c¨targetä¸\8aå¼\80å§\8brecv'
+ 7.å\85³é\97socket2è¿\9eæ\8e¥'
sub module: TCP
- summary: STA mode, recv buffer test
+ summary: close TCP send after socket changed
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) in different state
+ test point 1: abnormal/special use
+ test point 2: TCP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DHCP_0201
+ ID: ^TCPIP_UDP_0101
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 ip -S -o 2 -i <target_ap_ip>
- - ['R SSC1 C +IP:OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.1 -e 192.168.4.10
- - ['R SSC1 C +DHCP:LEASE,ERROR']
- - - SSC SSC1 dhcp -L -s 192.168.4.5 -e 192.168.4.2
- - ['R SSC1 C +DHCP:LEASE,ERROR']
- - - SSC SSC1 dhcp -L -s 192.168.2.2 -e 192.168.2.5
- - ['R SSC1 C +DHCP:LEASE,ERROR']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port2>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 C BIND:ERROR']
+ - - SSC SSC1 soc -B -t TCP -p <test_udp_port1>
+ - ['R SSC1 RE BIND:(\d+),OK']
comment: ''
execution time: 0.0
- expected result: '1.target1 关闭DHCP 2 OK
+ expected result: '1.OK
- 2.target1 设置ip 成功
+ 2.OK
- 3.设置dhcp 地址池 OK
+ 3.ERROR
- 4.ERROR
+ 4.OK'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 5.ERROR
+ 2.target1上UDP传输,Bind socket2,本地ip 0.0.0.0 target_udp_port2
- 6.ERROR
+ 3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 7.target1 打开DHCP ok'
- initial condition: APM1
- initial condition description (auto): AP mode, DHCP on, will autogen a TC with initial
- condition APSTA1
- module: TCPIP
- steps: "1.target1 关闭DHCP 2 \n2.target1 设置ip \n3.设置dhcp 地址池\n4.设置dhcp错误的参数\n5.设置dhcp错误的参数\n\
- 6.设置dhcp错误的参数\n7.target1 打开DHCP ok"
- sub module: DHCP
- summary: server dhcp lease test
+ 4.target1上创建TCP socket3, target_udp_port1'
+ sub module: UDP
+ summary: STA mode, udp bind test. use different ip, port
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DHCP server function test
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0208
+ ID: ^TCPIP_UDP_0102
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SOC SOC2 BIND <test_udp_port2> <pc_ip2>
- [R SOC_COM L OK]
- - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock1>
- - ['R SSC1 RE LISTEN:\d+,ERROR']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -L -s <sock2>
- - ['R SSC1 RE LISTEN:\d+,ERROR']
- - - SSC SSC1 soc -D -s <sock2>
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -L -s <sock2>
- - ['R SSC1 RE LISTEN:\d+,ERROR']
- - - SSC SSC1 soc -L -s 1000
- - ['R SSC1 RE LISTEN:\d+,ERROR']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 10
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 10]
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip2> -p <test_udp_port2> -l 10
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC2 UL 10]
comment: ''
execution time: 0.0
expected result: '1.OK
2.OK
- 3.ERROR
-
- 4 OK
-
- 5.OK
-
- 6.ERROR
-
- 7.OK
+ 3.OK
- 8.ERROR
+ 4.OK
- 9.ERROR'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
+ 5.OK'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0,<test_udp_port1>
-
- 3.target1上使用步骤2创建的socket,去建立TCP 监听
-
- 4.target1上创建TCP socket
-
- 5.target1上使用步骤4创建的socket,去连接 PC的ip,<test_tcp_port1>
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
- 6.target1上使用步骤4创建的socket,创建TCP 监听
+ 2.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
- 7.target1上shutdown 步骤4的socket
+ 3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 8.target1上使用步骤4创建的socket,创建TCP 监听
+ 4.target1上使用步骤3创建的socket1,往pc_ip,test_tcp_port1上发送10字节数据
- 9.target1上使用不存在socket,创建TCP 监听'
- sub module: TCP
- summary: AP mode, server listen test. use socket in state that can't listen
+ 5.target1上使用步骤3创建的socket1,往pc_ip2,test_tcp_port2上发送10字节数据'
+ sub module: UDP
+ summary: STA mode, sendto test. use different ip, port
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) in different state
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DHCP_0208
+ ID: ^TCPIP_UDP_0103
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['P SSC1 C +DHCP:AP,OK', 'P SSC2 C +JAP:DISCONNECTED']
- - - SSC SSC2 sta -D
- - ['R SSC2 C +JAP:DISCONNECTED']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- - - SSC SSC1 ap -L
- - [R SSC1 C 192.168.4.2 P <pc_wifi_nic_mac>]
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1]
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1472
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472]
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1473
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM]
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1472 -n 10 -j 20
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 14720]
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.OK
- 2. succeed
+ 2.OK
- 3. succeed
+ 3.OK
- 4. get IP 192.168.4.2
+ 4.OK
- 5. can only find target2 with IP 192.168.4.2'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
+ 5.OK,没有到UDP包
+
+ 6.OK'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1. config softap to a random ssid
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
- 2. PC NIC connect to target1 softap
+ 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 3. disable DHCP server, do config and enable
+ 3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1字节数据
- 4. target2 connect to target1 softap
+ 4.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472字节数据
- 5. softap list connected station'
- sub module: DHCP
- summary: dhcp server reconfig and new client able to get first IP in pool
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1473字节数据
+
+ 6.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472*10字节数据'
+ sub module: UDP
+ summary: STA mode, sendto test with different length
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DHCP server function test
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_DHCP_0209
+ ID: ^TCPIP_UDP_0104
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 dhcp -E -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - SSC SSC1 dhcp -L -s 192.168.4.2 -e 192.168.4.100
- - ['R SSC1 C +DHCP:LEASE,OK']
- - - SSC SSC1 dhcp -S -o 2
- - ['R SSC1 C +DHCP:AP,OK']
- - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> 192.168.4.2
- - ['R PC_COM NC ERROR C +WIFICONN:OK']
- - - DELAY 20
- - ['']
- - - SSC SSC1 ap -L
- - [R SSC1 C 192.168.4.2 C 192.168.4.3 P <pc_wifi_nic_mac> P <target2_mac>]
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SOC SOC1 SENDTO 1 <test_udp_port1> <target_ip>
+ - [R SSC1 SL <sock1>+1]
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+ - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(<sock1>,<pc_ip>,<test_udp_port1>)']
+ - - SOC SOC1 SENDTO 1473 <test_udp_port1> <target_ip>
+ - [P SSC1 NC +RECVFROM, P SOC_COM C OK]
+ - - SOC SOC2 BIND <test_udp_port2> <pc_ip2>
+ - [R SOC_COM L OK]
+ - - SOC SOC2 SENDTO 1472 <test_udp_port1> <target_ip>
+ - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(<sock1>,<pc_ip2>,<test_udp_port2>)']
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.OK
- 2. succeed
+ 2.OK
- 3. succeed
+ 3.OK
- 4. succeed
+ 4.OK
- 5. find target2 and PC'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
+ 5.OK,没收到UDP包
+
+ 6.OK
+
+ 7.OK'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1. config softap to a random ssid
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
- 2. target2 connect to target1 softap
+ 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 3. disable DHCP server, do config and enable
+ 3.PC往8266上发送1字节数据
- 4. PC NIC connect to target1 softap
+ 4.PC往8266上发送1472字节数据
- 5. softap list connected station'
- sub module: DHCP
- summary: dhcp server reconfig, old client and new client able to get IP
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 5.PC往8266上发送1473字节数据
+
+ 6.PC上SOC2 UDP传输,bing <test_udp_port2> <pc_ip2>
+
+ 7.PC往8266上发送1472字节数据'
+ sub module: UDP
+ summary: STA mode, recvfrom basic test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: DHCP server function test
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0412
+ ID: ^TCPIP_UDP_0105
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -T -s <sock2>
- - ['R SSC1 RE CLOSE:\d+,OK']
+ - ['R SSC1 RE CLOSE:\d+']
comment: ''
execution time: 0.0
expected result: '1.OK
- 2.OK
+ 2.OK'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 3.OK; PC TCP server accept 成功
+ 2.关闭socket1'
+ sub module: UDP
+ summary: STA mode, close UDP sockets test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
- 4.OK
+ PC has 1 WiFi NIC.
- 5.OK
+ 1 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
+ version: v1 (2016-8-15)
+- CI ready: 'Yes'
+ ID: ^TCPIP_UDP_0106
+ SDK: '8266_NonOS
- 6.OK
+ 8266_RTOS
- 7.OK'
+ ESP32_IDF'
+ Test App: SSC
+ allow fail: ''
+ auto test: 'Yes'
+ category: Function
+ cmd set:
+ - ''
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port2>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port3>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port4>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port5>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ comment: ''
+ execution time: 0.0
+ expected result: '1.ok
+
+ 2.ok
+
+ 3.ok
+
+ 4.ok
+
+ 5.ok'
initial condition: STAAP2
initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建TCP socket1
-
- 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
+ steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 4.PC与target1创建好TCP 连接,有ACCEPT
+ 2.target1上UDP传输,Bind socket2,本地ip target_udp_port2
- 5.target1上创建TCP socket2
+ 3.target1上UDP传输,Bind socket3,本地ip target_udp_port3
- 6.关闭socket1 连接
+ 4.target1上UDP传输,Bind socket4,本地ip target_udp_port4
- 7.关闭socket2连接'
- sub module: TCP
- summary: close TCP send after socket changed
+ 5.target1上UDP传输,Bind socket5,本地ip target_udp_port5'
+ sub module: UDP
+ summary: STA mode, create max udp socket test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ test point 1: basic function
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_TCP_0411
+ ID: ^TCPIP_UDP_0107
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -S -s <sock2> -l 5
- - ['P SSC1 RE SEND:\d+,ERROR']
- - - SSC SSC1 soc -S -s <sock1> -l 5
- - ['P SSC1 RE SEND:\d+,OK']
+ - - SSC SSC1 soc -I
+ - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(<sock1>,<test_udp_port1>)']
comment: ''
execution time: 0.0
expected result: '1.OK
- 2.OK
-
- 3.OK; PC TCP server accept 成功
-
- 4.OK
-
- 5.OK
-
- 6.ERROR
-
- 7.OK'
+ 2.OK'
initial condition: STAAP2
initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
on (autogen by STAM2)
+ level: Integration
module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
-
- 2.target1上创建TCP socket1
-
- 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1
-
- 4.PC与target1创建好TCP 连接,有ACCEPT
-
- 5.target1上创建TCP socket2
-
- 6.8266往PC socket2上发送5字节数据
+ steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 7.8266往PC socket1上发送5字节数据'
- sub module: TCP
- summary: do TCP send after socket changed
+ 2.target1上查询创建socket信息'
+ sub module: UDP
+ summary: STA mode, get active socket info test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: TCP handling abnormal event
+ test point 1: basic function
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_CONN_0901
+ ID: ^TCPIP_UDP_0108
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
- Test App: basic function
+ Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC1 sta -D
- - ['R SSC1 RE JAP:DISCONNECTED,\d+,8']
- - - SSC SSC1 sta -C -s <ap_ssid> -p <random_string>
- - ['R SSC1 RE JAP:DISCONNECTED,\d+,15']
- - - SSC SSC1 sta -C -s <random_string> -p <ap_password>
- - ['R SSC1 RE JAP:DISCONNECTED,\d+,201']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p <test_udp_port2>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 C BIND:ERROR']
+ - - SSC SSC1 soc -B -t TCP -p <test_udp_port1>
+ - ['R SSC1 RE BIND:(\d+),OK']
comment: ''
execution time: 0.0
- expected result: '1. disconnect event reason REASON_ASSOC_LEAVE
+ expected result: '1.OK
- 2. disconnect event reason REASON_4WAY_HANDSHAKE_TIMEOUT
+ 2.OK
- 3. disconnect event reason REASON_NO_AP_FOUND'
- initial condition: STAM1
- initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
- TC with initial condition STAAP1
- module: WIFI MAC
- steps: '1. sta connect to AP, and disconnect
+ 3.ERROR
- 2. connect to AP with wrong password
+ 4.OK'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 3. connect to AP not exist'
- sub module: WIFI Connect
- summary: test wifi disconnect reason REASON_ASSOC_LEAVE, REASON_4WAY_HANDSHAKE_TIMEOUT,
- REASON_NO_AP_FOUND
+ 2.target1上UDP传输,Bind socket2,本地ip 0.0.0.0 target_udp_port2
+
+ 3.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+ 4.target1上创建TCP socket3, target_udp_port1'
+ sub module: UDP
+ summary: AP mode, udp bind test. use different ip, port
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: wifi disconnect reason test
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_CONN_0902
+ ID: ^TCPIP_UDP_0110
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
- - ['R SSC1 C +JAP:CONNECTED']
- - - APC <APC1> OFF <ap_apc>
- - [P PC_COM L OK, 'R SSC1 RE JAP:DISCONNECTED,\d+,200']
- - - APC <APC1> ON <ap_apc>
- - [P PC_COM L OK]
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1]
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1472
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472]
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1473
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM]
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip_wifi> -p <test_udp_port1> -l 1472 -n 10
+ -j 20
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 14720]
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.OK
- 2. disconnect event REASON_BEACON_TIMEOUT'
- initial condition: STAM1
- initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
- TC with initial condition STAAP1
- module: WIFI MAC
- steps: '1. connect to AP
+ 2.OK
- 2. AP power off'
- sub module: WIFI Connect
- summary: test wifi disconnect reason REASON_BEACON_TIMEOUT
- test environment: SSC_T1_APC
- test environment description (auto): "PC has 1 wired NIC connected to AP.\nPC has\
- \ 1 wired NIC connected to APC (static IP within the same subnet with APC). \n\
- APC control AP power supply. \nPC has 1 WiFi NIC. \n1 SSC target connect with\
- \ PC by UART."
+ 3.OK
+
+ 4.OK
+
+ 5.OK,没收到UDP包
+
+ 6.OK'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+ 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+ 3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1字节数据
+
+ 4.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472字节数据
+
+ 5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1473字节数据
+
+ 6.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送1472*10字节数据'
+ sub module: UDP
+ summary: AP mode, sendto test with different length
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: wifi disconnect reason test
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_CONN_0903
+ ID: ^TCPIP_UDP_0112
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -C -s <wep_ap_ssid> -p bacfd
- - ['R SSC1 RE JAP:DISCONNECTED,\d+,2']
- comment: ''
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+']
+ comment: ''
execution time: 0.0
- expected result: 1. disconect event reason REASON_AUTH_EXPIRE
- initial condition: STAM1
- initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
- TC with initial condition STAAP1
- module: WIFI MAC
- steps: 1. connect WEP ap with error password (valid wep password)
- sub module: WIFI Connect
- summary: test wifi disconnect reason REASON_AUTH_EXPIRE
- test environment: SSC_T1_WEP
- test environment description (auto): '1 SSC target connect with PC by UART.
+ expected result: '1.OK
- One WEP share key AP placed near SSC1.'
+ 2.OK'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+ 2.关闭socket1'
+ sub module: UDP
+ summary: AP mode, close UDP sockets test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: wifi disconnect reason test
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_SCAN_0201
- SDK: ESP32_IDF
+ ID: ^TCPIP_UDP_0113
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 phy -S -o 1 -m b
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 sta -S
- - [R SSC1 P <ap_ssid_11b> P <ap_ssid_11g> P <ap_ssid_11n_ht20> P <ap_ssid_11n_ht40>]
- - - SSC SSC1 phy -S -o 1 -m g
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 sta -S
- - [R SSC1 P <ap_ssid_11b> P <ap_ssid_11g> P <ap_ssid_11n_ht20> P <ap_ssid_11n_ht40>]
- - - SSC SSC1 phy -S -o 1 -m n -b 20
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 sta -S
- - [R SSC1 P <ap_ssid_11b> P <ap_ssid_11g> P <ap_ssid_11n_ht20> P <ap_ssid_11n_ht40>]
- - - SSC SSC1 phy -S -o 1 -m n -b 40
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 sta -S
- - [R SSC1 P <ap_ssid_11b> P <ap_ssid_11g> P <ap_ssid_11n_ht20> P <ap_ssid_11n_ht40>]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port2>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port3>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port4>
+ - ['R SSC1 RE BIND:(\d+),OK']
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port5>
+ - ['R SSC1 RE BIND:(\d+),OK']
comment: ''
execution time: 0.0
- expected result: '3. find all 3 ext APs
-
- 5. find all 3 ext APs
-
- 7. find all 3 ext APs
-
- 9. find all 3 ext APs'
- initial condition: STAM1
- initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
- TC with initial condition STAAP1
- module: WIFI MAC
- steps: '1. 3 ext APs in 11b, 11g, 11n mode
-
- 2. STA in 11b mode
+ expected result: '1.ok
- 3. do all channel scan
+ 2.ok
- 4. STA in 11g mode
+ 3.ok
- 5. do all channel scan
+ 4.ok
- 6. STA in 11n ht20 mode
+ 5.ok'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- 7. do all channel scan
+ 2.target1上UDP传输,Bind socket2,本地ip target_udp_port2
- 8. STA in 11n ht40 mode
+ 3.target1上UDP传输,Bind socket3,本地ip target_udp_port3
- 9. do all channel scan'
- sub module: WIFI Scan
- summary: STA in differnt PHY mode to scan AP in different PHY mode
- test environment: SSC_T2_PhyMode
- test environment description (auto): '2 SSC target connect with PC by UART.
+ 4.target1上UDP传输,Bind socket4,本地ip target_udp_port4
- PC has one WiFi NIC support capture wlan packet using libpcap.
+ 5.target1上UDP传输,Bind socket5,本地ip target_udp_port5'
+ sub module: UDP
+ summary: AP mode, create max udp socket test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
- Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+ PC has 1 WiFi NIC.
- Put 4 APs near SSC targets.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: Scan in different mode and channel
- version: v1 (2015-8-15)
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
+ version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_CONN_0503
+ ID: ^TCPIP_UDP_0114
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -R -r 0
- - [R SSC1 C OK]
- - - SSC SSC1 sta -C -s <random_string> -p <random_string>
- - ['R SSC1 C +JAP:OK', 'R SSC1 NC +JAP:DISCONNECTED,1 C +JAP:DISCONNECTED,3']
- - - DELAY 5
- - ['R SSC1 NC +JAP:DISCONNECTED', P PC_COM C +DELAYDONE]
- - - SSC SSC1 sta -C -s <ap_ssid> -p <random_string>
- - ['R SSC1 C +JAP:OK', 'R SSC1 NC +JAP:DISCONNECTED,1 C +JAP:DISCONNECTED,2']
- - - DELAY 5
- - ['R SSC1 NC +JAP:DISCONNECTED', P PC_COM C +DELAYDONE]
- - - SSC SSC1 sta -R -r 1
- - [SSC SSC1 C OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -I
+ - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(<sock1>,<test_udp_port1>)']
comment: ''
execution time: 0.0
- expected result: '1. succeed
-
- 2. not reconnect when connect failed, status when recv disconnect event is correct
-
- 3. not reconnect when connect failed, status when recv disconnect event is correct
-
- 4. succeed'
- initial condition: STAM1
- initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a
- TC with initial condition STAAP1
- module: WIFI MAC
- steps: '1. set sta reconnect policy as not reconnect
-
- 2. sta connect to ap not exist
-
- 3. sta connect to ap with wrong password
+ expected result: '1.OK
- 4. reset sta reconnect policy as auto reconnect
+ 2.OK'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- '
- sub module: WIFI Connect
- summary: reconnect policy interact with failed STA connect/reconnect
+ 2.target1上查询创建socket信息'
+ sub module: UDP
+ summary: AP mode, get active socket info test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: reconnect policy test
+ test point 2: use UDP SAP (socket/espconn API) with different parameter
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_PHY_0402
- SDK: ESP32_IDF
+ ID: ^TCPIP_UDP_0201
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 phy -S -o 1 -m n -b 20
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 phy -S -o 2 -m n -b 20
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC2 phy -S -o 1 -m n -b 20
- - ['R SSC2 C +PHY:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['P SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -W -s <sock1> -o 0
+ - ['R SSC1 RE WORKTHREAD:\d+,OK']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+ - ['']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+ - ['']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+ - ['']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
+ - ['']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ip>
- ['']
- - - DELAY 10
- - ['P SSC2 NC +JAP:DISCONNECTED', 'P SSC1 C +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: 3. SoftAP and STA in channel2, both bandwidth 20M, SoftAP not get
- disconnected
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1. SoftAP 11n ht20, in channel1, ext AP 11n ht20, in channel2
+ expected result: '1.OK
- 2. AP get connected
+ 2.OK
- 3. STA connect to ext AP'
- sub module: Phy Mode
- summary: SoftAP ext AP in defferent channel, both bandwidth 20M, Softap get connected
- than STA connect to AP
- test environment: SSC_T2_PhyMode
- test environment description (auto): '2 SSC target connect with PC by UART.
+ 3.OK
- PC has one WiFi NIC support capture wlan packet using libpcap.
+ 4.PC OK
- Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+ 5.PC OK
- Put 4 APs near SSC targets.'
- test point 1: basic function
- test point 2: STA+SoftAP initial channel test
- version: v1 (2015-8-15)
+ 6.PC OK
+
+ 7.PC OK
+
+ 8.PC OK SOC_CLOSE=SOC1'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
+
+ 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+ 3.target1上关闭工作线程
+
+ 4.PC往8266上发送1472字节数据
+
+ 5.PC往8266上发送1472字节数据
+
+ 6.PC往8266上发送1472字节数据
+
+ 7.PC往8266上发送1472字节数据
+
+ 8.PC往8266上发送1472字节数据'
+ sub module: UDP
+ summary: STA mode, recv buffer test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 1 SSC target connect with PC by UART.'
+ test point 1: abnormal/special use
+ test point 2: use UDP SAP (socket/espconn API) in different state
+ version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_PHY_0401
- SDK: ESP32_IDF
+ ID: ^TCPIP_UDP_0202
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 phy -S -o 1 -m n -b 20
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 phy -S -o 2 -m n -b 20
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC2 phy -S -o 1 -m n -b 20
- - ['R SSC2 C +PHY:OK']
- - - SSC SSC1 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
- - ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -W -s <sock1> -o 0
+ - ['R SSC1 RE WORKTHREAD:\d+,OK']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+ - ['']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+ - ['']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+ - ['']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
+ - ['']
+ - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
- ['']
- - - DELAY 10
- - ['P SSC1 NC +JAP:DISCONNECTED', 'P SSC2 C +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: 3. SoftAP and STA in channel2, both bandwidth 20M, STA not disconnected
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1. SoftAP 11n ht20, in channel1, ext AP 11n ht20, in channel2
+ expected result: '1.OK
- 2. STA connect to ext AP
+ 2.OK
- 3. AP get connected'
- sub module: Phy Mode
- summary: SoftAP ext AP in defferent channel, both bandwidth 20M, STA connect to
- AP then Softap get connected
- test environment: SSC_T2_PhyMode
- test environment description (auto): '2 SSC target connect with PC by UART.
+ 3.OK
- PC has one WiFi NIC support capture wlan packet using libpcap.
+ 4.PC OK
- Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+ 5.PC OK
- Put 4 APs near SSC targets.'
- test point 1: basic function
- test point 2: STA+SoftAP initial channel test
- version: v1 (2015-8-15)
-- CI ready: 'Yes'
- ID: WIFI_PHY_0407
- SDK: ESP32_IDF
- Test App: SSC
- allow fail: ''
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SSC SSC1 phy -S -o 1 -m n -b 40
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 phy -S -o 2 -m n -b 40
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC2 phy -S -o 1 -m n -b 40
- - ['R SSC2 C +PHY:OK']
- - - SSC SSC1 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
- - ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['']
- - - DELAY 10
- - ['P SSC1 NC +JAP:DISCONNECTED', 'P SSC2 C +JAP:CONNECTED']
- comment: ''
- execution time: 0.0
- expected result: 3. SoftAP and STA in channel2, SoftAP 40M, STA 20M, STA not disconnected
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1. SoftAP 11n ht40, in channel1, ext AP 11n ht20, in channel2
+ 6.PC OK
- 2. STA connect to ext AP
+ 7.PC OK
- 3. AP get connected'
- sub module: Phy Mode
- summary: SoftAP ext AP in defferent channel, SoftAP 40M, ext AP 20M, STA connect
- to AP then Softap get connected
- test environment: SSC_T2_PhyMode
- test environment description (auto): '2 SSC target connect with PC by UART.
+ 8.PC OK SOC_CLOSE=SOC1'
+ initial condition: APSTA2
+ initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
+ by APM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
- PC has one WiFi NIC support capture wlan packet using libpcap.
+ 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
- Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+ 3.target1上关闭工作线程
- Put 4 APs near SSC targets.'
- test point 1: basic function
- test point 2: STA+SoftAP initial channel test
- version: v1 (2015-8-15)
+ 4.PC往8266上发送1472字节数据
+
+ 5.PC往8266上发送1472字节数据
+
+ 6.PC往8266上发送1472字节数据
+
+ 7.PC往8266上发送1472字节数据
+
+ 8.PC往8266上发送1472字节数据'
+ sub module: UDP
+ summary: AP mode, recv buffer test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 1 SSC target connect with PC by UART.'
+ test point 1: abnormal/special use
+ test point 2: use UDP SAP (socket/espconn API) in different state
+ version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_PHY_0406
- SDK: ESP32_IDF
+ ID: ^TCPIP_UDP_0301
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 phy -S -o 1 -m n -b 20
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 phy -S -o 2 -m n -b 40
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC2 phy -S -o 1 -m n -b 40
- - ['R SSC2 C +PHY:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['P SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
- - ['']
- - - DELAY 10
- - ['P SSC2 NC +JAP:DISCONNECTED', 'P SSC1 C +JAP:CONNECTED']
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -i <target_ip> -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+ - - SSC SSC1 sta -D
+ - ['P SSC1 C +QAP:OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:\d+,ERROR']
comment: ''
execution time: 0.0
- expected result: 3. SoftAP and STA in channel2, both bandwidth 40M, SoftAP not get
- disconnected
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1. SoftAP 11n ht40, in channel1, ext AP 11n ht40, in channel2
+ expected result: '1.OK
- 2. AP get connected
+ 2.OK
- 3. STA connect to ext AP'
- sub module: Phy Mode
- summary: SoftAP ext AP in defferent channel, both bandwidth 40M, Softap get connected
- than STA connect to AP
- test environment: SSC_T2_PhyMode
- test environment description (auto): '2 SSC target connect with PC by UART.
+ 3.OK
- PC has one WiFi NIC support capture wlan packet using libpcap.
+ 4.OK
- Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+ 5.ERROR'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
- Put 4 APs near SSC targets.'
- test point 1: basic function
- test point 2: STA+SoftAP initial channel test
- version: v1 (2015-8-15)
+ 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+ 3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据
+
+ 4.断开与AP 连接
+
+ 5.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据'
+ sub module: UDP
+ summary: do UDP send after WIFI disconnected
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 1 SSC target connect with PC by UART.'
+ test point 1: abnormal/special use
+ test point 2: UDP handling abnormal event
+ version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_PHY_0405
- SDK: ESP32_IDF
+ ID: ^TCPIP_UDP_0302
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 phy -S -o 1 -m n -b 20
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 phy -S -o 2 -m n -b 40
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC2 phy -S -o 1 -m n -b 40
- - ['R SSC2 C +PHY:OK']
- - - SSC SSC1 sta -C -s <ap_ssid_c1_ht20> -p <ap_password_phy>
- - ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['']
- - - DELAY 10
- - ['P SSC1 NC +JAP:DISCONNECTED', 'P SSC2 C +JAP:CONNECTED']
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+ - - SSC SSC1 sta -D
+ - ['P SSC1 C +QAP:OK']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
- expected result: 3. SoftAP and STA in channel2, both bandwidth 40M, STA not disconnected
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1. SoftAP 11n ht40, in channel1, ext AP 11n ht40, in channel2
+ expected result: '1.OK
- 2. STA connect to ext AP
+ 2.OK
- 3. AP get connected'
- sub module: Phy Mode
- summary: SoftAP ext AP in defferent channel, both bandwidth 40M, STA connect to
- AP then Softap get connected
- test environment: SSC_T2_PhyMode
- test environment description (auto): '2 SSC target connect with PC by UART.
+ 3.OK
- PC has one WiFi NIC support capture wlan packet using libpcap.
+ 4.OK
- Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+ 5.OK'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
- Put 4 APs near SSC targets.'
- test point 1: basic function
- test point 2: STA+SoftAP initial channel test
- version: v1 (2015-8-15)
+ 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+
+ 3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据
+
+ 4.断开与AP 连接
+
+ 5.关闭建立的socket1连接'
+ sub module: UDP
+ summary: "close UDP socket after WIFI \ndisconnected"
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 1 SSC target connect with PC by UART.'
+ test point 1: abnormal/special use
+ test point 2: UDP handling abnormal event
+ version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_PHY_0404
- SDK: ESP32_IDF
+ ID: ^TCPIP_UDP_0303
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 phy -S -o 1 -m n -b 40
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 phy -S -o 2 -m n -b 20
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC2 phy -S -o 1 -m n -b 20
- - ['R SSC2 C +PHY:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['P SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
- - ['']
- - - DELAY 10
- - ['P SSC2 NC +JAP:DISCONNECTED', 'P SSC1 C +JAP:CONNECTED']
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+ - - SSC SSC1 op -S -o 2
+ - ['P SSC1 C +MODE:OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:(\d+),OK']
comment: ''
execution time: 0.0
- expected result: 3. SoftAP and STA in channel2, SoftAP 20M, STA 40M, SoftAP not
- get disconnected
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1. SoftAP 11n ht20, in channel1, ext AP 11n ht40, in channel2
-
- 2. AP get connected
+ expected result: '1.OK
- 3. STA connect to ext AP'
- sub module: Phy Mode
- summary: SoftAP ext AP in defferent channel, SoftAP 20M, ext AP 40M, Softap get
- connected than STA connect to AP
- test environment: SSC_T2_PhyMode
- test environment description (auto): '2 SSC target connect with PC by UART.
+ 2.OK
- PC has one WiFi NIC support capture wlan packet using libpcap.
+ 3.OK
- Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+ 4.OK
- Put 4 APs near SSC targets.'
- test point 1: basic function
- test point 2: STA+SoftAP initial channel test
- version: v1 (2015-8-15)
+ 5.ERROR'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+ \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+ 4.修改8266的Mode为softAP mode \n5.8266往PC上发送5字节数据"
+ sub module: UDP
+ summary: do UDP send after mode changed
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 1 SSC target connect with PC by UART.'
+ test point 1: abnormal/special use
+ test point 2: UDP handling abnormal event
+ version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0112
+ ID: ^TCPIP_UDP_0304
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - [R SOC_COM L OK]
- - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+ - - SSC SSC1 op -S -o 2
+ - ['P SSC1 C +MODE:OK']
- - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+']
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
- 2.OK'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
- module: TCPIP
- steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 2.OK
- 2.关闭socket1'
+ 3.OK
+
+ 4.OK
+
+ 5.OK'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+ \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+ 4.修改8266的Mode为softAP mode \n5.关闭建立的socket1连接"
sub module: UDP
- summary: AP mode, close UDP sockets test
+ summary: close UDP socket after mode changed
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
+ test point 1: abnormal/special use
+ test point 2: UDP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_PHY_0408
- SDK: ESP32_IDF
+ ID: ^TCPIP_UDP_0305
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 phy -S -o 1 -m n -b 40
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 phy -S -o 2 -m n -b 40
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC2 phy -S -o 1 -m n -b 40
- - ['R SSC2 C +PHY:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['P SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
- - ['']
- - - DELAY 10
- - ['P SSC2 NC +JAP:DISCONNECTED', 'P SSC1 C +JAP:CONNECTED']
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+ - - NIC <pc_nic> DISABLED
+ - [R PC_COM C OK]
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
- expected result: 3. SoftAP and STA in channel2, SoftAP 40M, STA 20M, SoftAP not
- get disconnected
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1. SoftAP 11n ht40, in channel1, ext AP 11n ht20, in channel2
+ expected result: '1.OK
- 2. AP get connected
+ 2.OK
- 3. STA connect to ext AP'
- sub module: Phy Mode
- summary: SoftAP ext AP in defferent channel, SoftAP 40M, ext AP 20M, Softap get
- connected than STA connect to AP
- test environment: SSC_T2_PhyMode
- test environment description (auto): '2 SSC target connect with PC by UART.
+ 3.OK
- PC has one WiFi NIC support capture wlan packet using libpcap.
+ 4.OK
- Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+ 5.OK'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+ \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+ 4.PC上网卡禁止掉 \n5.关闭建立的socket1连接"
+ sub module: UDP
+ summary: close UDP socket after PC NIC disabled
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
- Put 4 APs near SSC targets.'
- test point 1: basic function
- test point 2: STA+SoftAP initial channel test
- version: v1 (2015-8-15)
+ PC has 1 WiFi NIC.
+
+ 1 SSC target connect with PC by UART.'
+ test point 1: abnormal/special use
+ test point 2: UDP handling abnormal event
+ version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0114
+ ID: ^TCPIP_UDP_0306
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - [R SOC_COM L OK]
- - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -I
- - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(<sock1>,<test_udp_port1>)']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+ - - SSC SSC1 dhcp -E -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
+ - ['P SSC1 C +IP:OK']
+ - - SSC SSC1 ip -Q -o 1
+ - ['R SSC1 C +STAIP:192.168.111.210']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 1
+ - ['P SSC1 RE SEND:\d+,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
- 2.OK'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
- module: TCPIP
- steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1
+ 2.OK
- 2.target1上查询创建socket信息'
+ 3.OK; PC TCP server accept 成功
+
+ 4.OK
+
+ 5.OK
+
+ 6.OK
+
+ 7.OK'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+ \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+ 4.关闭8266的DHCP 1\n5.设置sta ip \n6.查询sta ip 地址是否生效\n7.8266往PC上发送5字节数据"
sub module: UDP
- summary: AP mode, get active socket info test
+ summary: do UDP send after IP changed
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use UDP SAP (socket/espconn API) with different parameter
+ test point 1: abnormal/special use
+ test point 2: UDP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_CONN_0104
+ ID: ^TCPIP_UDP_0307
SDK: '8266_NonOS
8266_RTOS
ESP32_IDF'
Test App: SSC
- allow fail: ''
+ allow fail: 1/5
auto test: 'Yes'
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -m
- 1
- - ['R SSC1 C +SAP:OK']
- - - WIFI <pc_wifi_nic> DISCONN
- - ['R PC_COM C +WIFIDISCONN:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
- - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
- <target_encryption>
- - ['R PC_COM C +WIFICONN:ERROR']
+ - - SOC SOC1 BIND <test_udp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
+ - ['R SSC1 A <sock1>:BIND:(\d+),OK']
+ - - SSC SSC1 soc -S -s <sock1> -i <pc_ip> -p <test_udp_port1> -l 5
+ - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5]
+ - - SSC SSC1 dhcp -E -o 1
+ - ['R SSC1 C +DHCP:STA,OK']
+ - - SSC SSC1 ip -S -o 1 -i 192.168.111.210
+ - ['P SSC1 C +IP:OK']
+ - - SSC SSC1 ip -Q -o 1
+ - ['R SSC1 C +STAIP:192.168.111.210']
+ - - SSC SSC1 soc -T -s <sock1>
+ - ['R SSC1 RE CLOSE:\d+,OK']
comment: ''
execution time: 0.0
- expected result: '1. target1 set AP,set max allowed sta as 1
+ expected result: '1.OK
- 2. use PC disconnect,
+ 2.OK
- 3.target 2 jap succeed
+ 3.OK; PC TCP server accept 成功
- 4.PC WIFI can not CONN'
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
- module: WIFI MAC
- steps: '1.target1下设置ssid 和pwd 加密方式,set max allowed sta as 1
+ 4.OK
- 2.use PC disconnect target1
+ 5.OK
- 3.target 2 jap target1
+ 6.OK
- 4.PC WIFI CONNECT target1'
- sub module: WIFI Connect
- summary: station SAP test, max allowed sta
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ 7.OK'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
+ module: TCPIP
+ steps: "1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>\n2.target1上UDP传输,Bind socket1,本地ip\
+ \ target_udp_port1\n3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据\n\
+ 4.关闭8266的DHCP 1\n5.设置sta ip \n6.查询sta ip 地址是否生效\n7.关闭建立的socket1连接"
+ sub module: UDP
+ summary: close UDP socket after IP changed
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: SAP/JAP with different config
+ 1 SSC target connect with PC by UART.'
+ test point 1: abnormal/special use
+ test point 2: UDP handling abnormal event
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_UDP_0202
+ ID: ^WIFI_ADDR_0101
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 BIND <test_udp_port1> <pc_ip_wifi>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t UDP -p <test_udp_port1>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -W -s <sock1> -o 0
- - ['R SSC1 RE WORKTHREAD:\d+,OK']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
- - ['']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
- - ['']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
- - ['']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
- - ['']
- - - SOC SOC1 SENDTO 1472 <test_udp_port1> <target_ap_ip>
- - ['']
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 mac -S -o 1 -m 44:55:66:77:88:99
+ - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 mac -S -o 2 -m 22:33:44:55:66:77
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 mac -Q -o 3
+ - ['R SSC1 C +STAMAC:44:55:66:77:88:99 C +APMAC:22:33:44:55:66:77']
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
comment: ''
execution time: 0.0
expected result: '1.OK
- 2.OK
-
- 3.OK
-
- 4.PC OK
-
- 5.PC OK
-
- 6.PC OK
-
- 7.PC OK
-
- 8.PC OK SOC_CLOSE=SOC1'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
- module: TCPIP
- steps: '1.PC上SOC1 UDP传输,bing <test_udp_port1> <pc_ip>
-
- 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1
-
- 3.target1上关闭工作线程
-
- 4.PC往8266上发送1472字节数据
+ 2.ok
- 5.PC往8266上发送1472字节数据
+ 3.ok
- 6.PC往8266上发送1472字节数据
+ 4.ok
- 7.PC往8266上发送1472字节数据
+ 5.ok
- 8.PC往8266上发送1472字节数据'
- sub module: UDP
- summary: AP mode, recv buffer test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 6.ok'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: "1.target1 设置mode 为sta+softAP mode\n2.target1 设置sta mode 下的mac \n3.target1\
+ \ 设置softAP mode 下的mac\n4.target1 查询softAP+sta 下的mac\n5.target1 设置sta mode 下的mac\
+ \ 为target1_mac\n6.target1 设置softAP mode 下的mac 为target1_ap_mac"
+ sub module: MAC Address
+ summary: set mac, query mac
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
- test point 1: abnormal/special use
- test point 2: use UDP SAP (socket/espconn API) in different state
+ 2 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: mac address function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_IGMP_0103
+ ID: ^WIFI_ADDR_0102
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 igmp -J -h <target_ap_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 igmp -L -h <target_ap_ip> -m 224.1.1.1
- - ['R SSC1 C +IGMP:OK']
- - - SSC SSC1 igmp -J -h <target_ap_ip> -m 223.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -J -h <target_ap_ip> -m 240.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -J -h 192.168.237.77 -m 224.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
- - - SSC SSC1 igmp -J -h 192.168.237.77 -m 240.1.1.1
- - ['R SSC1 C +IGMP:ERROR']
+ - - SSC SSC1 mac -S -o 2 -m 44:55:66:77:88:99
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['']
+ - - SSC SSC2 sta -S -b 44:55:66:77:88:99
+ - ['R SSC2 RE \+SCAN:.+,44:55:66:77:88:99,']
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC2 mac -Q -o 1
+ - ['R SSC2 A <target2_mac_tmp>:\+STAMAC:(.+)\r\n']
+ - - SSC SSC2 mac -S -o 1 -m 22:33:44:55:66:77
+ - ['R SSC2 C +MAC:STA,OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['P SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 ap -L
+ - ['R SSC1 C +LSTA:22:33:44:55:66:77']
+ - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+ - ['R SSC2 C +MAC:STA,OK']
comment: ''
execution time: 0.0
- expected result: '1. success
+ expected result: '1.OK
- 2. failed
+ 2.ok
- 3. failed
+ 3.ok
- 4. failed'
- initial condition: APSTA2
- initial condition description (auto): testing ap on sta + ap mode, PC join AP (autogen
- by APM2)
- module: TCPIP
- steps: '1. join group with correct host addr and multicast addr
+ 4.ok
- 2. join group with correct host addr and wrong multicast addr
+ 5.ok
- 3. join group with wrong host addr and correct multicast addr
+ 6.ok
- 4. join group with wrong host addr and wrong multicast addr'
- sub module: IGMP
- summary: softAP IGMP join group address check
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 7.ok
+
+ 8.ok
+
+ 9.ok'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: "1.target1 设置sta mode下的mac 44:55:66:77:88:99\n2.target1下设置ssid 和pwd 加密方式\n\
+ 3.target2 查询mac为44:55:66:77:88:99的ssid\n4.target1 设置sta mode下的mac target_ap_mac\n\
+ 5.target2 查询sta mode 下的mac 为target2_mac_tmp\n6.target2 设置sta mode 下的mac 为22:33:44:55:66:77\n\
+ 7.target2 jap target1\n8.target1 查询连接到的sta \n9.target2 设置sta mode 下的mac 为 target2_mac"
+ sub module: MAC Address
+ summary: set mac and do scan/JAP/SAP
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: IGMP API parameter check
+ test point 2: mac address function test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_CONN_0101
+ ID: ^WIFI_CONN_0101
SDK: '8266_NonOS
8266_RTOS
\ jap succeed\n7.target1 set AP,wap_wpa2_psk\n8.target 2 jap succeed\n9.target1\
\ set AP,加密方式为t 1\n10.target 2 上查询到target_ssid\n11.target1 set AP,加密方式为t 5\n12.target\
\ 2 上查询到target_ssid"
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
module: WIFI MAC
steps: "1.target1下设置ssid 和pwd,加密方式 open\n2.target2 jap target1\n3.target1下设置ssid\
\ 和pwd,加密方式 wpa_psk \n4.target2 jap target1\n5.target1下设置ssid 和pwd,加密方式 wpa2_psk\
test point 2: SAP/JAP with different config
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_CONN_0102
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
- Test App: SSC
- allow fail: ''
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SSC SSC1 ap -S -s <target_ssid> -t 0 -n 1
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
- - - SSC SSC1 ap -S -s <target_ssid> -t 0 -n 13
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
- - - SSC SSC1 ap -S -s <target_ssid> -n 15
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -S
- - ['R SSC2 RE "\+SCAN:%%s,.+,\d+,1"%%(<target_ssid>)']
- comment: ''
- execution time: 0.0
- expected result: '1. target1 set AP,set channel 1
-
- 2.target 2 jap succeed
-
- 3.target1 set AP,set channel 10
-
- 4.target 2 jap succeed
-
- 5.target1 set AP,set channel 15
-
- 6.target 2 上查询到target_ssid'
- initial condition: T2O_1
- initial condition description (auto): same as T2_1 but will NOT autogen a TC with
- initial condition T2_2
- module: WIFI MAC
- steps: '1. target1下设置ssid 和pwd 加密方式,set channel 1
-
- 2.target2 jap target 1
-
- 3.target1下设置ssid 和pwd 加密方式,set channel 10
-
- 4.target2 jap target 1
-
- 5.target1下设置ssid 和pwd 加密方式,set channel 15
-
- 6.target 2 上查询target_ssid'
- sub module: WIFI Connect
- summary: station SAP+JAP test, different channel
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
-
- PC has 1 WiFi NIC.
-
- 2 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: SAP/JAP with different config
- version: v1 (2016-8-15)
-- CI ready: 'Yes'
- ID: WIFI_CONN_0103
+ ID: ^WIFI_CONN_0103
SDK: '8266_NonOS
8266_RTOS
3.target1 set AP,set ssid hidden,
4.target 2上不能scan target_ap_mac'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
module: WIFI MAC
steps: '1. target1下设置ssid 和pwd 加密方式,set ssid broad cast
test point 2: SAP/JAP with different config
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_PHY_0504
- SDK: ESP32_IDF
+ ID: ^WIFI_CONN_0104
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
Test App: SSC
allow fail: ''
auto test: 'Yes'
category: Function
cmd set:
- - ''
- - - SSC SSC1 phy -S -o 1 -m n -b 40
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC1 phy -S -o 2 -m n -b 40
- - ['R SSC1 C +PHY:OK']
- - - SSC SSC2 sta -C -s <ap_ssid_c1_ht40> -p <ap_password_phy>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 sta -C -s <target2_ssid> -p <target2_password>
- - ['R SSC1 C +JAP:CONNECTED']
- - - SSC SSC3 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC3 C +JAP:CONNECTED']
- - - SSC SSC2 sta -C -s <ap_ssid_c2_ht20> -p <ap_password_phy>
- - ['']
- - - DELAY 10
- - ['P SSC2 C +JAP:CONNECTED', 'P SSC[1,3] NC +JAP:DISCONNECTED']
+ - ''
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -m
+ 1
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> DISCONN
+ - ['R PC_COM C +WIFIDISCONN:OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM C +WIFICONN:ERROR']
comment: ''
execution time: 0.0
- expected result: 4. all STA not get disconnected; target 1 SoftAP and STA both in
- channel2 20M
- initial condition: T3_PHY1
- initial condition description (auto): '1. target 1 and target 2 set to AP+STA mode,
- target 3 set to STA mode
+ expected result: '1. target1 set AP,set max allowed sta as 1
- 2. all interface of target 2,3 set to 11n ht40
+ 2. use PC disconnect,
- 3. config softAP of target 1 and target 2'
- module: WIFI MAC
- steps: '1. target 1 STA and SoftAP set to 40M
+ 3.target 2 jap succeed
- 2. target 2 STA connect to ap_channel1_40
+ 4.PC WIFI can not CONN'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1.target1下设置ssid 和pwd 加密方式,set max allowed sta as 1
- 3. target 1/3 STA connect to target 2/1 SoftAP
+ 2.use PC disconnect target1
- 4. target 2 STA connect to ap_channel2_20'
- sub module: Phy Mode
- summary: SoftAP STA in channel1, SoftAP 20M, STA 40M, STA changed to channel2 40M
- test environment: SSC_T3_PhyMode
- test environment description (auto): '3 SSC target connect with PC by UART.
+ 3.target 2 jap target1
- PC has one WiFi NIC support capture wlan packet using libpcap.
+ 4.PC WIFI CONNECT target1'
+ sub module: WIFI Connect
+ summary: station SAP test, max allowed sta
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
- Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
+ PC has 1 WiFi NIC.
- Put 4 APs near SSC targets.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: STA+SoftAP dynamic channel switch test
- version: v1 (2015-8-15)
+ test point 2: SAP/JAP with different config
+ version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^TCPIP_IP_0101
+ ID: ^WIFI_CONN_0201
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 dhcp -S -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -S -o 1 -i 192.168.123.123
- - ['R SSC1 C +IP:ERROR']
- - - SSC SSC1 dhcp -E -o 1
- - ['R SSC1 C +DHCP:STA,OK']
- - - SSC SSC1 ip -S -o 1 -i 192.168.123.123
- - ['R SSC1 C +IP:OK']
- - - SSC SSC1 ip -Q -o 1
- - ['R SSC1 C +STAIP:192.168.123.123']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SSC SSC1 sta -Q
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:OK']
+ - - SSC SSC1 sta -Q
+ - ['R SSC1 C +JAP:DISCONNECTED']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.ERROR
+ expected result: '1.target1 jion AP 成功
- 3.OK
+ 2.查询JAP的状态
- 4.OK
+ 3.target1 断开AP
- 5.STAIP:192.168.123.123'
+ 4.查询target1 JAP 是DISCONN'
initial condition: STAAP1
initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
by STAM1)
- module: TCPIP
- steps: '1.target1 打开DHCP 1
-
- 2.target1 设置sta ip 192.168.123.123
+ level: Integration
+ module: WIFI MAC
+ steps: '1.target1 jion AP 成功
- 4.target1 关闭DHCP 1
+ 2.查询JAP的状态
- 5.target1 设置sta ip 192.168.123.123
+ 3.target1 断开AP
- 6.target1 查询 当前sta ip'
- sub module: IP
- summary: sta set and query static ip test
+ 4.查询target1 JAP 是DISCONN'
+ sub module: WIFI Connect
+ summary: JAP query test
test environment: SSC_T1_1
test environment description (auto): 'PC has 2 wired NIC connected to AP.
1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: set and query static IP
+ test point 2: query JAP status
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: WIFI_CONN_0801
+ ID: ^WIFI_CONN_0301
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 0
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum> -h
+ 0 -m 8
- ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <random_string> -p <random_string>
- - ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 2
- - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,2,0']
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3
- - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,3,2']
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
- - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,4,3']
- - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 0
- - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,0,4']
+ - - SSC SSC1 ap -Q
+ - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,3,0,8,\d+"%%(<target_ssid>,<target_password>)']
comment: ''
execution time: 0.0
- expected result: '1. succeed
-
- 2. succeed
-
- 3. auth change event old mode 0 new mode 2
-
- 4. auth change event old mode 2 new mode 3
-
- 5. auth change event old mode 3 new mode 4
+ expected result: '1. target1 set AP
- 6. auth change event old mode 4 new mode 0'
- initial condition: T2_1
- initial condition description (auto): target 1 as SoftAP, target 2 as STA, will
- autogen a TC with initial condition T2_2
+ 2.target 1上查询到跟设置AP时一致'
+ initial condition: APSTA1
+ initial condition description (auto): testing ap on sta + ap mode (autogen by APM1)
+ level: Integration
module: WIFI MAC
- steps: '1. set target1 softap auth mode 0
-
- 2. target2 connect to target1
-
- 3. set target1 softap auth mode 2, wait sta connected
-
- 4. set target1 softap auth mode 3, wait sta connected
-
- 5. set target1 softap auth mode 4, wait sta connected
+ steps: '1. target1 set AP
- 6. set target1 softap auth mode 0, wait sta connected'
+ 2.target 1上查询到跟设置AP时一致'
sub module: WIFI Connect
- summary: test auth change event
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ summary: AP config query test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: wifi auth changed event test
+ test point 2: query AP config
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_CONN_0101
+ ID: ^WIFI_CONN_0401
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 ap -S -s <target_ssid> -t 0
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 2
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 4
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 1
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -S
- - ['R SSC2 RE "\+SCAN:%%s,.+,0,\d+"%%(<target_ssid>)']
- - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t 5
- - ['R SSC1 C +SAP:OK']
- - - SSC SSC2 sta -S
- - ['R SSC2 RE "\+SCAN:%%s,.+,0,\d+"%%(<target_ssid>)']
+ - - SSC SSC1 sta -R -a 0
+ - ['R SSC1 C +AUTORECONN:OK']
+ - - SSC SSC1 sta -R -a 2
+ - ['R SSC1 C +AUTORECONN:0']
+ - - SSC SSC1 reboot
+ - ['']
+ - - DELAY 15
+ - ['']
+ - - SSC SSC1 sta -Q
+ - ['R SSC1 C JAP:DISCONNECTED']
+ - - SSC SSC1 sta -R -a 1
+ - ['R SSC1 C +AUTORECONN:OK']
+ - - SSC SSC1 sta -R -a 2
+ - ['R SSC1 C +AUTORECONN:1']
+ - - SSC SSC1 reboot
+ - ['R SSC1 C +JAP:CONNECTED']
comment: ''
execution time: 0.0
- expected result: "1.target1 set AP,open, \n2.target 2 jap succeed\n3.target1 set\
- \ AP,wpa_psk \n4.target 2 jap succeed\n5.target1 set AP, wpa2_psk \n6.target 2\
- \ jap succeed\n7.target1 set AP,wap_wpa2_psk\n8.target 2 jap succeed\n9.target1\
- \ set AP,加密方式为t 1\n10.target 2 上查询到target_ssid\n11.target1 set AP,加密方式为t 5\n12.target\
- \ 2 上查询到target_ssid"
- initial condition: T2_2
- initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ expected result: '1.设置autoreconn,关闭
+
+ 2.查询当前autoreconn状态是否关闭
+
+ 3.重启系统,等待15s
+
+ 4.查询target1 未自动重连AP
+
+ 5.设置autoreconn,开启
+
+ 6.查询当前autoreconn状态是否开启
+
+ 7.系统重启后target1 自动重连AP'
+ initial condition: STAAP2
+ initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP
+ on (autogen by STAM2)
+ level: Integration
module: WIFI MAC
- steps: "1.target1下设置ssid 和pwd,加密方式 open\n2.target2 jap target1\n3.target1下设置ssid\
- \ 和pwd,加密方式 wpa_psk \n4.target2 jap target1\n5.target1下设置ssid 和pwd,加密方式 wpa2_psk\
- \ \n6.target 2 jap target1\n7.target1下设置ssid 和pwd,加密方式 wap_wpa2_psk\n8.target2\
- \ jap target1\n9.target1下设置ssid 和pwd,加密方式 wep \n10.target2上查询target_ssid\n11.target1下设置ssid\
- \ 和pwd,加密方式 t 5 错误的加密方式\n12.target2上查询 target_ssid"
+ steps: '1.设置autoreconn,关闭
+
+ 2.查询当前autoreconn状态是否关闭
+
+ 3.重启系统,等待15s
+
+ 4.查询target1 未自动重连AP
+
+ 5.设置autoreconn,开启
+
+ 6.查询当前autoreconn状态是否开启
+
+ 7.系统重启后target1 自动重连AP'
sub module: WIFI Connect
- summary: station SAP+JAP test, different encryption
- test environment: SSC_T2_1
- test environment description (auto): 'PC has 1 wired NIC connected to AP.
+ summary: auto reconnect test
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 2 SSC target connect with PC by UART.'
+ 1 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: SAP/JAP with different config
+ test point 2: power on auto reconnect test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_CONN_0503
+ ID: ^WIFI_CONN_0501
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 sta -R -r 0
- - [R SSC1 C OK]
- - - SSC SSC1 sta -C -s <random_string> -p <random_string>
- - ['R SSC1 C +JAP:OK', 'R SSC1 NC +JAP:DISCONNECTED,1 C +JAP:DISCONNECTED,3']
- - - DELAY 5
- - ['R SSC1 NC +JAP:DISCONNECTED', P PC_COM C +DELAYDONE]
- - - SSC SSC1 sta -C -s <ap_ssid> -p <random_string>
- - ['R SSC1 C +JAP:OK', 'R SSC1 NC +JAP:DISCONNECTED,1 C +JAP:DISCONNECTED,2']
- - - DELAY 5
- - ['R SSC1 NC +JAP:DISCONNECTED', P PC_COM C +DELAYDONE]
- - - SSC SSC1 sta -R -r 1
- - [SSC SSC1 C OK]
+ - - SSC SSC2 sta -R -r 1
+ - ['R SSC2 C +RECONN:OK']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
+ - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - DELAY 10
+ - ['']
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - DELAY 15
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC2 sta -R -r 0
+ - ['R SSC2 C +RECONN:OK']
+ - - SSC SSC2 sta -R -r 2
+ - ['R SSC2 C +RECONN:0']
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - DELAY 10
+ - ['']
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - DELAY 15
+ - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
+ - - SSC SSC2 sta -R -r 1
+ - ['R SSC2 C +RECONN:OK']
comment: ''
execution time: 0.0
- expected result: '1. succeed
+ expected result: '1.设置reconn,开启(此功能不需要重启系统)
- 2. not reconnect when connect failed, status when recv disconnect event is correct
+ 2.target1 set AP
- 3. not reconnect when connect failed, status when recv disconnect event is correct
+ 3.target2 JAP target1 成功
- 4. succeed'
- initial condition: STAAP1
- initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
- by STAM1)
- module: WIFI MAC
- steps: '1. set sta reconnect policy as not reconnect
+ 4.target2 断开target1 连接
+
+ 5.等待10s,target2 自动重连target1
+
+ 6.成功
- 2. sta connect to ap not exist
+ 7.查询reconn状态,关闭
- 3. sta connect to ap with wrong password
+ 8.修改mode 成功
- 4. reset sta reconnect policy as auto reconnect'
+ 9.等待15s,target2 不会自动重连target1'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: "1.设置reconn,开启(此功能不需要重启系统)\n2.target1下设置ssid 和pwd 加密方式\n3.target2 JAP target1\
+ \ \n4.target1 修改mode 为sta mode\n5.等待10s,target1 修改mode 为softAP mode\n6.设置reconn,关闭\n\
+ 7.查询reconn状态,关闭\n8.target1 修改mode 为sta mode\n9.等待15s,target1 修改mode 为softAP mode"
sub module: WIFI Connect
- summary: reconnect policy interact with failed STA connect/reconnect
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ summary: reconnect policy test
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
test point 2: reconnect policy test
version: v1 (2016-8-15)
6.target2 断开target1 连接'
initial condition: T2_2
initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
module: WIFI MAC
steps: '1.target1下设置ssid 和pwd 加密方式
test point 2: reconnect policy test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: ^WIFI_CONN_0501
+ ID: ^WIFI_CONN_0601
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC2 sta -R -r 1
- - ['R SSC2 C +RECONN:OK']
- - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
- ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM C +WIFICONN:OK']
- - SSC SSC2 sta -C -s <target_ssid> -p <target_password>
- - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)']
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - DELAY 10
- - ['']
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- - - DELAY 15
- ['R SSC2 C +JAP:CONNECTED']
- - - SSC SSC2 sta -R -r 0
- - ['R SSC2 C +RECONN:OK']
- - - SSC SSC2 sta -R -r 2
- - ['R SSC2 C +RECONN:0']
- - - SSC SSC1 op -S -o 1
- - ['R SSC1 C +MODE:OK']
- - - DELAY 10
- - ['']
- - - SSC SSC1 op -S -o 2
- - ['R SSC1 C +MODE:OK']
- - - DELAY 15
- - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED']
- - - SSC SSC2 sta -R -r 1
- - ['R SSC2 C +RECONN:OK']
+ - - SSC SSC1 ap -L
+ - ['R SSC1 C +LSTA:', 'R SSC1 C +LSTA:', R SSC1 C +LSTADONE]
comment: ''
execution time: 0.0
- expected result: '1.设置reconn,开启(此功能不需要重启系统)
+ expected result: '1.target1 set AP
- 2.target1 set AP
+ 2.PC WIFI CONNECTED
- 3.target2 JAP target1 成功
+ 3.target2 jap target 1
- 4.target2 断开target1 连接
+ 4.查询到两个sta 连接到target1 上'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1. target1下设置ssid 和pwd 加密方式
- 5.等待10s,target2 自动重连target1
+ 2.PC WIFI CONNECTED target1
- 6.成功
+ 3.target2 jap target 1
- 7.查询reconn状态,关闭
+ 4.查询到两个sta 连接到target1 上'
+ sub module: WIFI Connect
+ summary: list stations connected to soft ap test
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
- 8.修改mode 成功
+ PC has 1 WiFi NIC.
- 9.等待15s,target2 不会自动重连target1'
+ 2 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: list SoftAP connected station
+ version: v1 (2016-8-15)
+- CI ready: 'Yes'
+ ID: ^WIFI_CONN_0801
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
+ Test App: SSC
+ allow fail: ''
+ auto test: 'Yes'
+ category: Function
+ cmd set:
+ - ''
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 0
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 2
+ - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,2,0']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3
+ - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,3,2']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 4
+ - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,4,3']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 0
+ - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,0,4']
+ comment: ''
+ execution time: 0.0
+ expected result: '1. succeed
+
+ 2. succeed
+
+ 3. auth change event old mode 0 new mode 2
+
+ 4. auth change event old mode 2 new mode 3
+
+ 5. auth change event old mode 3 new mode 4
+
+ 6. auth change event old mode 4 new mode 0'
initial condition: T2_2
initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
module: WIFI MAC
- steps: "1.设置reconn,开启(此功能不需要重启系统)\n2.target1下设置ssid 和pwd 加密方式\n3.target2 JAP target1\
- \ \n4.target1 修改mode 为sta mode\n5.等待10s,target1 修改mode 为softAP mode\n6.设置reconn,关闭\n\
- 7.查询reconn状态,关闭\n8.target1 修改mode 为sta mode\n9.等待15s,target1 修改mode 为softAP mode"
+ steps: '1. set target1 softap auth mode 0
+
+ 2. target2 connect to target1
+
+ 3. set target1 softap auth mode 2, wait sta connected
+
+ 4. set target1 softap auth mode 3, wait sta connected
+
+ 5. set target1 softap auth mode 4, wait sta connected
+
+ 6. set target1 softap auth mode 0, wait sta connected'
sub module: WIFI Connect
- summary: reconnect policy test
+ summary: test auth change event
test environment: SSC_T2_1
test environment description (auto): 'PC has 1 wired NIC connected to AP.
2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: reconnect policy test
+ test point 2: wifi auth changed event test
+ version: v1 (2016-8-15)
+- CI ready: 'Yes'
+ ID: ^WIFI_CONN_0901
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
+ Test App: basic function
+ allow fail: ''
+ auto test: 'Yes'
+ category: Function
+ cmd set:
+ - ''
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 RE JAP:DISCONNECTED,\d+,8']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <random_string>
+ - ['R SSC1 RE JAP:DISCONNECTED,\d+,15']
+ - - SSC SSC1 sta -C -s <random_string> -p <ap_password>
+ - ['R SSC1 RE JAP:DISCONNECTED,\d+,201']
+ comment: ''
+ execution time: 0.0
+ expected result: '1. disconnect event reason REASON_ASSOC_LEAVE
+
+ 2. disconnect event reason REASON_4WAY_HANDSHAKE_TIMEOUT
+
+ 3. disconnect event reason REASON_NO_AP_FOUND'
+ initial condition: STAAP1
+ initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
+ by STAM1)
+ level: Integration
+ module: WIFI MAC
+ steps: '1. sta connect to AP, and disconnect
+
+ 2. connect to AP with wrong password
+
+ 3. connect to AP not exist'
+ sub module: WIFI Connect
+ summary: test wifi disconnect reason REASON_ASSOC_LEAVE, REASON_4WAY_HANDSHAKE_TIMEOUT,
+ REASON_NO_AP_FOUND
+ test environment: SSC_T1_1
+ test environment description (auto): 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 1 SSC target connect with PC by UART.'
+ test point 1: basic function
+ test point 2: wifi disconnect reason test
+ version: v1 (2016-8-15)
+- CI ready: 'Yes'
+ ID: ^WIFI_CONN_0902
+ SDK: '8266_NonOS
+
+ 8266_RTOS
+
+ ESP32_IDF'
+ Test App: SSC
+ allow fail: ''
+ auto test: 'Yes'
+ category: Function
+ cmd set:
+ - ''
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 C +JAP:CONNECTED']
+ - - APC <APC1> OFF <ap_apc>
+ - [P PC_COM L OK, 'R SSC1 RE JAP:DISCONNECTED,\d+,200']
+ - - APC <APC1> ON <ap_apc>
+ - [P PC_COM L OK]
+ comment: ''
+ execution time: 0.0
+ expected result: '1. succeed
+
+ 2. disconnect event REASON_BEACON_TIMEOUT'
+ initial condition: STAAP1
+ initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
+ by STAM1)
+ level: Integration
+ module: WIFI MAC
+ steps: '1. connect to AP
+
+ 2. AP power off'
+ sub module: WIFI Connect
+ summary: test wifi disconnect reason REASON_BEACON_TIMEOUT
+ test environment: SSC_T1_APC
+ test environment description (auto): "PC has 1 wired NIC connected to AP.\nPC has\
+ \ 1 wired NIC connected to APC (static IP within the same subnet with APC). \n\
+ APC control AP power supply. \nPC has 1 WiFi NIC. \n1 SSC target connect with\
+ \ PC by UART."
+ test point 1: basic function
+ test point 2: wifi disconnect reason test
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0115
+ ID: ^WIFI_CONN_0903
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock3>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock4>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock4> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock5>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock5> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
+ - - SSC SSC1 sta -C -s <wep_ap_ssid> -p bacfd
+ - ['R SSC1 RE JAP:DISCONNECTED,\d+,2']
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK,pc tcp server accept成功
-
- 4 OK
-
- 5.OK,pc tcp server accept成功
-
- 6.OK
+ expected result: 1. disconect event reason REASON_AUTH_EXPIRE
+ initial condition: STAAP1
+ initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen
+ by STAM1)
+ level: Integration
+ module: WIFI MAC
+ steps: 1. connect WEP ap with error password (valid wep password)
+ sub module: WIFI Connect
+ summary: test wifi disconnect reason REASON_AUTH_EXPIRE
+ test environment: SSC_T1_WEP
+ test environment description (auto): '1 SSC target connect with PC by UART.
- 7.OK,pc tcp server accept成功
+ One WEP share key AP placed near SSC1.'
+ test point 1: basic function
+ test point 2: wifi disconnect reason test
+ version: v1 (2016-8-15)
+- CI ready: 'Yes'
+ ID: ^WIFI_CONN_0904
+ SDK: '8266_NonOS
- 8 OK
+ 8266_RTOS
- 9.OK,pc tcp server accept成功
+ ESP32_IDF'
+ Test App: SSC
+ allow fail: ''
+ auto test: 'Yes'
+ category: Function
+ cmd set:
+ - ''
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3 -m 1
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -C -s <random_string> -p 1234567890
+ - ['R SSC2 RE JAP:DISCONNECTED,\d+,204']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <random_string> <random_string> <pc_ip_wifi>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - SSC SSC2 sta -C -s <random_string> -p <random_string>
+ - ['R SSC2 RE JAP:DISCONNECTED,\d+,5']
+ - - WIFI <pc_wifi_nic> DISCONN
+ - [P PC_COM C OK, 'R SSC2 C +JAP:CONNECTED']
+ - - SSC SSC1 ap -S -s <random_string> -p <random_string> -t 3 -m 1
+ - ['P SSC1 C +SAP:OK', 'P SSC2 RE JAP:DISCONNECTED,\d+,4']
+ comment: ''
+ execution time: 0.0
+ expected result: '1. succeed
- 10.OK
+ 2. disconnect event REASON_HANDSHAKE_TIMEOUT
- 11.OK,pc tcp server accept成功'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
- module: TCPIP
- steps: '1.PC上建立TCP 监听 test_tcp_port1
+ 3. succeed
- 2.target1上创建TCP socket1
+ 4. succeed
- 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+ 5. disconnect event REASON_ASSOC_TOOMANY
- 4.target1上创建TCP socket2
+ 6. succeed, target2 connect succeed
- 5.target1上使用步骤4创建的socket2,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+ 7. disconnect event REASON_ASSOC_EXPIRE'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1. config target1 softap max sta allowed 1
- 6.target1上创建TCP socket3
+ 2. target2 connect to target1 with wrong password
- 7.target1上使用步骤6创建的socket3,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+ 3. target2 disconnect
- 8.target1上创建TCP socket4
+ 4. PC WIFI NIC connect to target1
- 9.target1上使用步骤8创建的socket4,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+ 5. target2 connect to target1 with correct password
- 10.target1上创建TCP socket5
+ 6. PC WIFI NIC disconnect
- 11.target1上使用步骤10创建的socket5,去连接 PC的ip,test_tcp_port1,PC有ACCEPT'
- sub module: TCP
- summary: AP mode, create max TCP sockets test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 7. reconfig softap'
+ sub module: WIFI Connect
+ summary: test wifi disconnect reason REASON_ASSOC_TOOMANY, REASON_HANDSHAKE_TIMEOUT,
+ REASON_ASSOC_EXPIRE
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 2: wifi disconnect reason test
version: v1 (2016-8-15)
- CI ready: 'Yes'
ID: ^WIFI_SCAN_0101
3.target2上查询到<target_tmp_ssid>'
initial condition: T2_2
initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
module: WIFI MAC
steps: '1.target 2 scan .,juhg123
test point 2: scan with different config
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0114
- SDK: '8266_NonOS
-
- 8266_RTOS
-
- ESP32_IDF'
- Test App: SSC
- allow fail: ''
- auto test: 'Yes'
- category: Function
- cmd set:
- - ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -B -t TCP -p <random_port>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock1>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
- - ['R SSC1 A <sock2>:ACCEPT:(\d+),\d+,.+,\d+']
- - - SSC SSC1 soc -T -s <sock2>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock1>
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -T -s <sock1>
- - ['R SSC1 RE CLOSE:\d+,OK']
- comment: ''
- execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK
-
- 4.OK
-
- 5.OK
-
- 6.OK,target1上accept 成功
-
- 7.target1关闭socket1
-
- 8.target1关闭socket2
-
- 9.OK
-
- 10.OK,pc tcp server accept成功
-
- 11.target1关闭socket1
-
- 12.OK
-
- 13.OK,pc tcp server accept成功
-
- 14.OK
-
- 15.target1关闭socket1'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
- module: TCPIP
- steps: "1.PC上建立TCP 监听 test_tcp_port1\n2.target1上创建TCP socket1\n3.target1关闭socket1\n\
- 4.target1上创建TCP socket 端口随机\n5.target1上使用步骤4创建的socket1,去监听\n6.PC CONNECT<random_port>,<target_ip>\
- \ ,tcp 连接创建成功,创建socket2 \n7.target1关闭socket1\n8.target1关闭socket2\n\
- 9.target1上创建TCP socket1\n10.target1上使用步骤10创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT\n\
- 11.target1关闭socket1\n12.target1上创建TCP socket1\n13.target1上使用步骤13创建的socket1,去连接\
- \ PC的ip,test_tcp_port1,PC有ACCEPT\n14.target1shutdown socket1\n15.target1关闭socket1"
- sub module: TCP
- summary: AP mode, close for different types of TCP sockets test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
-
- PC has 1 WiFi NIC.
-
- 1 SSC target connect with PC by UART.'
- test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
- version: v1 (2016-8-15)
-- CI ready: 'Yes'
- ID: TCPIP_TCP_0116
+ ID: ^WIFI_SCAN_0102
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t TCP -p <random_port>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock1>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SOC SOC2 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
- - - SOC SOC3 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
- - - SOC SOC4 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
- - - SOC SOC5 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
- - - SOC SOC6 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+']
+ - - SSC SSC2 sta -S -b ff:ff:ff:ff:ff:11
+ - ['R SSC2 NC +SCAN: C +SCANDONE']
+ - - SSC SSC2 sta -S -b <target_ap_mac>
+ - ['R SSC2 RE "\+SCAN:.+,%%s"%%(<target_ap_mac>)', 'R SSC2 NC +SCAN: C +SCANDONE']
comment: ''
execution time: 0.0
- expected result: '1.+BIND:0,OK,0.0.0.0
-
- 2.OK
-
- 3.OK,pc tcp server accept成功
-
- 4.OK,pc tcp server accept成功
-
- 5.OK,pc tcp server accept成功
+ expected result: '1.target2 上不能查询到此mac
- 6.OK,pc tcp server accept成功
+ 2.target2上查询到<target_ap_mac>'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1.target2 上查询此macff:ff:ff:ff:ff:11
- 7.OK,pc tcp server accept成功'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
- module: TCPIP
- steps: "1.target1上创建TCP socket 端口随机\n2.target1上使用步骤4创建的socket1,去监听\n3.PC CONNECT<random_port>,<target_ip>\
- \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket3\
- \ \n5.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT<random_port>,<target_ip>\
- \ ,tcp 连接创建成功,创建socket5 \n7.PC CONNECT<random_port>,<target_ip> ,tcp 连接创建成功,创建socket6\
- \ "
- sub module: TCP
- summary: AP mode, accept max TCP client by server test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 2.target2上查询<target_ap_mac>'
+ sub module: WIFI Scan
+ summary: scan with scan config bssid
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 2: scan with different config
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0111
+ ID: ^WIFI_SCAN_0103
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SSC SSC1 soc -B -t TCP -p <random_port>
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -L -s <sock1>
- - ['R SSC1 RE LISTEN:\d+,OK']
- - - SOC SOC1 CONNECT <random_port> <target_ap_ip> 0 <pc_ip_wifi>
- - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK]
- - - SOC SOC1 CONNECT <test_tcp_port2> <target_ap_ip> 0 <pc_ip_wifi>
- - [P SOC_COM C ERROR, P SSC1 NC ACCEPT]
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -n 6
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -S -n 5
+ - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+ - - SSC SSC2 sta -S -n 6
+ - ['R SSC2 C +SCAN:', R SSC2 P <target_tmp_ssid>]
comment: ''
execution time: 0.0
- expected result: '1.OK
+ expected result: '1.target1 QAP
- 2.OK
+ 2. target1 set AP,set channel 6
- 3.PC TCP client accept
+ 3.target2 上scan不到 channel 5
- 4.error'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
- module: TCPIP
- steps: '1.target1上创建TCP socket,bind到本地端口<random_port>
+ 4.target2 上查询channel 6的<target_tmp_ssid>'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1.target1 断开连接AP
- 2.target1ä¸\8a使ç\94¨æ¥éª¤1å\88\9b建ç\9a\84socket,å\88\9b建TCP ç\9b\91å\90¬
+ 2.target1ä¸\8b设置ssid å\92\8cpwd å\8a å¯\86æ\96¹å¼\8f,set channel 6
- 3.PC TCP 连接到target1 <random_port>,<target_ip>
+ 3.target2 上scan channel 5
- 4.PC tcp 连接到不存在的port ,<target_ip>'
- sub module: TCP
- summary: AP mode, server listen test. use different kinds of port
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 4.target2 上查询channel 6的<target_tmp_ssid>'
+ sub module: WIFI Scan
+ summary: scan with scan config channel
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 2: scan with different config
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0113
+ ID: ^WIFI_SCAN_0104
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock1> -h B
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock2>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock2> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock2> -h W
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock3>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock3> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SSC SSC1 soc -D -s <sock3> -h R
- - ['R SSC1 RE SHUTDOWN:\d+,OK']
+ - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -h 0
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -S -h 0
+ - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
+ - - SSC SSC2 sta -S -h 1
+ - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
+ - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -h 1
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -S -h 0
+ - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+ - - SSC SSC2 sta -S -h 1
+ - [R SSC2 P <target_ap_mac> C +SCANDONE]
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK,pc tcp server accept成功
-
- 4.OK
-
- 5.OK
-
- 6.OK,pc tcp server accept成功
-
- 7.OK
-
- 8.OK
-
- 9.OK,pc tcp server accept成功
+ expected result: '1.target1 set AP,set ssid broad cast
- 10.OK'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
- module: TCPIP
- steps: '1. PC上建立TCP 监听 test_tcp_port1
+ 2.target 2上scan <target_tmp_ssid>
- 2.target1上创建TCP socket
+ 3.target 2上scan <target_tmp_ssid>
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+ 4.target1 set AP,set ssid hidden,
- 4.target1 shutdown socket1 B
+ 5.target 2上不能查询到 <target_tmp_ssid>
- 5.target1上创建TCP socket
+ 6.target 2上查询到<target_ap_mac>'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1.target1下设置ssid 和pwd 加密方式,set ssid broad cast
- 6.target1上使用步骤5创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+ 2.target 2上scan <target_tmp_ssid>
- 7.target1 shutdown socket2 W
+ 3.target 2上scan <target_tmp_ssid>
- 8.target1上创建TCP socket
+ 4.target1下设置ssid 和pwd 加密方式,set ssid hidden,
- 9.target1上使用步骤8创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT
+ 5.target 2上查询 <target_tmp_ssid>
- 10.target1 shutdown socket3 R'
- sub module: TCP
- summary: AP mode, shutdown basic test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 6.target 2上查询<target_ap_mac>'
+ sub module: WIFI Scan
+ summary: scan with scan config show hidden
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 2: scan with different config
version: v1 (2016-8-15)
- CI ready: 'Yes'
- ID: TCPIP_TCP_0112
+ ID: ^WIFI_SCAN_0105
SDK: '8266_NonOS
8266_RTOS
category: Function
cmd set:
- ''
- - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip_wifi>
- - [R SOC_COM L OK]
- - - SSC SSC1 soc -B -t TCP
- - ['R SSC1 A <sock1>:BIND:(\d+),OK']
- - - SSC SSC1 soc -C -s <sock1> -i <pc_ip_wifi> -p <test_tcp_port1>
- - ['R SSC1 RE CONNECT:\d+,OK']
- - - SOC SOC1 ACCEPT SOC2
- - [R SOC_COM L OK]
- - - SOC SOC2 SEND 5
- - [R SSC1 SL <sock1>+5]
- - - SSC SSC1 soc -S -s <sock1> -l 5
- - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 5]
- - - SOC SOC2 SEND 146000
- - [R SSC1 SL <sock1>+146000]
- - - SSC SSC1 soc -S -s <sock1> -l 1460 -n 100
- - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 146000]
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 ap -S -s <target_tmp_ssid> -p 123456789 -t 3 -h 0 -n 11
+ - ['R SSC1 C +SAP:OK']
+ - - SSC SSC2 sta -S -s <target_tmp_ssid> -b <target_ap_mac> -n 11
+ - [R SSC2 P <target_tmp_ssid> C +SCANDONE]
+ - - SSC SSC2 sta -S -s <target_ssid> -b <target_ap_mac> -n 11
+ - [R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+ - - SSC SSC2 sta -S -s <target_tmp_ssid> -b ff:ff:ff:ff:ff:11 -n 11
+ - [R SSC2 P <target_tmp_ssid>, R SSC2 NP <target_tmp_ssid> C +SCANDONE]
+ - - SSC SSC2 sta -S -s <target_tmp_ssid> -b <target_ap_mac> -n 10
+ - [R SSC2 P <target_tmp_ssid>, R SSC2 NP <target_tmp_ssid> C +SCANDONE]
comment: ''
execution time: 0.0
- expected result: '1.OK
-
- 2.OK
-
- 3.OK,pc tcp server accept成功
-
- 4.OK
-
- 5.target收到5byte数据
+ expected result: '1.target1 QAP
- 6.PC收到5byte数据
+ 2. target1 set AP,set ssid broad cast,set channel 11
- 7.target收到146000 byte数据
+ 3.target2 上查询到<target_tmp_ssid>
- 8.OK,PC 收到146000 byte数据'
- initial condition: APM2
- initial condition description (auto): AP mode, PC join AP, DHCP on, will autogen
- a TC with initial condition APSTA2
- module: TCPIP
- steps: '1. PC上建立TCP 监听 test_tcp_port1
+ 4.target2 上查询不到<target_tmp_ssid>
- 2.target1上创建TCP socket
+ 5.target2 上查询不到<target_tmp_ssid>
- 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1
+ 6.target2 上查询不到<target_tmp_ssid>'
+ initial condition: T2_2
+ initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen)
+ level: Integration
+ module: WIFI MAC
+ steps: '1.target1 QAP
- 4.PC与target1 创建好TCP 连接,有ACCEPT
+ 2. target1 set AP,set ssid broad cast,set channel 11
- 5.PC send 5 bytes to 8266
+ 3.target2 上查询到<target_tmp_ssid>
- 6.8266 send 5 bytes to PC
+ 4.target2 上查询不到<target_tmp_ssid>
- 7. PC send 100 * 1460 data to 8266,
+ 5.target2 上查询不到<target_tmp_ssid>
- 8.8266 send 100 * 1460 to PC. '
- sub module: TCP
- summary: AP mode, send/recv basic test
- test environment: SSC_T1_1
- test environment description (auto): 'PC has 2 wired NIC connected to AP.
+ 6.target2 上查询不到<target_tmp_ssid>'
+ sub module: WIFI Scan
+ summary: scan with several configs
+ test environment: SSC_T2_1
+ test environment description (auto): 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
- 1 SSC target connect with PC by UART.'
+ 2 SSC target connect with PC by UART.'
test point 1: basic function
- test point 2: use TCP SAP (socket/espconn API) with different parameter
+ test point 2: scan with different config
version: v1 (2016-8-15)
test environment:
-- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_SmartConfig,
- test environment detail: '2 SSC target connect with PC by UART.
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_1,
+ test environment detail: 'PC has 2 wired NIC connected to AP.
PC has 1 WiFi NIC.
- One HT20 AP and One HT40 AP are placed near target.', test script: EnvBase}
-- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_SmartConfig,
- test environment detail: '2 AT target connect with PC by UART (AT and LOG port).
+ 1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_2,
+ test environment detail: 'PC has 1 WiFi NIC.
- PC has 1 WiFi NIC.
+ 1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_3,
+ test environment detail: 'Able to access WAN after connect to AP.
- One HT20 AP and One HT40 AP are placed near target.', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_IOT1,
- test environment detail: 'PC has 1 WiFi NIC.
+ 1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_ADC,
+ test environment detail: 'PC has 1 wired NIC connected to AP.
- 1 SSC target connect with PC by UART.
+ Analog input connect to AT1 TOUT.
- AP todo IOT test are placed near SSC1.', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 2.0, UART ports: 'SSC1
+ Multimeter connect to input, able to measure input voltage.
- SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
- tag: SSC_T2_GPIO3, test environment detail: '[TBD] 2个ESP_8266通过UART连到PC, ESP_8266之间需要测试的Target_GPIO相连',
- test script: EnvBase}
-- {PC OS: linux, Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: WebServer_T1_1,
- test environment detail: 'Web Server target connect with PC by UART.
+ 1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_APC1,
+ test environment detail: "PC has 1 wired NIC connected to AP.\nPC has 1 wired NIC\
+ \ connected to APC (static IP within the same subnet with APC). \nAPC control\
+ \ AP power supply. \nPC has 1 WiFi NIC. \n1 AT target connect with PC by UART\
+ \ (AT and LOG port).", test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_APC2,
+ test environment detail: "Able to access WAN after connect to AP.\nPC has 1 wired\
+ \ NIC connected to APC (static IP within the same subnet with APC). \nAPC control\
+ \ AP power supply.\nPC has 1 WiFi NIC.\n1 AT target connect with PC by UART (AT\
+ \ and LOG port).", test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_HighSpeedUART,
+ test environment detail: 'PC has 2 wired NIC connected to AP.
- PC has 1 wired NIC connected to switch.
+ PC has 1 WiFi NIC.
- APC, AP also connect with swtich.
+ 1 AT target connect with PC by high speed UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_SmartConfigIOT,
+ test environment detail: '1 AT target connect with PC by UART (AT and LOG port).
- All devices connected with switch use same IP subnet.
+ PC has 1 wired NIC connect to Common AP.
- APC control AP power supply.', test script: EnvBase}
-- {PC OS: linux, Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: WebServer_T1_2,
- test environment detail: 'Web Server target connect with PC by UART.
+ Several AP are placed near AT target.
- 4 PC with WiFi NIC placed near WebServer1.', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 2.0, UART ports: 'SSC1
+ Several smart phone installed test APK are placed near AT target.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_1,
+ test environment detail: 'PC has 1 wired NIC connected to AP.
- SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
- tag: SSC_T2_GPIO1, test environment detail: '[TBD] 2个ESP_8266通过UART连到PC, ESP_8266的
- GPIO_6相连', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_Enterprise,
- test environment detail: "AP use WPA2-Etherprise is placed near SSC1. \n1 SSC target\
- \ connect with PC by UART.", test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 2.0, UART ports: 'SSC1
+ PC has 1 WiFi NIC.
- SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
- tag: SSC_T2_GPIO2, test environment detail: '[TBD] 1. 2个ESP_8266通过UART连到PC, ESP_8266的
- GPIO_15通过面包板相连
+ 2 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_JAP,
+ test environment detail: "Several AP are placed near AT target.\nPC has 1 wired\
+ \ NIC connected to APC (static IP within the same subnet with APC).\nAPC control\
+ \ power supply for all APs. \n2 AT target connect with PC by UART (AT and LOG\
+ \ port).", test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_Sleep,
+ test environment detail: 'AP support DTIM placed with AT target.
- 2. 可借助面包板, 将GPIO_15, 以及中断函数被打开的8266板的GPIO_2 相连', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_HighSpeedUART,
- test environment detail: 'PC has 2 wired NIC connected to AP.
+ 2 AT target connect with PC by UART (AT and LOG port).
- PC has 1 WiFi NIC.
+ Multimeter connect with PC via GPIB.
- 1 AT target connect with PC by high speed UART (AT and LOG port).', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_ShieldBox,
- test environment detail: '2 SSC target connect with PC by UART.
+ Series multimeter between GND and VCC of AT1.
- Put them to Shield box.', test script: EnvBase}
-- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_3,
- test environment detail: 'Able to access WAN after connect to AP.
+ AT1''s light sleep wakeup pin and wakeup indication connect with AT2''s GPIO.',
+ test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_SmartConfig,
+ test environment detail: '2 AT target connect with PC by UART (AT and LOG port).
- 1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
-- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_2,
- test environment detail: 'PC has 1 WiFi NIC.
+ PC has 1 WiFi NIC.
- 1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+ One HT20 AP and One HT40 AP are placed near target.', test script: EnvBase}
- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: 'SSC1
SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
- tag: UART_T1_2, test environment detail: '[TBD] ESP_8266通过UART_0通过USB, UART_1 TXD
- 通过 TTLcable 连到PC', test script: EnvBase}
+ tag: IR_T2_1, test environment detail: '[TBD] 本测试为非自动测试, 红外能够做到数据收发吻合即可通过', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: NVS_T1_1,
+ test environment detail: '1 NVS target connect with PC by UART.
+
+ 1 SSC target connect with PC by UART.
+
+ SSC2 GPIO connect to NVS1 power control pin.', test script: EnvBase}
- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: SSC_1, additional param list: '',
- basic param list: '', script path: EnvBase.py, tag: UART_T1_1, test environment detail: '[TBD]
- 将ESP_8266通过UART连到PC', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_ADC,
- test environment detail: 'PC has 1 wired NIC connected to AP.
+ basic param list: '', script path: EnvBase.py, tag: PWM_T1_1, test environment detail: "[TBD]\
+ \ 1. PWM OS SDK 以及 Non-OS SDK的测试建议分开进行, 放在不同的文件夹, 防止文件命名混淆\n2. 分析CSV文件的Python脚本只能分析单个channel\
+ \ \n3. 如果Init脚本打印\"Network Error\" 检查TCP Server是不是正常发送data", test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_1,
+ test environment detail: 'PC has 2 wired NIC connected to AP.
- Analog input connect to AT1 TOUT.
+ PC has 1 WiFi NIC.
- Multimeter connect to input, able to measure input voltage.
+ 1 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_2,
+ test environment detail: 'Able to access WAN after connect to AP.
- 1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
-- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_WEP,
- test environment detail: '1 SSC target connect with PC by UART.
+ 1 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_8089,
+ test environment detail: 'PC has 1 wired NIC connected to AP.
- One WEP share key AP placed near SSC1.', test script: EnvBase}
+ 1 8089 tablet able to run iperf test placed near SSC1.
+
+ 1 SSC target connect with PC by UART.', test script: EnvBase}
- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_ADC,
test environment detail: 'PC has 1 wired NIC connected to AP.
\ connected to APC (static IP within the same subnet with APC). \nAPC control\
\ AP power supply. \nPC has 1 WiFi NIC. \n1 SSC target connect with PC by UART.",
test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_8089,
- test environment detail: 'PC has 1 wired NIC connected to AP.
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_Enterprise,
+ test environment detail: "AP use WPA2-Etherprise is placed near SSC1. \n1 SSC target\
+ \ connect with PC by UART.", test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_IOT1,
+ test environment detail: 'PC has 1 WiFi NIC.
- 1 8089 tablet able to run iperf test placed near SSC1.
+ 1 SSC target connect with PC by UART.
- 1 SSC target connect with PC by UART.', test script: EnvBase}
+ AP todo IOT test are placed near SSC1.', test script: EnvBase}
- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T1_InitData,
test environment detail: '2 SSC target connect with PC by UART.
SSC2 use normal 26M crystal oscillator.
SSC2 GPIO connect to SSC1 power control pin.', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: SSC_1, additional param list: '',
- basic param list: '', script path: EnvBase.py, tag: SSC_T1_Timer, test environment detail: '[TBD]
- 通过串口工具调节Timer, 将GPIO_13端口连接到逻辑分析仪', test script: EnvBase}
-- {PC OS: '', Special: N, Target Count: 3.0, script path: EnvBase.py, tag: SSC_T3_PhyMode,
- test environment detail: '3 SSC target connect with PC by UART.
-
- PC has one WiFi NIC support capture wlan packet using libpcap.
-
- Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
-
- Put 4 APs near SSC targets.', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_JAP,
- test environment detail: "Several AP are placed near AT target.\nPC has 1 wired\
- \ NIC connected to APC (static IP within the same subnet with APC).\nAPC control\
- \ power supply for all APs. \n2 AT target connect with PC by UART (AT and LOG\
- \ port).", test script: EnvBase}
-- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_PhyMode,
- test environment detail: '2 SSC target connect with PC by UART.
-
- PC has one WiFi NIC support capture wlan packet using libpcap.
-
- Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
-
- Put 4 APs near SSC targets.', test script: EnvBase}
- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_ShieldBox,
test environment detail: 'refer to figure.
PC wired NIC should set static IP address within the same subnet with AP.
Must use onboard wired NIC.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_TempBox,
+ test environment detail: '1 SSC target connect with PC by UART.
+
+ Put SSC target to temperature box.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: SSC_1, additional param list: '',
+ basic param list: '', script path: EnvBase.py, tag: SSC_T1_Timer, test environment detail: '[TBD]
+ 通过串口工具调节Timer, 将GPIO_13端口连接到逻辑分析仪', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_VDD33,
+ test environment detail: '1 SSC target connect with PC by UART.
+
+ Multimeter connect to VDD33, able to measure voltage.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_WEP,
+ test environment detail: '1 SSC target connect with PC by UART.
+
+ One WEP share key AP placed near SSC1.', test script: EnvBase}
- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_1,
test environment detail: 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
2 SSC target connect with PC by UART.', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: TempSensor_T1_1,
- test environment detail: 'Tempeture sensor target connect with PC by UART.
+- {PC OS: '', Special: Y, Target Count: 2.0, UART ports: 'SSC1
- AP support DTIM placed with AT target.
+ SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+ tag: SSC_T2_GPIO1, test environment detail: '[TBD] 2个ESP_8266通过UART连到PC, ESP_8266的
+ GPIO_6相连', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, UART ports: 'SSC1
- Multimeter connect with PC via GPIB.
+ SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+ tag: SSC_T2_GPIO2, test environment detail: '[TBD] 1. 2个ESP_8266通过UART连到PC, ESP_8266的
+ GPIO_15通过面包板相连
- Series multimeter between GND and VCC of TempSensor1.
+ 2. 可借助面包板, 将GPIO_15, 以及中断函数被打开的8266板的GPIO_2 相连', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, UART ports: 'SSC1
- PC has 1 wired NIC connected to switch.
+ SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+ tag: SSC_T2_GPIO3, test environment detail: '[TBD] 2个ESP_8266通过UART连到PC, ESP_8266之间需要测试的Target_GPIO相连',
+ test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_PhyMode,
+ test environment detail: '2 SSC target connect with PC by UART.
- APC, AP also connect with swtich.
+ PC has one WiFi NIC support capture wlan packet using libpcap.
- All devices connected with switch use the same IP subnet.
+ Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
- APC control AP power supply.', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_SmartConfigIOT,
- test environment detail: '1 AT target connect with PC by UART (AT and LOG port).
+ Put 4 APs near SSC targets.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_ShieldBox,
+ test environment detail: '2 SSC target connect with PC by UART.
- PC has 1 wired NIC connect to Common AP.
+ Put them to Shield box.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_Sleep1,
+ test environment detail: 'AP support DTIM placed with AT target.
- Several AP are placed near AT target.
+ 2 SSC target connect with PC by UART.
- Several smart phone installed test APK are placed near AT target.', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_Sleep,
+ Multimeter connect with PC via GPIB.
+
+ Series multimeter between GND and VCC of SSC1.
+
+ SSC1''s light sleep wakeup pin and wakeup indication connect with AT2''s GPIO.
+
+ SSC1''s XPD connect with RSTB.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_Sleep2,
test environment detail: 'AP support DTIM placed with AT target.
- 2 AT target connect with PC by UART (AT and LOG port).
+ 2 SSC target connect with PC by UART.
Multimeter connect with PC via GPIB.
- Series multimeter between GND and VCC of AT1.
-
- AT1''s light sleep wakeup pin and wakeup indication connect with AT2''s GPIO.',
- test script: EnvBase}
-- {PC OS: '', Special: N, Target Count: 5.0, script path: EnvBase.py, tag: SSC_T5_1,
- test environment detail: 5 SSC target connect with PC by UART., test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_TempBox,
- test environment detail: '1 SSC target connect with PC by UART.
+ Series multimeter between GND and VCC of SSC1.
- Put SSC target to temperature box.', test script: EnvBase}
-- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_1,
- test environment detail: 'PC has 2 wired NIC connected to AP.
+ SSC1''s RSTB pin connect with AT2''s GPIO.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_SmartConfig,
+ test environment detail: '2 SSC target connect with PC by UART.
PC has 1 WiFi NIC.
- 1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+ One HT20 AP and One HT40 AP are placed near target.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 3.0, script path: EnvBase.py, tag: SSC_T3_PhyMode,
+ test environment detail: '3 SSC target connect with PC by UART.
+
+ PC has one WiFi NIC support capture wlan packet using libpcap.
+
+ Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
+
+ Put 4 APs near SSC targets.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 5.0, script path: EnvBase.py, tag: SSC_T5_1,
+ test environment detail: 5 SSC target connect with PC by UART., test script: EnvBase}
- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T6_1,
test environment detail: 'PC has 1 wired NIC connected to AP.
PC has 1 WiFi NIC.
6 SSC target connect with PC by UART.', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: 'SSC1
-
- SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
- tag: IR_T2_1, test environment detail: '[TBD] 本测试为非自动测试, 红外能够做到数据收发吻合即可通过', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_VDD33,
- test environment detail: '1 SSC target connect with PC by UART.
-
- Multimeter connect to VDD33, able to measure voltage.', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: SSC_1, additional param list: '',
- basic param list: '', script path: EnvBase.py, tag: PWM_T1_1, test environment detail: "[TBD]\
- \ 1. PWM OS SDK 以及 Non-OS SDK的测试建议分开进行, 放在不同的文件夹, 防止文件命名混淆\n2. 分析CSV文件的Python脚本只能分析单个channel\
- \ \n3. 如果Init脚本打印\"Network Error\" 检查TCP Server是不是正常发送data", test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: NVS_T1_1,
- test environment detail: '1 NVS target connect with PC by UART.
-
- 1 SSC target connect with PC by UART.
-
- SSC2 GPIO connect to NVS1 power control pin.', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_Sleep2,
- test environment detail: 'AP support DTIM placed with AT target.
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: TempSensor_T1_1,
+ test environment detail: 'Tempeture sensor target connect with PC by UART.
- 2 SSC target connect with PC by UART.
+ AP support DTIM placed with AT target.
Multimeter connect with PC via GPIB.
- Series multimeter between GND and VCC of SSC1.
-
- SSC1''s RSTB pin connect with AT2''s GPIO.', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_Sleep1,
- test environment detail: 'AP support DTIM placed with AT target.
+ Series multimeter between GND and VCC of TempSensor1.
- 2 SSC target connect with PC by UART.
+ PC has 1 wired NIC connected to switch.
- Multimeter connect with PC via GPIB.
+ APC, AP also connect with swtich.
- Series multimeter between GND and VCC of SSC1.
+ All devices connected with switch use the same IP subnet.
- SSC1''s light sleep wakeup pin and wakeup indication connect with AT2''s GPIO.
+ APC control AP power supply.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: SSC_1, additional param list: '',
+ basic param list: '', script path: EnvBase.py, tag: UART_T1_1, test environment detail: '[TBD]
+ 将ESP_8266通过UART连到PC', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: 'SSC1
- SSC1''s XPD connect with RSTB.', test script: EnvBase}
-- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_1,
- test environment detail: 'PC has 1 wired NIC connected to AP.
+ SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+ tag: UART_T1_2, test environment detail: '[TBD] ESP_8266通过UART_0通过USB, UART_1 TXD
+ 通过 TTLcable 连到PC', test script: EnvBase}
+- {PC OS: linux, Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: WebServer_T1_1,
+ test environment detail: 'Web Server target connect with PC by UART.
- PC has 1 WiFi NIC.
+ PC has 1 wired NIC connected to switch.
- 2 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
-- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_1,
- test environment detail: 'PC has 2 wired NIC connected to AP.
+ APC, AP also connect with swtich.
- PC has 1 WiFi NIC.
+ All devices connected with switch use same IP subnet.
- 1 SSC target connect with PC by UART.', test script: EnvBase}
-- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_2,
- test environment detail: 'Able to access WAN after connect to AP.
+ APC control AP power supply.', test script: EnvBase}
+- {PC OS: linux, Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: WebServer_T1_2,
+ test environment detail: 'Web Server target connect with PC by UART.
- 1 SSC target connect with PC by UART.', test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_APC2,
- test environment detail: "Able to access WAN after connect to AP.\nPC has 1 wired\
- \ NIC connected to APC (static IP within the same subnet with APC). \nAPC control\
- \ AP power supply.\nPC has 1 WiFi NIC.\n1 AT target connect with PC by UART (AT\
- \ and LOG port).", test script: EnvBase}
-- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_APC1,
- test environment detail: "PC has 1 wired NIC connected to AP.\nPC has 1 wired NIC\
- \ connected to APC (static IP within the same subnet with APC). \nAPC control\
- \ AP power supply. \nPC has 1 WiFi NIC. \n1 AT target connect with PC by UART\
- \ (AT and LOG port).", test script: EnvBase}
+ 4 PC with WiFi NIC placed near WebServer1.', test script: EnvBase}
--- /dev/null
+initial condition:
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:2']
+ - - SSC SSC1 ap -Q
+ - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(<target_ssid>,<target_password>)']
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 C +DHCP:AP,STARTED']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ initial condition detail: AP mode, DHCP on, will autogen a TC with initial condition
+ APSTA1
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 31.0
+ tag: APM1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:2']
+ - - SSC SSC1 ap -Q
+ - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(<target_ssid>,<target_password>)']
+ - - SSC SSC1 ap -L
+ - ['R SSC1 RE "\+LSTA:.+,%%s"%%(<pc_ip_wifi>)']
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 C +DHCP:AP,STARTED']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ initial condition detail: AP mode, PC join AP, DHCP on, will autogen a TC with initial
+ condition APSTA2
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 38.0
+ tag: APM2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:2']
+ - - SSC SSC1 ap -Q
+ - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(<target_ssid>,<target_password>)']
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 C +DHCP:AP,STARTED']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ initial condition detail: AP mode, will NOT autogen a TC with initial condition
+ APSTA1
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 31.0
+ tag: APO1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:2']
+ - - SSC SSC1 ap -Q
+ - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(<target_ssid>,<target_password>)']
+ - - SSC SSC1 ap -L
+ - ['R SSC1 RE "\+LSTA:.+,%%s"%%(<pc_ip_wifi>)']
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 C +DHCP:AP,STARTED']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ initial condition detail: AP mode, will NOT autogen a TC with initial condition
+ APSTA2
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 38.0
+ tag: APO2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 upgrade -Q -t 1
+ - ['R SSC1 C BIN_ID,0']
+ - - SSC SSC1 upgrade -Q -t 2 -b 0
+ - ['R SSC1 C BIN_INFO,0']
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 upgrade -R -r 1 -s <ota_bin_size>
+ - [R SSC1 NC ERROR C !!!ready!!!]
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SOC SOC1 ULISTEN <test_tcp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SOC SOC1 SETOPT REPLY BIN
+ - [R SOC_COM C OK]
+ - - SSC SSC1 upgrade -I -b 0 -f 0
+ - ['P SSC1 C +UPGRADE:OK']
+ - - SSC SSC1 upgrade -U -i <pc_ip> -p <test_tcp_port1> -u <ota_bin>
+ - ['P SSC1 C +UPGRADE:SUCCEED']
+ - - SSC SSC1 upgrade -R -b 0
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ initial condition detail: AP only mode, running BIN0 (located on flash id 0)
+ restore cmd set:
+ - ''
+ - - SSC SSC1 upgrade -Q -t 2 -b 0
+ - ['R SSC1 C BIN_INFO,0']
+ - - SSC SSC1 upgrade -R -b 0
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 upgrade -D
+ - ['R SSC1 C +UPGRADE:OK']
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 31.0
+ tag: APOBIN0
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:3']
+ - - SSC SSC1 ap -Q
+ - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(<target_ssid>,<target_password>)']
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 C +DHCP:AP,STARTED']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ initial condition detail: testing ap on sta + ap mode (autogen by APM1)
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 59.0
+ tag: APSTA1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:3']
+ - - SSC SSC1 ap -Q
+ - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(<target_ssid>,<target_password>)']
+ - - SSC SSC1 ap -L
+ - ['R SSC1 RE "\+LSTA:.+,%%s"%%(<pc_ip_wifi>)']
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 C +DHCP:AP,STARTED']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ initial condition detail: testing ap on sta + ap mode, PC join AP (autogen by APM2)
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 ap -S -s <target_ssid> -p <target_password> -t <target_auth_enum>
+ - ['R SSC1 C +SAP:OK']
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 66.0
+ tag: APSTA2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:3']
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - DELAY 5
+ - ['']
+ - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ initial condition detail: StationSoftAP mode
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 24.0
+ tag: ATAP1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 C +CWMODE_CUR:3 L OK']
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:1']
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - DELAY 5
+ - ['']
+ - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ initial condition detail: StationSoftAP mode, PC join Target AP, multi link, use
+ dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 31.0
+ tag: ATAP3
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 C +CWMODE_CUR:3 L OK']
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:0']
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - DELAY 10
+ - ['']
+ - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ initial condition detail: StationSoftAP mode, PC join Target AP, single link, use
+ dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 45.0
+ tag: ATAP4
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT
+ - [R AT1 L OK]
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+RST
+ - [R AT1 L OK]
+ initial condition detail: StationSoftAP mode, both PC join Target AP, single link,
+ use dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 3.0
+ tag: ATAP5
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT
+ - [R AT1 L OK]
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+RST
+ - [R AT1 L OK]
+ initial condition detail: StationSoftAP mode, both PC join Target AP, multi link,
+ use dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 3.0
+ tag: ATAP6
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:2']
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=2
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - [R AT1 R *]
+ initial condition detail: SoftAP mode, use dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=2
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 59.0
+ tag: ATAPO1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 C +CWMODE_CUR:2 L OK']
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:1']
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=2
+ - [R AT1 L OK]
+ - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+ - [R AT1 L OK]
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - [R AT1 R *]
+ initial condition detail: SoftAP mode, PC join Target AP, multi link, use dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=2
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 66.0
+ tag: ATAPO3
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 C +CWMODE_CUR:2 L OK']
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:0']
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=2
+ - [R AT1 L OK]
+ - - ATC AT1 CWSAP_DEF <target_ssid> <target_password> <target_channel> <target_auth_enum>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - [R AT1 R *]
+ - - WIFI <pc_wifi_nic> CONN <target_ssid> <target_password> <pc_ip_wifi> <target_auth>
+ <target_encryption>
+ - ['R PC_COM NC ERROR C +WIFICONN:OK']
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ initial condition detail: SoftAP mode, PC join Target AP, single link, use dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=2
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWLIF
+ - [R AT1 P <pc_ip>]
+ - - ATS AT1 AT+CWDHCP_DEF=0,1
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 73.0
+ tag: ATAPO4
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT
+ - [R AT1 L OK]
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+RST
+ - [R AT1 L OK]
+ initial condition detail: SoftAP mode, both PC join Target AP, single link, use
+ dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 3.0
+ tag: ATAPO5
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT
+ - [R AT1 L OK]
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+RST
+ - [R AT1 L OK]
+ initial condition detail: SoftAP mode, both PC join Target AP, multi link, use dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 3.0
+ tag: ATAPO6
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:3']
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ initial condition detail: StationSoftAP mode
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 87.0
+ tag: ATAPSTA1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:3']
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ initial condition detail: StationSoftAP mode, DHCP client on
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 87.0
+ tag: ATAPSTA2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:3']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:1']
+ - - ATS AT1 AT+CWDHCP_CUR?
+ - ['R AT1 C DHCP:3']
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ initial condition detail: StationSoftAP mode, connected to AP, multi link, use dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 94.0
+ tag: ATAPSTA3
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:3']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:0']
+ - - ATS AT1 AT+CWDHCP_CUR?
+ - ['R AT1 C DHCP:3']
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ initial condition detail: StationSoftAP mode, connected to AP, single link, use
+ dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWDHCP_DEF=2,1
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 101.0
+ tag: ATAPSTA4
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:3']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:1']
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ initial condition detail: StationSoftAP mode, connected to AP, multi link, use static
+ ip
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 129.0
+ tag: ATAPSTA5
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:3']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:0']
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ initial condition detail: StationSoftAP mode, connected to AP, single link, use
+ static ip
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 136.0
+ tag: ATAPSTA6
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT
+ - [R AT1 L OK]
+ - - ATS AT1 AT+RESTORE
+ - [R AT1 L OK, R AT1 C ready]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT
+ - [R AT1 L OK]
+ - - ATS AT1 AT+RESTORE
+ - [R AT1 L OK, R AT1 C ready]
+ initial condition detail: 'first time usage. Use restore function. '
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+RESTORE
+ - [R AT1 L OK, R AT1 C ready]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 143.0
+ tag: ATFTU
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT
+ - [R AT1 L OK]
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+RST
+ - [R AT1 L OK]
+ initial condition detail: none
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 3.0
+ tag: ATNone
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - DELAY 0.1
+ - [dummy]
+ force restore cmd set:
+ - ''
+ - - DELAY 0.1
+ - [dummy]
+ initial condition detail: none 2
+ restore cmd set:
+ - ''
+ - - DELAY 0.1
+ - [dummy]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 108.0
+ tag: ATNone2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:1']
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
+ initial condition detail: same as STA1, but will not autogen STA+AP STA test case
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 10.0
+ tag: ATOSTA1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:1']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:0']
+ - - ATS AT1 AT+CWDHCP_CUR?
+ - ['R AT1 C DHCP:3']
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ initial condition detail: same as STA4, but will not autogen STA+AP STA test case
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 17.0
+ tag: ATOSTA4
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 C +CWMODE_CUR:3 C OK']
+ - - ATS AT2 AT+CWMODE_CUR?
+ - ['R AT2 C +CWMODE_CUR:1 C OK']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - [R AT1 NC OK L ERROR]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT2 AT+CWMODE_DEF=1
+ - [R AT2 L OK]
+ - - ATS AT1 AT+CWQAP
+ - [R AT1 L OK]
+ initial condition detail: same as OT2_1, but will not autogen STA+AP STA test case
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT2 AT+CWMODE_DEF=1
+ - [R AT2 L OK]
+ - - ATS AT1 AT+CWQAP
+ - [R AT1 L OK]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 52.0
+ tag: ATOT2_1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:1']
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
+ initial condition detail: station mode, use dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 10.0
+ tag: ATSTA1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:1']
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
+ initial condition detail: station mode, DHCP client on, use dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 L OK]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 10.0
+ tag: ATSTA2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:1']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:1']
+ - - ATS AT1 AT+CWDHCP_CUR?
+ - ['R AT1 C DHCP:3']
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ initial condition detail: station mode, connected to AP, multi link, use dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 38.0
+ tag: ATSTA3
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:1']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:0']
+ - - ATS AT1 AT+CWDHCP_CUR?
+ - ['R AT1 C DHCP:3']
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ initial condition detail: station mode, connected to AP, single link, use dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CWDHCP_DEF=1,1
+ - [R AT1 R *]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 17.0
+ tag: ATSTA4
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:1']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:1']
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ initial condition detail: station mode, connected to AP, multi link, use static
+ ip
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=1
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 115.0
+ tag: ATSTA5
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 L +CWMODE_CUR:1']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - ['R AT1 C +CWJAP_CUR:', R AT1 P <ap_ssid>]
+ - - ATS AT1 AT+CIPMUX?
+ - ['R AT1 L +CIPMUX:0']
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ initial condition detail: station mode, connected to AP, single link, use static
+ ip
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=1
+ - [R AT1 L OK]
+ - - ATC AT1 CWJAP_DEF <ap_ssid> <ap_password>
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPSERVER=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPCLOSE <max_conn>
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMUX=0
+ - [R AT1 L OK]
+ - - ATS AT1 AT+CIPCLOSE
+ - [R AT1 R *]
+ - - ATS AT1 AT+CIPMODE=0
+ - [R AT1 R *]
+ - - ATC AT1 CIPSTA_DEF <target_static_ip>
+ - [R AT1 L OK]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 122.0
+ tag: ATSTA6
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 C +CWMODE_CUR:3 C OK']
+ - - ATS AT2 AT+CWMODE_CUR?
+ - ['R AT2 C +CWMODE_CUR:1 C OK']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - [R AT1 NC OK L ERROR]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT2 AT+CWMODE_DEF=1
+ - [R AT2 L OK]
+ - - ATS AT1 AT+CWQAP
+ - [R AT1 L OK]
+ initial condition detail: Target 1 in StationSoftAP mode, Target 2 in station mode,
+ use dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=3
+ - [R AT1 L OK]
+ - - ATS AT2 AT+CWMODE_DEF=1
+ - [R AT2 L OK]
+ - - ATS AT1 AT+CWQAP
+ - [R AT1 L OK]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 52.0
+ tag: ATT2_1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ATS AT1 AT+CWMODE_CUR?
+ - ['R AT1 C +CWMODE_CUR:2 C OK']
+ - - ATS AT2 AT+CWMODE_CUR?
+ - ['R AT2 C +CWMODE_CUR:3 C OK']
+ - - ATS AT1 AT+CWJAP_CUR?
+ - [R AT1 NC OK L ERROR]
+ force restore cmd set:
+ - ''
+ - - ATS AT1 AT+RST
+ - [R AT1 C ready]
+ - - ATS AT1 AT+CWMODE_DEF=2
+ - [R AT1 L OK]
+ - - ATS AT2 AT+CWMODE_DEF=3
+ - [R AT2 L OK]
+ initial condition detail: Target 1 in SoftAP mode, Target 2 in StationSoftAP mode,
+ use dhcp
+ restore cmd set:
+ - ''
+ - - ATSO AT1 +++
+ - ['']
+ - - ATS AT1 AT
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - ATS AT1 AT+CWMODE_DEF=2
+ - [R AT1 L OK]
+ - - ATS AT2 AT+CWMODE_DEF=3
+ - [R AT2 L OK]
+ restore post cmd set:
+ - ''
+ - - ATS AT1 AT+CWSTOPSMART
+ - [R AT1 R *]
+ - - ATS AT1 AT+SAVETRANSLINK=0
+ - [R AT1 R *]
+ - - AT+SYSRAM
+ - ['R AT1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 80.0
+ tag: ATT2_2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ASSERT
+ - [dummy]
+ force restore cmd set:
+ - ''
+ - - SSC SSC[1-<node_num>] reboot
+ - ['P SSC[1-<node_num>] C !!!ready!!!']
+ - - SSC SSC[1-<node_num>] mesh -E -o 0
+ - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+ - - SSC SSC[1-<node_num>] op -S -o 1
+ - ['P SSC[1-<node_num>] C +MODE:OK']
+ - - SSC SSC[1-<node_num>] sta -D
+ - ['P SSC[1-<node_num>] C +QAP:OK']
+ initial condition detail: all mesh node disabled
+ restore cmd set:
+ - ''
+ - - SSC SSC[1-<node_num>] mesh -E -o 0
+ - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+ - - SSC SSC[1-<node_num>] op -S -o 1
+ - ['P SSC[1-<node_num>] C +MODE:OK']
+ - - SSC SSC[1-<node_num>] sta -D
+ - ['P SSC[1-<node_num>] C +QAP:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 31.0
+ tag: DISABLED
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ASSERT
+ - [dummy]
+ - - SSC SSC[1-<node_num>] mesh -Q -t 4
+ - ['R SSC[1-<node_num>] T <node_num>']
+ - - MESHTREE
+ - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+ force restore cmd set:
+ - ''
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SSC SSC[1-<node_num>] mesh -E -o 0
+ - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+ - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
+ -p <test_tcp_port1> -h 5
+ - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
+ - - SSC SSC[1-<node_num>] mesh -A -s <ap_ssid> -k <ap_password>
+ - ['P SSC[1-<node_num>] C +MESHINIT:AP,OK']
+ - - SSC SSC1 mesh -E -o 1 -t 2
+ - ['P SSC1 C +MESH:ENABLED']
+ - - SOC SOC1 MACCEPT GSOC1
+ - [R SOC_COM L OK]
+ - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
+ - ['P SSC[2-<node_num>] C +MESH:ENABLED']
+ - - DELAY 60
+ - ['']
+ - - SSC SSC[1-<node_num>] mesh -C
+ - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
+ - - SSC SSC[1-<node_num>] mesh -Q -t 4
+ - ['R SSC[1-<node_num>] T <node_num>']
+ - - MESHTREE
+ - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+ - - SSC SSC[1-<node_num>] mesh -O -t 1 -o 1
+ - ['P SSC[1-<node_num>] C +MESH:OK']
+ initial condition detail: all mesh node enabled as ONLINE, mesh network established
+ restore cmd set:
+ - ''
+ - - SSC SSC[1-<node_num>] reboot
+ - ['P SSC[1-<node_num>] C !!!ready!!!']
+ - - SOC SOC1 LISTEN <test_tcp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SSC SSC[1-<node_num>] mesh -E -o 0
+ - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+ - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
+ -p <test_tcp_port1> -h 5
+ - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
+ - - SSC SSC[1-<node_num>] mesh -A -s <ap_ssid> -k <ap_password>
+ - ['P SSC[1-<node_num>] C +MESHINIT:AP,OK']
+ - - SSC SSC1 mesh -E -o 1 -t 2
+ - ['P SSC1 C +MESH:ENABLED']
+ - - SOC SOC1 MACCEPT GSOC1
+ - [R SOC_COM L OK]
+ - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
+ - ['P SSC[2-<node_num>] C +MESH:ENABLED']
+ - - DELAY 60
+ - ['']
+ - - SSC SSC[1-<node_num>] mesh -C
+ - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
+ - - SSC SSC[1-<node_num>] mesh -Q -t 4
+ - ['R SSC[1-<node_num>] T <node_num>']
+ - - MESHTREE
+ - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+ - - SSC SSC[1-<node_num>] mesh -O -t 1 -o 1
+ - ['P SSC[1-<node_num>] C +MESH:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 17.0
+ tag: ENABLED_1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - ASSERT
+ - [dummy]
+ - - SSC SSC[1-<node_num>] mesh -Q -t 4
+ - ['R SSC[1-<node_num>] T <node_num>']
+ - - MESHTREE
+ - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+ force restore cmd set:
+ - ''
+ - - SSC SSC[1-<node_num>] reboot
+ - ['P SSC[1-<node_num>] C !!!ready!!!']
+ - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
+ -p <test_tcp_port1> -h 5
+ - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
+ - - SSC SSC1 mesh -A -s <ap_ssid> -k <ap_password>
+ - ['P SSC1 C +MESHINIT:AP,OK']
+ - - SSC SSC1 mesh -E -o 1 -t 1
+ - ['P SSC1 C +MESH:ENABLED']
+ - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
+ - ['']
+ - - DELAY 60
+ - ['P SSC[2-<node_num>] C +MESH:ENABLED']
+ - - SSC SSC[1-<node_num>] mesh -C
+ - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
+ - - SSC SSC[1-<node_num>] mesh -Q -t 4
+ - ['R SSC[1-<node_num>] T <node_num>']
+ - - MESHTREE
+ - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+ initial condition detail: root as LOCAL, rest node as ONLINE, mesh network established
+ restore cmd set:
+ - ''
+ - - SSC SSC[1-<node_num>] mesh -E -o 0
+ - ['P SSC[1-<node_num>] C +MESH:DISABLED']
+ - - SSC SSC[1-<node_num>] mesh -I -g <group_id> -a 4 -k <target_password> -i <pc_ip>
+ -p <test_tcp_port1> -h 5
+ - ['P SSC[1-<node_num>] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK']
+ - - SSC SSC1 mesh -A -s <ap_ssid> -k <ap_password>
+ - ['P SSC1 C +MESHINIT:AP,OK']
+ - - SSC SSC1 mesh -E -o 1 -t 1
+ - ['P SSC1 C +MESH:ENABLED']
+ - - SSC SSC[2-<node_num>] mesh -E -o 1 -t 2
+ - ['']
+ - - DELAY 60
+ - ['P SSC[2-<node_num>] C +MESH:ENABLED']
+ - - SSC SSC[1-<node_num>] mesh -C
+ - ['P SSC[1-<node_num>] C +MESH:CONNECTED']
+ - - SSC SSC[1-<node_num>] mesh -Q -t 4
+ - ['R SSC[1-<node_num>] T <node_num>']
+ - - MESHTREE
+ - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%(<node_num>)']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 24.0
+ tag: ENABLED_2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:2']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
+ - - SSC SSC1 espnow -D
+ - ['R SSC1 C +ESPNOW:']
+ force restore cmd set:
+ - ''
+ - - SSC SSC[1-<dev_num>] reboot
+ - ['R SSC[1-<dev_num>] C !!!ready!!!']
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 mac -S -m <target_ap_mac> -o 2
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 espnow -D
+ - ['R SSC1 C +ESPNOW:']
+ initial condition detail: one target in AP mode and espnow is de-initialized
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 mac -S -m <target_ap_mac> -o 2
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC1 espnow -D
+ - ['R SSC1 C +ESPNOW:']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 17.0
+ tag: NOW1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC[1-<dev_num>] op -Q
+ - ['R SSC[1-<dev_num>] C +CURMODE:2']
+ - - SSC SSC[1-<dev_num>] mac -Q -o 3
+ - ['R SSC[1-<dev_num>] P <target[1-<dev_num>]_ap_mac> P <target[1-<dev_num>]_mac>']
+ - - SSC SSC[1-<dev_num>] espnow -D
+ - ['R SSC[1-<dev_num>] C +ESPNOW:']
+ - - SSC SSC[1-<dev_num>] espnow -I
+ - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
+ - - SSC SSC[1-<dev_num>] espnow -R -t Set -r 2
+ - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
+ force restore cmd set:
+ - ''
+ - - SSC SSC[1-<dev_num>] reboot
+ - ['R SSC[1-<dev_num>] C !!!ready!!!']
+ - - SSC SSC[1-<dev_num>] op -S -o 3
+ - ['R SSC[1-<dev_num>] C +MODE:OK']
+ - - SSC SSC[1-<dev_num>] mac -S -m <target[1-<dev_num>]_ap_mac> -o 2
+ - ['R SSC[1-<dev_num>] C +MAC:AP,OK']
+ - - SSC SSC[1-<dev_num>] mac -S -m <target[1-<dev_num>]_mac> -o 1
+ - ['R SSC[1-<dev_num>] C +MAC:STA,OK']
+ - - SSC SSC[1-<dev_num>] op -S -o 2
+ - ['R SSC[1-<dev_num>] C +MODE:OK']
+ - - SSC SSC[1-<dev_num>] espnow -D
+ - ['R SSC[1-<dev_num>] C +ESPNOW:']
+ - - SSC SSC[1-<dev_num>] espnow -I
+ - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
+ - - SSC SSC[1-<dev_num>] espnow -R -t Set -r 2
+ - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
+ initial condition detail: multiple (<dev_num>) targets in AP mode, espnow is initialized
+ with self role slave
+ restore cmd set:
+ - ''
+ - - SSC SSC[1-<dev_num>] op -S -o 3
+ - ['R SSC[1-<dev_num>] C +MODE:OK']
+ - - SSC SSC[1-<dev_num>] mac -S -m <target[1-<dev_num>]_ap_mac> -o 2
+ - ['R SSC[1-<dev_num>] C +MAC:AP,OK']
+ - - SSC SSC[1-<dev_num>] mac -S -m <target[1-<dev_num>]_mac> -o 1
+ - ['R SSC[1-<dev_num>] C +MAC:STA,OK']
+ - - SSC SSC[1-<dev_num>] op -S -o 2
+ - ['R SSC[1-<dev_num>] C +MODE:OK']
+ - - SSC SSC[1-<dev_num>] espnow -D
+ - ['R SSC[1-<dev_num>] C +ESPNOW:']
+ - - SSC SSC[1-<dev_num>] espnow -I
+ - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
+ - - SSC SSC[1-<dev_num>] espnow -R -t Set -r 2
+ - ['R SSC[1-<dev_num>] C +ESPNOW:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 24.0
+ tag: NOW2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - DELAY 0.1
+ - [dummy]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ initial condition detail: none
+ restore cmd set:
+ - ''
+ - - DELAY 0.1
+ - [dummy]
+ restore post cmd set:
+ - ''
+ - - DELAY 0.1
+ - [dummy]
+ script path: InitCondBase.py
+ start: 10.0
+ tag: None
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 sp -D
+ - ['R SSC1 C +SP:OK']
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 sp -D
+ - ['R SSC1 C +SP:OK']
+ initial condition detail: one target and simple is de-inited
+ restore cmd set:
+ - ''
+ - - SSC SSC1 sp -D
+ - ['R SSC1 C +SP:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 31.0
+ tag: PAIR1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC[1,2] op -Q
+ - ['R SSC[1,2] C +MODE:[2,1]']
+ - - SSC SSC[1,2] mac -Q -o 3
+ - ['R SSC[1,2] P <target[1,2]_ap_mac> P <target[1,2]_mac>']
+ - - SSC SSC[1,2] sp -D
+ - ['R SSC[1,2] C +SP:OK']
+ - - SSC SSC[1,2] sp -I
+ - ['R SSC[1,2] C +SP:OK']
+ force restore cmd set:
+ - ''
+ - - SSC SSC[1,2] reboot
+ - ['R SSC[1,2] C !!!ready!!!']
+ - - SSC SSC[1,2] op -S -o 3
+ - ['R SSC[1,2] C +MODE:OK']
+ - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
+ - ['R SSC[1,2] C +MAC:AP,OK']
+ - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
+ - ['R SSC[1,2] C +MAC:STA,OK']
+ - - SSC SSC[1,2] op -S -o [2,1]
+ - ['R SSC[1,2] C +MODE:OK']
+ - - SSC SSC[1,2] sp -D
+ - ['R SSC[1,2] C +SP:OK']
+ - - SSC SSC[1,2] sp -I
+ - ['R SSC[1,2] C +SP:OK']
+ initial condition detail: target1 in AP mode, target2 in STA mode, two targets de-init
+ and init simple pair
+ restore cmd set:
+ - ''
+ - - SSC SSC[1,2] op -S -o 3
+ - ['R SSC[1,2] C +MODE:OK']
+ - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
+ - ['R SSC[1,2] C +MAC:AP,OK']
+ - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
+ - ['R SSC[1,2] C +MAC:STA,OK']
+ - - SSC SSC[1,2] op -S -o [2,1]
+ - ['R SSC[1,2] C +MODE:OK']
+ - - SSC SSC[1,2] sp -D
+ - ['R SSC[1,2] C +SP:OK']
+ - - SSC SSC[1,2] sp -I
+ - ['R SSC[1,2] C +SP:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 38.0
+ tag: PAIR2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC[1,2] op -Q
+ - ['R SSC[1,2] C +MODE:[3,3]']
+ - - SSC SSC[1,2] mac -Q -o 3
+ - ['R SSC[1,2] P <target[1,2]_ap_mac> P <target[1,2]_mac>']
+ - - SSC SSC[1,2] sp -D
+ - ['R SSC[1,2] C +SP:OK']
+ - - SSC SSC[1,2] sp -I
+ - ['R SSC[1,2] C +SP:OK']
+ force restore cmd set:
+ - ''
+ - - SSC SSC[1,2] reboot
+ - ['R SSC[1,2] C !!!ready!!!']
+ - - SSC SSC[1,2] op -S -o [3,3]
+ - ['R SSC[1,2] C +MODE:OK']
+ - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
+ - ['R SSC[1,2] C +MAC:AP,OK']
+ - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
+ - ['R SSC[1,2] C +MAC:STA,OK']
+ - - SSC SSC[1,2] sp -D
+ - ['R SSC[1,2] C +SP:OK']
+ - - SSC SSC[1,2] sp -I
+ - ['R SSC[1,2] C +SP:OK']
+ initial condition detail: target1 and target2 in STA+AP mode, two targets de-init
+ and init simple pair
+ restore cmd set:
+ - ''
+ - - SSC SSC[1,2] op -S -o [3,3]
+ - ['R SSC[1,2] C +MODE:OK']
+ - - SSC SSC[1,2] mac -S -m <target[1,2]_ap_mac> -o 2
+ - ['R SSC[1,2] C +MAC:AP,OK']
+ - - SSC SSC[1,2] mac -S -m <target[1,2]_mac> -o 1
+ - ['R SSC[1,2] C +MAC:STA,OK']
+ - - SSC SSC[1,2] sp -D
+ - ['R SSC[1,2] C +SP:OK']
+ - - SSC SSC[1,2] sp -I
+ - ['R SSC[1,2] C +SP:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 45.0
+ tag: PAIR3
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:3']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -Q -o 1
+ - ['R SSC1 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 1
+ - [R SSC1 P <target_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ initial condition detail: testing sta on sta + ap mode, quit AP (autogen by STAM1)
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 45.0
+ tag: STAAP1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:3']
+ - - SSC SSC1 sta -Q
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SSC SSC1 dhcp -Q -o 1
+ - ['R SSC1 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 1
+ - [R SSC1 P <target_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ initial condition detail: testing sta on sta + ap mode, join AP, DHCP on (autogen
+ by STAM2)
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 52.0
+ tag: STAAP2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 upgrade -Q -t 1
+ - ['R SSC1 C BIN_ID,0']
+ - - SSC SSC1 upgrade -Q -t 2 -b 0
+ - ['R SSC1 C BIN_INFO,0']
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 upgrade -R -r 1 -s <ota_bin_size>
+ - [R SSC1 NC ERROR C !!!ready!!!]
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SOC SOC1 ULISTEN <test_tcp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SOC SOC1 SETOPT REPLY BIN
+ - [R SOC_COM C OK]
+ - - SSC SSC1 upgrade -I -b 0 -f 0
+ - ['P SSC1 C +UPGRADE:OK']
+ - - SSC SSC1 upgrade -U -i <pc_ip> -p <test_tcp_port1> -u <ota_bin>
+ - ['P SSC1 C +UPGRADE:SUCCEED']
+ - - SSC SSC1 upgrade -R -b 0
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ initial condition detail: APSTA mode, connected to AP, running BIN0 (located on
+ flash id 0)
+ restore cmd set:
+ - ''
+ - - SSC SSC1 upgrade -Q -t 2 -b 0
+ - ['R SSC1 C BIN_INFO,0']
+ - - SSC SSC1 upgrade -R -b 0
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 upgrade -D
+ - ['R SSC1 C +UPGRADE:OK']
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 24.0
+ tag: STAAPBIN0
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:1']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -Q -o 1
+ - ['R SSC1 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 1
+ - [R SSC1 P <target_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ initial condition detail: sta mode, quit AP, DHCP on, will autogen a TC with initial
+ condition STAAP1
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 17.0
+ tag: STAM1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:1']
+ - - SSC SSC1 sta -Q
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SSC SSC1 dhcp -Q -o 1
+ - ['R SSC1 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 1
+ - [R SSC1 P <target_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ initial condition detail: sta mode, join AP, DHCP on, will autogen a TC with initial
+ condition STAAP2
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 24.0
+ tag: STAM2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 upgrade -Q -t 1
+ - ['R SSC1 C BIN_ID,0']
+ - - SSC SSC1 upgrade -Q -t 2 -b 0
+ - ['R SSC1 C BIN_INFO,0']
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 upgrade -R -r 1 -s <ota_bin_size>
+ - [R SSC1 NC ERROR C !!!ready!!!]
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SOC SOC1 ULISTEN <test_tcp_port1> <pc_ip>
+ - [R SOC_COM L OK]
+ - - SOC SOC1 SETOPT REPLY BIN
+ - [R SOC_COM C OK]
+ - - SSC SSC1 upgrade -I -b 0 -f 0
+ - ['P SSC1 C +UPGRADE:OK']
+ - - SSC SSC1 upgrade -U -i <pc_ip> -p <test_tcp_port1> -u <ota_bin>
+ - ['P SSC1 C +UPGRADE:SUCCEED']
+ - - SSC SSC1 upgrade -R -b 0
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ initial condition detail: STA mode, connected to AP, running BIN0 (located on flash
+ id 0)
+ restore cmd set:
+ - ''
+ - - SSC SSC1 upgrade -Q -t 2 -b 0
+ - ['R SSC1 C BIN_INFO,0']
+ - - SSC SSC1 upgrade -R -b 0
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 upgrade -D
+ - ['R SSC1 C +UPGRADE:OK']
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 17.0
+ tag: STAMBIN0
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:1']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -Q -o 1
+ - ['R SSC1 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 1
+ - [R SSC1 P <target_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ initial condition detail: sta mode, quit AP, will NOT autogen a TC with initial
+ condition STAAP1
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 sta -D
+ - ['R SSC1 C +QAP:']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 17.0
+ tag: STAO1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:1']
+ - - SSC SSC1 sta -Q
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ - - SSC SSC1 dhcp -Q -o 1
+ - ['R SSC1 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 1
+ - [R SSC1 P <target_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ initial condition detail: sta mode, join AP, DHCP on, will NOT autogen a TC with
+ initial condition STAAP2
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 1
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC1 dhcp -S -o 1
+ - [R SSC1 C +DHCP]
+ - - SSC SSC1 mac -S -o 1 -m <target_mac>
+ - ['R SSC1 C +MAC:STA,OK']
+ - - SSC SSC1 sta -C -s <ap_ssid> -p <ap_password>
+ - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%(<ap_ssid>)']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 24.0
+ tag: STAO2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:2']
+ - - SSC SSC2 op -Q
+ - ['R SSC2 C +CURMODE:1']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - ['']
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 C +DHCP:AP,STARTED']
+ - - SSC SSC2 dhcp -Q -o 1
+ - ['R SSC2 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
+ - - SSC SSC2 mac -Q -o 1
+ - [R SSC2 P <target2_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC2 reboot
+ - [R SSC2 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC2 op -S -o 1
+ - ['R SSC2 C +MODE:OK']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - ['']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC2 dhcp -S -o 1
+ - [R SSC2 C +DHCP]
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+ - ['R SSC2 C +MAC:STA,OK']
+ initial condition detail: same as T2_1 but will NOT autogen a TC with initial condition
+ T2_2
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC2 op -S -o 1
+ - ['R SSC2 C +MODE:OK']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - ['']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC2 dhcp -S -o 1
+ - [R SSC2 C +DHCP]
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+ - ['R SSC2 C +MAC:STA,OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 73.0
+ tag: T2O_1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:2']
+ - - SSC SSC2 op -Q
+ - ['R SSC2 C +CURMODE:1']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - ['']
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 C +DHCP:AP,STARTED']
+ - - SSC SSC2 dhcp -Q -o 1
+ - ['R SSC2 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
+ - - SSC SSC2 mac -Q -o 1
+ - [R SSC2 P <target2_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC2 reboot
+ - [R SSC2 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC2 op -S -o 1
+ - ['R SSC2 C +MODE:OK']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - ['']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC2 dhcp -S -o 1
+ - [R SSC2 C +DHCP]
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+ - ['R SSC2 C +MAC:STA,OK']
+ initial condition detail: target 1 as SoftAP, target 2 as STA, will autogen a TC
+ with initial condition T2_2
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 2
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC2 op -S -o 1
+ - ['R SSC2 C +MODE:OK']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - ['']
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC2 dhcp -S -o 1
+ - [R SSC2 C +DHCP]
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+ - ['R SSC2 C +MAC:STA,OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 73.0
+ tag: T2_1
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC1 op -Q
+ - ['R SSC1 C +CURMODE:3']
+ - - SSC SSC2 op -Q
+ - ['R SSC2 C +CURMODE:3']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - [R SSC2 C +CLOSEALL]
+ - - SSC SSC1 dhcp -Q -o 2
+ - ['R SSC1 C +DHCP:AP,STARTED']
+ - - SSC SSC2 dhcp -Q -o 1
+ - ['R SSC2 C +DHCP:STA,STARTED']
+ - - SSC SSC1 mac -Q -o 2
+ - [R SSC1 P <target_ap_mac>]
+ - - SSC SSC2 mac -Q -o 1
+ - [R SSC2 P <target2_mac>]
+ force restore cmd set:
+ - ''
+ - - SSC SSC1 reboot
+ - [R SSC1 C !!!ready!!!]
+ - - SSC SSC2 reboot
+ - [R SSC2 C !!!ready!!!]
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC2 op -S -o 3
+ - ['R SSC2 C +MODE:OK']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - [R SSC2 C +CLOSEALL]
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC2 dhcp -S -o 1
+ - [R SSC2 C +DHCP]
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+ - ['R SSC2 C +MAC:STA,OK']
+ initial condition detail: target 1 as AP+STA, target 2 as AP+STA (autogen)
+ restore cmd set:
+ - ''
+ - - SSC SSC1 op -S -o 3
+ - ['R SSC1 C +MODE:OK']
+ - - SSC SSC2 op -S -o 3
+ - ['R SSC2 C +MODE:OK']
+ - - SSC SSC2 sta -D
+ - ['R SSC2 C +QAP:']
+ - - SSC SSC2 soc -T
+ - [R SSC2 C +CLOSEALL]
+ - - SSC SSC1 dhcp -S -o 2
+ - [R SSC1 C +DHCP]
+ - - SSC SSC2 dhcp -S -o 1
+ - [R SSC2 C +DHCP]
+ - - SSC SSC1 mac -S -o 2 -m <target_ap_mac>
+ - ['R SSC1 C +MAC:AP,OK']
+ - - SSC SSC2 mac -S -o 1 -m <target2_mac>
+ - ['R SSC2 C +MAC:STA,OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 ram
+ - ['R SSC1 C +FREEHEAP:']
+ script path: InitCondBase.py
+ start: 80.0
+ tag: T2_2
+ test script: InitCondBase
+- check cmd set:
+ - ''
+ - - SSC SSC[1-3] op -Q
+ - ['R SSC[1-3] C +CURMODE:3']
+ - - SSC SSC[1-3] phy -Q -o 3
+ - ['R SSC[1-3] C STA,n,40 C AP,n,40']
+ force restore cmd set:
+ - ''
+ - - SSC SSC[1-3] reboot
+ - ['R SSC[1-3] C !!!ready!!!']
+ - - SSC SSC[1-3] op -S -o 3
+ - ['R SSC[1-3] C +MODE:OK']
+ - - SSC SSC[1-3] phy -S -o 3 -m n -b 40
+ - ['R SSC[1-3] C +PHY:OK']
+ initial condition detail: '1. target 1 and target 2 set to AP+STA mode, target 3
+ set to STA mode
+
+ 2. all interface of target 2,3 set to 11n ht40
+
+ 3. config softAP of target 1 and target 2'
+ restore cmd set:
+ - ''
+ - - SSC SSC[1-3] op -S -o 3
+ - ['R SSC[1-3] C +MODE:OK']
+ - - SSC SSC[1-3] phy -S -o 3 -m n -b 40
+ - ['R SSC[1-3] C +PHY:OK']
+ restore post cmd set:
+ - ''
+ - - SSC SSC1 soc -T
+ - [R SSC1 C +CLOSEALL]
+ - - SSC SSC1 sta -R -r 1
+ - [R SSC1 C OK]
+ - - SSC SSC1 ram
+ - ['R SSC1 A <heap_size>:(\d+)']
+ script path: InitCondBase.py
+ start: 87.0
+ tag: T3_PHY1
+ test script: InitCondBase
--- /dev/null
+test cases: []
--- /dev/null
+test environment:
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_1,
+ test environment detail: 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_2,
+ test environment detail: 'PC has 1 WiFi NIC.
+
+ 1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_3,
+ test environment detail: 'Able to access WAN after connect to AP.
+
+ 1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_ADC,
+ test environment detail: 'PC has 1 wired NIC connected to AP.
+
+ Analog input connect to AT1 TOUT.
+
+ Multimeter connect to input, able to measure input voltage.
+
+ 1 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_APC1,
+ test environment detail: "PC has 1 wired NIC connected to AP.\nPC has 1 wired NIC\
+ \ connected to APC (static IP within the same subnet with APC). \nAPC control\
+ \ AP power supply. \nPC has 1 WiFi NIC. \n1 AT target connect with PC by UART\
+ \ (AT and LOG port).", test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_APC2,
+ test environment detail: "Able to access WAN after connect to AP.\nPC has 1 wired\
+ \ NIC connected to APC (static IP within the same subnet with APC). \nAPC control\
+ \ AP power supply.\nPC has 1 WiFi NIC.\n1 AT target connect with PC by UART (AT\
+ \ and LOG port).", test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_HighSpeedUART,
+ test environment detail: 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 1 AT target connect with PC by high speed UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: AT_T1_SmartConfigIOT,
+ test environment detail: '1 AT target connect with PC by UART (AT and LOG port).
+
+ PC has 1 wired NIC connect to Common AP.
+
+ Several AP are placed near AT target.
+
+ Several smart phone installed test APK are placed near AT target.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_1,
+ test environment detail: 'PC has 1 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 2 AT target connect with PC by UART (AT and LOG port).', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_JAP,
+ test environment detail: "Several AP are placed near AT target.\nPC has 1 wired\
+ \ NIC connected to APC (static IP within the same subnet with APC).\nAPC control\
+ \ power supply for all APs. \n2 AT target connect with PC by UART (AT and LOG\
+ \ port).", test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_Sleep,
+ test environment detail: 'AP support DTIM placed with AT target.
+
+ 2 AT target connect with PC by UART (AT and LOG port).
+
+ Multimeter connect with PC via GPIB.
+
+ Series multimeter between GND and VCC of AT1.
+
+ AT1''s light sleep wakeup pin and wakeup indication connect with AT2''s GPIO.',
+ test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: AT_T2_SmartConfig,
+ test environment detail: '2 AT target connect with PC by UART (AT and LOG port).
+
+ PC has 1 WiFi NIC.
+
+ One HT20 AP and One HT40 AP are placed near target.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: 'SSC1
+
+ SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+ tag: IR_T2_1, test environment detail: '[TBD] 本测试为非自动测试, 红外能够做到数据收发吻合即可通过', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: NVS_T1_1,
+ test environment detail: '1 NVS target connect with PC by UART.
+
+ 1 SSC target connect with PC by UART.
+
+ SSC2 GPIO connect to NVS1 power control pin.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: SSC_1, additional param list: '',
+ basic param list: '', script path: EnvBase.py, tag: PWM_T1_1, test environment detail: "[TBD]\
+ \ 1. PWM OS SDK 以及 Non-OS SDK的测试建议分开进行, 放在不同的文件夹, 防止文件命名混淆\n2. 分析CSV文件的Python脚本只能分析单个channel\
+ \ \n3. 如果Init脚本打印\"Network Error\" 检查TCP Server是不是正常发送data", test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_1,
+ test environment detail: 'PC has 2 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 1 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_2,
+ test environment detail: 'Able to access WAN after connect to AP.
+
+ 1 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_8089,
+ test environment detail: 'PC has 1 wired NIC connected to AP.
+
+ 1 8089 tablet able to run iperf test placed near SSC1.
+
+ 1 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_ADC,
+ test environment detail: 'PC has 1 wired NIC connected to AP.
+
+ Analog input connect to SSC1 TOUT.
+
+ Multimeter connect to input, able to measure input voltage.
+
+ 1 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_APC,
+ test environment detail: "PC has 1 wired NIC connected to AP.\nPC has 1 wired NIC\
+ \ connected to APC (static IP within the same subnet with APC). \nAPC control\
+ \ AP power supply. \nPC has 1 WiFi NIC. \n1 SSC target connect with PC by UART.",
+ test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_Enterprise,
+ test environment detail: "AP use WPA2-Etherprise is placed near SSC1. \n1 SSC target\
+ \ connect with PC by UART.", test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_IOT1,
+ test environment detail: 'PC has 1 WiFi NIC.
+
+ 1 SSC target connect with PC by UART.
+
+ AP todo IOT test are placed near SSC1.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T1_InitData,
+ test environment detail: '2 SSC target connect with PC by UART.
+
+ SSC1 use 40M crystal oscillator.
+
+ SSC2 use normal 26M crystal oscillator.
+
+ SSC2 GPIO connect to SSC1 power control pin.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_ShieldBox,
+ test environment detail: 'refer to figure.
+
+ All APs and APC should be set to the same IP subnet.
+
+ PC wired NIC should set static IP address within the same subnet with AP.
+
+ Must use onboard wired NIC.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_TempBox,
+ test environment detail: '1 SSC target connect with PC by UART.
+
+ Put SSC target to temperature box.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: SSC_1, additional param list: '',
+ basic param list: '', script path: EnvBase.py, tag: SSC_T1_Timer, test environment detail: '[TBD]
+ 通过串口工具调节Timer, 将GPIO_13端口连接到逻辑分析仪', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_VDD33,
+ test environment detail: '1 SSC target connect with PC by UART.
+
+ Multimeter connect to VDD33, able to measure voltage.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_WEP,
+ test environment detail: '1 SSC target connect with PC by UART.
+
+ One WEP share key AP placed near SSC1.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_1,
+ test environment detail: 'PC has 1 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 2 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, UART ports: 'SSC1
+
+ SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+ tag: SSC_T2_GPIO1, test environment detail: '[TBD] 2个ESP_8266通过UART连到PC, ESP_8266的
+ GPIO_6相连', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, UART ports: 'SSC1
+
+ SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+ tag: SSC_T2_GPIO2, test environment detail: '[TBD] 1. 2个ESP_8266通过UART连到PC, ESP_8266的
+ GPIO_15通过面包板相连
+
+ 2. 可借助面包板, 将GPIO_15, 以及中断函数被打开的8266板的GPIO_2 相连', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, UART ports: 'SSC1
+
+ SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+ tag: SSC_T2_GPIO3, test environment detail: '[TBD] 2个ESP_8266通过UART连到PC, ESP_8266之间需要测试的Target_GPIO相连',
+ test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_PhyMode,
+ test environment detail: '2 SSC target connect with PC by UART.
+
+ PC has one WiFi NIC support capture wlan packet using libpcap.
+
+ Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40.
+
+ Put 4 APs near SSC targets.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_ShieldBox,
+ test environment detail: '2 SSC target connect with PC by UART.
+
+ Put them to Shield box.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_Sleep1,
+ test environment detail: 'AP support DTIM placed with AT target.
+
+ 2 SSC target connect with PC by UART.
+
+ Multimeter connect with PC via GPIB.
+
+ Series multimeter between GND and VCC of SSC1.
+
+ SSC1''s light sleep wakeup pin and wakeup indication connect with AT2''s GPIO.
+
+ SSC1''s XPD connect with RSTB.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_Sleep2,
+ test environment detail: 'AP support DTIM placed with AT target.
+
+ 2 SSC target connect with PC by UART.
+
+ Multimeter connect with PC via GPIB.
+
+ Series multimeter between GND and VCC of SSC1.
+
+ SSC1''s RSTB pin connect with AT2''s GPIO.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 2.0, script path: EnvBase.py, tag: SSC_T2_SmartConfig,
+ test environment detail: '2 SSC target connect with PC by UART.
+
+ PC has 1 WiFi NIC.
+
+ One HT20 AP and One HT40 AP are placed near target.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 3.0, script path: EnvBase.py, tag: SSC_T3_PhyMode,
+ test environment detail: '3 SSC target connect with PC by UART.
+
+ PC has one WiFi NIC support capture wlan packet using libpcap.
+
+ Set 4 AP with (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2).
+
+ Put 4 APs near SSC targets.', test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 5.0, script path: EnvBase.py, tag: SSC_T5_1,
+ test environment detail: 5 SSC target connect with PC by UART., test script: EnvBase}
+- {PC OS: '', Special: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T6_1,
+ test environment detail: 'PC has 1 wired NIC connected to AP.
+
+ PC has 1 WiFi NIC.
+
+ 6 SSC target connect with PC by UART.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: TempSensor_T1_1,
+ test environment detail: 'Tempeture sensor target connect with PC by UART.
+
+ AP support DTIM placed with AT target.
+
+ Multimeter connect with PC via GPIB.
+
+ Series multimeter between GND and VCC of TempSensor1.
+
+ PC has 1 wired NIC connected to switch.
+
+ APC, AP also connect with swtich.
+
+ All devices connected with switch use the same IP subnet.
+
+ APC control AP power supply.', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: SSC_1, additional param list: '',
+ basic param list: '', script path: EnvBase.py, tag: UART_T1_1, test environment detail: '[TBD]
+ 将ESP_8266通过UART连到PC', test script: EnvBase}
+- {PC OS: '', Special: Y, Target Count: 1.0, UART ports: 'SSC1
+
+ SSC2', additional param list: '', basic param list: '', script path: EnvBase.py,
+ tag: UART_T1_2, test environment detail: '[TBD] ESP_8266通过UART_0通过USB, UART_1 TXD
+ 通过 TTLcable 连到PC', test script: EnvBase}
+- {PC OS: linux, Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: WebServer_T1_1,
+ test environment detail: 'Web Server target connect with PC by UART.
+
+ PC has 1 wired NIC connected to switch.
+
+ APC, AP also connect with swtich.
+
+ All devices connected with switch use same IP subnet.
+
+ APC control AP power supply.', test script: EnvBase}
+- {PC OS: linux, Special: Y, Target Count: 1.0, script path: EnvBase.py, tag: WebServer_T1_2,
+ test environment detail: 'Web Server target connect with PC by UART.
+
+ 4 PC with WiFi NIC placed near WebServer1.', test script: EnvBase}
+++ /dev/null
-Config: {execute count: 1, execute order: in order}
-DUT: [SSC2, SSC1]
-Filter:
-- Add:
- ID: [^TCPIP_DHCP_0302, ^TCPIP_DHCP_0301, ^TCPIP_UDP_0113, TCPIP_DHCP_0302, TCPIP_DHCP_0301,
- TCPIP_TCP_0412, TCPIP_TCP_0403, TCPIP_TCP_0402, TCPIP_TCP_0401, TCPIP_TCP_0407,
- TCPIP_TCP_0406, TCPIP_TCP_0404, TCPIP_TCP_0408, ^TCPIP_TCP_0202, TCPIP_TCP_0110,
- ^TCPIP_TCP_0203, TCPIP_DHCP_0101, TCPIP_DHCP_0103, TCPIP_DHCP_0102, TCPIP_IP_0101,
- TCPIP_IP_0102, ^TCPIP_IGMP_0102, ^TCPIP_IGMP_0101, ^TCPIP_IGMP_0104, TCPIP_IGMP_0104,
- TCPIP_IGMP_0103, TCPIP_IGMP_0102, TCPIP_IGMP_0101, ^TCPIP_UDP_0201, TCPIP_UDP_0108]
+++ /dev/null
-Config: {execute count: 1, execute order: in order}
-DUT: [SSC2, SSC1]
-Filter:
-- Add:
- ID: [TCPIP_UDP_0106, TCPIP_UDP_0107, TCPIP_UDP_0105, TCPIP_UDP_0101, TCPIP_IGMP_0204,
- TCPIP_IGMP_0201, TCPIP_IGMP_0202, TCPIP_IGMP_0203, ^TCPIP_TCP_0404, ^TCPIP_TCP_0406,
- ^TCPIP_TCP_0407, ^TCPIP_TCP_0401, ^TCPIP_TCP_0402, ^TCPIP_TCP_0403, ^TCPIP_TCP_0408,
- TCPIP_UDP_0201, ^TCPIP_TCP_0101, ^TCPIP_TCP_0103, ^TCPIP_TCP_0102, ^TCPIP_TCP_0105,
- ^TCPIP_TCP_0104, ^TCPIP_TCP_0107, ^TCPIP_TCP_0106, ^TCPIP_DHCP_0210, ^TCPIP_DHCP_0211,
- TCPIP_TCP_0212, TCPIP_TCP_0210, ^TCPIP_TCP_0210, ^TCPIP_TCP_0212, TCPIP_DHCP_0211]
+++ /dev/null
-Config: {execute count: 1, execute order: in order}
-DUT: [SSC2, SSC1]
-Filter:
-- Add:
- ID: [TCPIP_DHCP_0210, TCPIP_UDP_0202, TCPIP_TCP_0411, ^TCPIP_IP_0102, ^TCPIP_UDP_0105,
- ^TCPIP_UDP_0107, ^TCPIP_UDP_0106, ^TCPIP_UDP_0101, ^TCPIP_DHCP_0102, ^TCPIP_DHCP_0103,
- ^TCPIP_UDP_0108, ^TCPIP_IGMP_0201, ^TCPIP_IGMP_0203, ^TCPIP_IGMP_0202, ^TCPIP_IGMP_0204,
- TCPIP_UDP_0114, TCPIP_UDP_0113, TCPIP_UDP_0112, ^TCPIP_TCP_0201, ^TCPIP_TCP_0206,
- ^TCPIP_TCP_0207, TCPIP_TCP_0106, TCPIP_TCP_0107, TCPIP_TCP_0104, TCPIP_TCP_0105,
- TCPIP_TCP_0102, TCPIP_TCP_0103, TCPIP_TCP_0101, ^TCPIP_TCP_0116, ^TCPIP_TCP_0114]
+++ /dev/null
-Config: {execute count: 1, execute order: in order}
-DUT: [SSC2, SSC1]
-Filter:
-- Add:
- ID: [^TCPIP_TCP_0115, ^TCPIP_TCP_0112, ^TCPIP_TCP_0113, ^TCPIP_TCP_0110, ^TCPIP_TCP_0111,
- ^TCPIP_DHCP_0209, ^TCPIP_DHCP_0208, ^TCPIP_DHCP_0207, ^TCPIP_DHCP_0206, ^TCPIP_DHCP_0205,
- ^TCPIP_DHCP_0204, ^TCPIP_DHCP_0203, ^TCPIP_DHCP_0202, ^TCPIP_DHCP_0201, TCPIP_TCP_0204,
- TCPIP_TCP_0207, TCPIP_TCP_0206, TCPIP_TCP_0201, ^TCPIP_DHCP_0101, TCPIP_TCP_0203,
- TCPIP_TCP_0202, TCPIP_TCP_0208, TCPIP_DHCP_0206, TCPIP_DHCP_0207, TCPIP_DHCP_0204,
- TCPIP_DHCP_0205, TCPIP_DHCP_0202, TCPIP_DHCP_0203, ^TCPIP_TCP_0204, TCPIP_DHCP_0201]
+++ /dev/null
-Config: {execute count: 1, execute order: in order}
-DUT: [SSC2, SSC1]
-Filter:
-- Add:
- ID: [^TCPIP_TCP_0208, TCPIP_DHCP_0208, TCPIP_DHCP_0209, ^TCPIP_TCP_0412, ^TCPIP_TCP_0411,
- ^TCPIP_UDP_0112, ^TCPIP_UDP_0114, ^TCPIP_UDP_0202, ^TCPIP_IGMP_0103, ^TCPIP_IP_0101,
- TCPIP_TCP_0115, TCPIP_TCP_0114, TCPIP_TCP_0116, TCPIP_TCP_0111, TCPIP_TCP_0113,
- TCPIP_TCP_0112]
+++ /dev/null
-Config: {execute count: 1, execute order: in order}
-DUT: [SSC1]
-Filter:
-- Add:
- ID: [TCPIP_ICMP_0101, TCPIP_ICMP_0101, TCPIP_ICMP_0101, TCPIP_ICMP_0101, TCPIP_ICMP_0101,
- ^TCPIP_UDP_0303, ^TCPIP_UDP_0303, ^TCPIP_UDP_0303, ^TCPIP_UDP_0303, ^TCPIP_UDP_0303,
- ^TCPIP_UDP_0302, ^TCPIP_UDP_0302, ^TCPIP_UDP_0302, ^TCPIP_UDP_0302, ^TCPIP_UDP_0302,
- ^TCPIP_UDP_0301, ^TCPIP_UDP_0301, ^TCPIP_UDP_0301, ^TCPIP_UDP_0301, ^TCPIP_UDP_0301,
- TCPIP_DNS_0102, TCPIP_DNS_0102, TCPIP_DNS_0102, TCPIP_DNS_0102, TCPIP_DNS_0102,
- TCPIP_DNS_0101, TCPIP_DNS_0101, TCPIP_DNS_0101, TCPIP_DNS_0101, TCPIP_DNS_0101]
+++ /dev/null
-Config: {execute count: 1, execute order: in order}
-DUT: [SSC1]
-Filter:
-- Add:
- ID: [TCPIP_UDP_0303, TCPIP_UDP_0303, TCPIP_UDP_0303, TCPIP_UDP_0303, TCPIP_UDP_0303,
- TCPIP_DNS_0103, TCPIP_DNS_0103, TCPIP_DNS_0103, TCPIP_DNS_0103, TCPIP_DNS_0103]
+++ /dev/null
-Config: {execute count: 1, execute order: in order}
-DUT: [SSC2, SSC1]
-Filter:
-- Add:
- ID: [^WIFI_CONN_0601, ^WIFI_ADDR_0101, WIFI_SCAN_0103, WIFI_SCAN_0102, WIFI_SCAN_0101,
- WIFI_SCAN_0105, WIFI_SCAN_0104, WIFI_CONN_0201, WIFI_CONN_0904, ^WIFI_CONN_0201,
- ^WIFI_SCAN_0102, ^WIFI_SCAN_0103, ^WIFI_SCAN_0104, ^WIFI_SCAN_0105, ^WIFI_ADDR_0102,
- WIFI_CONN_0401, ^WIFI_CONN_0103, WIFI_ADDR_0101, WIFI_ADDR_0102, WIFI_CONN_0301,
- ^WIFI_CONN_0801, WIFI_CONN_0104, ^WIFI_CONN_0301, WIFI_CONN_0501, WIFI_CONN_0502,
- ^WIFI_CONN_0401, WIFI_MODE_0101, WIFI_MODE_0103, WIFI_MODE_0102, ^WIFI_CONN_0904]
+++ /dev/null
-Config: {execute count: 1, execute order: in order}
-DUT: [SSC2, SSC1]
-Filter:
-- Add:
- ID: [^WIFI_CONN_0901, WIFI_CONN_0601, WIFI_CONN_0901, WIFI_CONN_0503, ^WIFI_CONN_0104,
- WIFI_CONN_0101, WIFI_CONN_0102, WIFI_CONN_0103, WIFI_CONN_0801, ^WIFI_CONN_0101,
- ^WIFI_CONN_0503, ^WIFI_CONN_0502, ^WIFI_CONN_0501, ^WIFI_SCAN_0101]
+++ /dev/null
-Config: {execute count: 1, execute order: in order}
-DUT: [SSC2, SSC1]
-Filter:
-- Add:
- ID: [WIFI_PHY_0403, WIFI_SCAN_0301, WIFI_SCAN_0303, WIFI_SCAN_0304, WIFI_SCAN_0302,
- WIFI_SCAN_0201, WIFI_PHY_0402, WIFI_PHY_0401, WIFI_PHY_0407, WIFI_PHY_0406,
- WIFI_PHY_0405, WIFI_PHY_0404, WIFI_PHY_0408]
+++ /dev/null
-
-# Note: The test cases in this folder are for Espressif internal use.
-
-# Goto internal project wiki Testing page for detail about this folder.
+++ /dev/null
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-from TCAction import CmdHandler
-import time
-
-
-ATCmdList = ["GMR",
- "UART=115200,8,1,0,0",
- "CWMODE=3",
- "CWJAP=\"TL_WR845N_T\",\"1234567890\"",
- "CWLAP",
- "CWQAP",
- "CWSAP=\"asdf\",\"123456789\",5,3",
- "CWLIF",
- "CWDHCP=3",
- "AT+CWAUTOCONN",
- "CIPSTAMAC=\"18:fe:34:97:f3:43\"",
- "CIPAPMAC=\"1a:fe:34:97:f3:43\"",
- "CIPSTA=\"192.168.1.2\"",
- "CIPAP=\"192.168.4.1\"",
- "CIPSTATUS",
- "CIPSTART=\"UDP\",\"192.168.1.4\",6531,7895,1",
- "CIPSTART=\"TCP\",\"192.168.1.4\",6531",
- "CIPCLOSE",
- "CIFSR",
- "CIPMUX=1",
- "CIPSERVER=1,4567",
- "CIPMODE=0",
- "CIPSTO=7200",
- "PING=\"192.168.1.4\""]
-
-
-class CmdInterruptTest(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=20, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
-
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def load_and_exe_one_step(self, checker_stings, test_action_strings, fail_string,
- check_freq=0.1, check_time=50, sleep_time=0.1):
- # set checker for next executing step
- checkers = CmdHandler.parse_results(checker_stings, self.test_env)
- self.result_cntx.set_next_step(checkers, check_time, check_freq)
- # execute 1 step
- for action_string in test_action_strings:
- test_action = CmdHandler.parse_action(action_string, self.test_env)
- CmdHandler.do_actions(test_action, self.test_env)
- time.sleep(sleep_time)
-
- ret = self.wait_to_execute()
-
- if ret is False: # # timeout
- self.result_cntx.set_result(fail_string)
- if ret == check_time:
- self.result_cntx.set_result(fail_string)
- ret = False
-
- self.require_waiting()
-
- return ret
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- # step 1, sleep time 0.1
- for cmd1 in ATCmdList:
- # check if match CMD - AT - busy - OK/ERROR pattern
- checker_stings = ["ATR AT1 C busy", "ATR AT1 R *"]
- test_action_string = ["ATS AT1 AT+%s" % cmd1, "ATS AT1 AT"]
- fail_string = "Fail, Fail on step 1"
- if self.load_and_exe_one_step(checker_stings, test_action_string,
- fail_string, sleep_time=0.1) is False:
- # check again if match CMD - OK/ERROR - AT - OK pattern
- checker_stings = ["ATR AT1 R *", "ATR AT1 C AT L OK"]
- test_action_string = ["ATS AT1 AT+%s" % cmd1, "ATS AT1 AT"]
- fail_string = "Fail, Fail on step 1"
- if self.load_and_exe_one_step(checker_stings, test_action_string,
- fail_string, sleep_time=0.1) is False:
- NativeLog.add_trace_critical("CMD Fail: AT+%s; sleep time is 0.1" % cmd1)
-
- # step 2, sleep time 0
- for cmd1 in ATCmdList:
- # check if match CMD - AT - busy - OK/ERROR pattern
- checker_stings = ["ATR AT1 C busy", "ATR AT1 R *"]
- test_action_string = ["ATS AT1 AT+%s" % cmd1, "ATS AT1 AT"]
- fail_string = "Fail, Fail on step 1"
- if self.load_and_exe_one_step(checker_stings, test_action_string,
- fail_string, sleep_time=0.1) is False:
- # check again if match CMD - OK/ERROR - AT - OK pattern
- checker_stings = ["ATR AT1 R *", "ATR AT1 C AT L OK"]
- test_action_string = ["ATS AT1 AT+%s" % cmd1, "ATS AT1 AT"]
- fail_string = "Fail, Fail on step 1"
- if self.load_and_exe_one_step(checker_stings, test_action_string,
- fail_string, sleep_time=0.1) is False:
- NativeLog.add_trace_critical("CMD Fail: AT+%s; sleep time is 0" % cmd1)
-
- # step 3, cat string
- for cmd1 in ATCmdList:
- # check if match CMD - AT - busy - OK/ERROR pattern
- checker_stings = ["ATR AT1 C busy", "ATR AT1 R *"]
- test_action_string = ["ATSO AT1 AT+%s\r\nAT\r\n" % cmd1]
- fail_string = "Fail, Fail on step 1"
- if self.load_and_exe_one_step(checker_stings, test_action_string,
- fail_string, sleep_time=0.1) is False:
- # check again if match CMD - OK/ERROR - AT - OK pattern
- checker_stings = ["ATR AT1 R *", "ATR AT1 C AT L OK"]
- test_action_string = ["ATS AT1 AT+%s" % cmd1, "ATS AT1 AT"]
- fail_string = "Fail, Fail on step 1"
- if self.load_and_exe_one_step(checker_stings, test_action_string,
- fail_string, sleep_time=0.1) is False:
- NativeLog.add_trace_critical("CMD Fail: AT+%s; cat string" % cmd1)
-
- # finally, execute done
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
-
+++ /dev/null
-from TCAction import TCActionBase
-import time
-import re
-
-
-class LAP(TCActionBase.CommonTCActionBase):
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def cleanup(self):
- # restore set LAPOPT
- if self.load_and_exe_one_step(["R AT1 L OK"],
- ["ATS AT1 AT+CWLAPOPT=0,127"],
- "Failed to set LAP option") is False:
- return
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- # step 1. set LAPOPT
- if self.load_and_exe_one_step(["R AT1 L OK"],
- ["ATS AT1 AT+CWLAPOPT=1,4"],
- "Failed to set LAP option") is False:
- return
-
- # step 2. LAP
- if self.load_and_exe_one_step(["R AT1 A <lap_result>:([[^OK]]+)OK"], # [] is list generator, use [[]] for []
- ["ATS AT1 AT+CWLAP"],
- "Failed to LAP") is False:
- return
- lap_result = self.get_parameter("lap_result")
- rssi_list = re.findall("CWLAP:\((-\d+)\)", lap_result)
- if len(rssi_list) > 1:
- for i in range(len(rssi_list)-1):
- if int(rssi_list[i]) < int(rssi_list[i+1]):
- break
- else:
- self.result_cntx.set_result("Succeed")
- else:
- self.result_cntx.set_result("Succeed")
- pass
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
- pass
- pass
-
-
-def main():
- pass
-
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-from TCAction import TCActionBase
-from TCAction import CmdHandler
-from NativeLog import NativeLog
-import time
-import threading
-import sys
-reload(sys)
-sys.setdefaultencoding('iso-8859-1') # # use encoding that with 1 Byte length and contain 256 chars
-
-
-VALIDATION_STRING = "".join([chr((m+65) % 256) for m in range(256)]) # make it start from 'A'
-
-
-class ResultCheckCntx(TCActionBase.ResultCheckContext):
-
- def __init__(self, test_action, test_env, name):
- TCActionBase.ResultCheckContext.__init__(self, test_action, test_env, name)
- pass
-
- def run(self):
- tx_result = -1
- rx_result = -1
-
- while True:
- exit_flag = self.wait_exit_event(2)
- # force exit
- if exit_flag is True:
- break
- try:
- self.lock_data()
- rx_port = filter(lambda x: x[0] == "AT1", self.data_cache)
- tx_port = filter(lambda x: x[0] == "SOC2", self.data_cache)
- finally:
- self.unlock_data()
-
- if len(rx_port) == 1:
- data = rx_port[0][1]
- rx_result = data.find(VALIDATION_STRING)
- if len(tx_port) == 1:
- data = tx_port[0][1]
- tx_result = data.find(VALIDATION_STRING)
-
- if tx_result != -1:
- self.test_action.tx_check_done.set()
- if rx_result != -1:
- self.test_action.rx_check_done.set()
-
-
-class SendDataValidation(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- self.timestamp = time.strftime("%d%H%M%S", time.localtime())
- self.tx_check_done = threading.Event()
- self.rx_check_done = threading.Event()
-
- pass
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- try:
- # configurable params
- # enable target TCP TX
- tx_enable = self.tx_enable
- # enable target TCP RX
- rx_enable = self.rx_enable
- # transparent mode select
- is_transparent_mode = self.is_transparent_mode
- # configurable params
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPTransparent script, error is %s" % e)
- raise StandardError("Error configuration")
-
- # step1 create PC server
- checker_stings = ["SOCR SOC_COM L OK"]
- test_action_string = ["SOC SOC1 LISTEN <test_tcp_port1>"]
- fail_string = "Fail, Fail on create PC server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step2 target connect, switch to transparent
- checker_stings = ["SOCR SOC1 C +ACCEPT", "ATR AT1 NC CLOSE L OK"]
- test_action_strings = ["ATC AT1 CIPSTART \"TCP\" <pc_ip> <test_tcp_port1>"]
- fail_string = "Fail, Fail on connect to PC server"
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- checker_stings = ["SOCR SOC_COM L OK"]
- test_action_strings = ["SOC SOC1 ACCEPT SOC2"]
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- # set to transparent mode
- if is_transparent_mode is True:
- checker_stings = ["ATR AT1 L OK"]
- test_action_strings = ["ATS AT1 AT+CIPMODE=1"]
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- checker_stings = ["ATR AT1 C >"]
- test_action_strings = ["ATS AT1 AT+CIPSEND"]
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
- else:
- checker_stings = ["ATR AT1 C >"]
- test_action_strings = ["ATS AT1 AT+CIPSEND=256"]
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- # step 3
-
- # switch to new result check context
- self.result_cntx.stop_thread()
- self.result_cntx.join()
- self.result_cntx = ResultCheckCntx(self, self.test_env, self.tc_name)
- self.result_cntx.start()
-
- # step 3 send data
- if rx_enable is True:
- test_action = CmdHandler.parse_action("SOC SOC2 SEND 256", self.test_env)
- CmdHandler.do_actions(test_action[0], self.test_env)
- self.rx_check_done.wait(5)
- if self.rx_check_done.isSet() is False:
- # rx fail
- return
- # flush all data
- self.result_cntx.data_flush()
- self.tx_check_done.clear()
-
- if tx_enable is True:
- test_action = CmdHandler.parse_action("ATSN AT1 256", self.test_env)
- CmdHandler.do_actions(test_action[0], self.test_env)
- self.tx_check_done.wait(5)
- if self.tx_check_done.isSet() is False:
- # tx fail
- return
-
- # finally, execute done
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
- pass
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
-
+++ /dev/null
-import socket
-import serial
-
-from TCAction import PerformanceTCBase
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-
-
-class UARTTest(PerformanceTCBase.PerformanceTCBase):
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- PerformanceTCBase.PerformanceTCBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.test_mode = "command"
- self.baudrate = None
- self.bytesize = None
- self.parity = None
- self.stopbits = None
- self.xonxoff = None
- self.rtscts = None
-
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def cleanup(self):
- # restore UART config
- self.restore_serial_port("AT1")
- PerformanceTCBase.PerformanceTCBase.cleanup(self)
-
- STOP_BITS = {
- 1: serial.STOPBITS_ONE,
- 2: serial.STOPBITS_ONE_POINT_FIVE,
- 3: serial.STOPBITS_TWO,
- }
- BYTE_SIZE = {
- 5: serial.FIVEBITS,
- 6: serial.SIXBITS,
- 7: serial.SEVENBITS,
- 8: serial.EIGHTBITS,
- }
- PARITY = {
- 0: serial.PARITY_NONE,
- 1: serial.PARITY_ODD,
- 2: serial.PARITY_EVEN,
- }
- RTSCTS = {}
-
- def config_serial_port(self):
- port = self.test_env.get_port_by_name("AT1")
- kwargs = dict()
- if self.baudrate is not None:
- kwargs["baudrate"] = self.baudrate
- if self.bytesize is not None:
- kwargs["bytesize"] = self.BYTE_SIZE[self.bytesize]
- if self.parity is not None:
- kwargs["parity"] = self.PARITY[self.parity]
- if self.stopbits is not None:
- kwargs["stopbits"] = self.STOP_BITS[self.stopbits]
- if self.xonxoff is not None:
- kwargs["xonxoff"] = self.xonxoff
- if self.rtscts is not None:
- kwargs["rtscts"] = self.rtscts
- NativeLog.add_prompt_trace("[change PC UART config] %s" % kwargs)
- port.reconfig(**kwargs)
-
- def send_commands(self):
- # first change UART config
- self.config_serial_port()
- # do send commands
- for i in range(1, 256):
- cmd = bytes().join([chr(x % 256) for x in range(i)])
- try:
- self.serial_write_line("AT1", cmd)
- except StandardError, e:
- NativeLog.add_exception_log(e)
- pass
- self.flush_data("AT1")
- # restore UART config
- self.restore_serial_port("AT1")
-
- def send_data(self):
- # create TCP connection and enter send mode
- pc_ip = self.get_parameter("pc_ip")
- tcp_port = self.get_parameter("test_tcp_port1")
- server_sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
- server_sock.bind((pc_ip, tcp_port))
- server_sock.settimeout(10)
- server_sock.listen(5)
- self.serial_write_line("AT1", "AT+CIPSTART=\"TCP\",\"%s\",%s" % (pc_ip, tcp_port))
- self.check_response("AT1", "OK")
- sock, addr = server_sock.accept()
- server_sock.close()
- self.serial_write_line("AT1", "AT+CIPSEND=1460")
- self.check_response("AT1", ">")
- # change UART config
- self.config_serial_port()
- # send data
- try:
- self.serial_write("AT1", bytes().join([chr(x % 256) for x in range(146000)]))
- except StandardError, e:
- NativeLog.add_exception_log(e)
- pass
- sock.send("A"*1460)
- # restore UART config
- sock.close()
- self.restore_serial_port("AT1")
-
- def pass_through_mode(self):
- # create TCP connection and enter pass through mode
- pc_ip = self.get_parameter("pc_ip")
- tcp_port = self.get_parameter("test_tcp_port1")
- server_sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
- server_sock.bind((pc_ip, tcp_port))
- server_sock.settimeout(10)
- server_sock.listen(5)
- self.serial_write_line("AT1", "AT+CIPMODE=1")
- self.check_response("AT1", "OK")
- self.serial_write_line("AT1", "AT+CIPSTART=\"TCP\",\"%s\",%s" % (pc_ip, tcp_port))
- self.check_response("AT1", "OK")
- sock, addr = server_sock.accept()
- server_sock.close()
- self.serial_write_line("AT1", "AT+CIPSEND")
- self.check_response("AT1", ">")
- # change UART config
- self.config_serial_port()
- # send data
- try:
- self.serial_write("AT1", bytes().join([chr(x % 256) for x in range(146000)]))
- except StandardError, e:
- NativeLog.add_exception_log(e)
- pass
- sock.send("A" * 1460)
- # restore UART config
- sock.close()
- self.restore_serial_port("AT1")
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- # test sending command
- try:
- if self.test_mode == "command":
- self.send_commands()
- elif self.test_mode == "send_data":
- self.send_data()
- elif self.test_mode == "pass_through":
- self.pass_through_mode()
- else:
- raise StandardError("test mode not supported: %s" % self.test_mode)
- self.set_result("Succeed")
- except StandardError, e:
- NativeLog.add_exception_log(e)
- self.set_result("Failed")
-
-
-def main():
- pass
-
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-__all__ = ["TCPClientMulti", "TCPClientSingle", "TCPServerMulti",
- "TCPTransparent", "UDPMulti", "UDPSingle"]
\ No newline at end of file
+++ /dev/null
-import time
-
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-
-
-BEACON_TIMEOUT = 3
-WAIT_FOR_RECONNECT = 20
-
-
-class ATPassThrough(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.do_scan = True
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
-
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def cleanup(self):
- TCActionBase.CommonTCActionBase.cleanup(self)
- # turn on logging
- self.test_env.uart_ports["AT1"].set_uart_logging_flag(True)
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- # configurable params
- try:
- at_send_length = self.at_send_length
- soc_send_length = self.soc_send_length
- test_count = self.test_count
- tx_enable = self.tx_enable
- rx_enable = self.rx_enable
- att_set = self.att_set
- do_scan = self.do_scan
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPClientMulti script, error is %s" % e)
- raise StandardError("Error configuration")
- # configurable params
-
- # step0, set att and join ap
- fail_string = "Fail, Fail on JAP, set to single link mode"
-
- checker_stings = ["R PC_COM L OK"]
- test_action_string = ["ATT <att_port> 1"]
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R AT1 C ready"]
- test_action_string = ["ATS AT1 AT+RST"]
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R AT1 L OK"]
- test_action_string = ["ATS AT1 AT+CWMODE=1"]
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R AT1 L OK"]
- test_action_string = ["ATC AT1 CWJAP <ap_ssid> <ap_password>"]
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R AT1 L OK"]
- test_action_string = ["ATS AT1 AT+CIPMUX=0"]
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step1, create TCP connection and enter pass through mode
- fail_string = "Fail, Fail on create server, create connection or enter pass through mode"
-
- checker_stings = ["R SOC_COM L OK"]
- test_action_string = ["SOC SOC1 LISTEN <test_tcp_port1>"]
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R SOC1 C +ACCEPT", "R AT1 NC CLOSE L OK"]
- test_action_string = ["ATC AT1 CIPSTART \"TCP\" <pc_ip> <test_tcp_port1>"]
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R AT1 L OK"]
- test_action_strings = ["ATS AT1 AT+CIPMODE=1"]
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- checker_stings = ["R AT1 C >"]
- test_action_strings = ["ATS AT1 AT+CIPSEND"]
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- checker_stings = ["R SOC_COM L OK"]
- test_action_strings = ["SOC SOC1 ACCEPT SOC2"]
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- # step2
- # while
- # set att from, send data on both direction
- # if TCP connection disconnected, then set att to 1, wait reconnect succeed, continue test
- for i in xrange(test_count):
- for _att in att_set:
-
- # set att
- checker_stings = ["R PC_COM L OK"]
- test_action_string = ["ATT <att_port> %d" % _att]
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
- time.sleep(BEACON_TIMEOUT)
-
- # do scan to get ssid
- if do_scan is True:
- checker_stings = []
- test_action_string = ["ATSO AT1 +++"]
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R AT1 L OK"]
- test_action_string = ["ATC AT1 CWLAP <ap_ssid>"]
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R AT1 C >"]
- test_action_strings = ["ATS AT1 AT+CIPSEND"]
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- # send data
- checker_stings = []
- test_action_string = []
- if tx_enable is True:
- checker_stings += ["P SOC2 RL %d" % at_send_length]
- test_action_string += ["ATSN AT1 %d" % at_send_length]
- if rx_enable is True:
- checker_stings += ["P AT1 RL %d" % soc_send_length]
- test_action_string += ["SOC SOC2 SEND %d" % soc_send_length]
-
- if len(test_action_string) > 0:
- if self.load_and_exe_one_step(checker_stings, test_action_string, "",
- check_freq=1, check_time=30) is False:
- # send data fail
- NativeLog.add_prompt_trace("Failed to send data @ att %d" % _att)
- # set att back to 1
- checker_stings = ["R PC_COM L OK"]
- test_action_string = ["ATT <att_port> 1"]
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
- # wait for reconnect
- time.sleep(WAIT_FOR_RECONNECT)
- fail_string = "Failed, failed to accept socket"
- checker_stings = ["SOCR SOC_COM L OK"]
- test_action_strings = ["SOC SOC1 ACCEPT SOC2"]
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
- break
- pass
-
- # finally, execute done
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
-
+++ /dev/null
-import random
-import os
-import time
-
-from TCAction import TCActionBase, PerformanceTCBase
-from NativeLog import NativeLog
-from Utility import MakeFolder
-from Utility import MultimeterUtil
-
-LOG_PATH = os.path.join("AT_LOG", "SLEEP")
-
-SLEEP_MODE_LIST = ["none_sleep", "light_sleep", "modem_sleep"]
-SLEEP_MODE = dict(zip(SLEEP_MODE_LIST, range(len(SLEEP_MODE_LIST))))
-
-SAMPLE_RATE_SLEEP_MODE_CHANGE = 0.002
-SAMPLE_NUM_SLEEP_MODE_CHANGE = 256
-
-SAMPLE_RATE = 0.002
-SAMPLE_NUM = 512
-MAX_VALUE = 1
-Y_AXIS_LABEL = "Current (mA)"
-GPIO_EDGE_DELAY = 120 # 20 ms
-
-NONE_SLEEP_MIN_CUR = 30
-LIGHT_SLEEP_MIN_CUR = 1.5
-MODEM_SLEEP_MIN_CUR = 20
-
-GPIO_WAKE_UP = 15
-
-AT_WAKE_UP_IND_PIN = 14
-AT_WAKE_UP_PIN = 12
-
-
-class ATSleep(PerformanceTCBase.PerformanceTCBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- PerformanceTCBase.PerformanceTCBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.test_mode = "mode_change"
- self.test_count = 100
- self.sleep_mode = SLEEP_MODE_LIST
- self.sleep_wake_pin = AT_WAKE_UP_PIN
- self.sleep_wakeup_ind_pin = AT_WAKE_UP_IND_PIN
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.log_folder = MakeFolder.make_folder(os.path.join(LOG_PATH,
- "AT_AUTO_SLEEP_%s_%s" %
- (self.test_mode,
- time.strftime("%d%H%M%S", time.localtime()))))
- self.multimeter = MultimeterUtil.MultimeterUtil(self.log_folder)
-
- @staticmethod
- def find_min_items(item_list, count):
- assert count < len(item_list)
- min_items = []
- for i in range(count):
- min_val = min(item_list)
- min_items.append(min_val)
- item_list.remove(min_val)
- return min_items
-
- def sleep_mode_change(self, sleep_mode):
- result = True
- NativeLog.add_prompt_trace("[AutoSleep][ModeChange] %s start" % sleep_mode)
- # choose sleep mode
- sleep_mode_enum = SLEEP_MODE[sleep_mode]
- # change GPIO to make sure target exit sleep mode, so it can process SSC commands
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- # set sleep mode
- self.serial_write_line("AT1", "AT+SLEEP=%d" % sleep_mode_enum)
- self.check_response("AT1", "OK")
- self.check_response("SSC2", "+GPIO_SET:OK")
-
- NativeLog.add_prompt_trace("[AutoSleep][ModeChange] mode set")
- time.sleep(10)
- # measure current
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE_SLEEP_MODE_CHANGE,
- sample_num=SAMPLE_NUM_SLEEP_MODE_CHANGE,
- max_value=MAX_VALUE)
- # do check measure
- min_items = self.find_min_items(current_line, 10)
- average_val = float(0)
- for val in min_items:
- average_val += val
- average_val /= 10
-
- NativeLog.add_prompt_trace("[AutoSleep][ModeChange] measure done, average min current %f" % average_val)
-
- if sleep_mode == "none_sleep":
- if average_val < NONE_SLEEP_MIN_CUR:
- result = False
- elif sleep_mode == "light_sleep":
- if average_val > LIGHT_SLEEP_MIN_CUR:
- result = False
- elif sleep_mode == "modem_sleep":
- if average_val > MODEM_SLEEP_MIN_CUR or average_val < LIGHT_SLEEP_MIN_CUR:
- result = False
- if result is False:
- NativeLog.add_trace_critical("[AutoSleep][ModeChange] %s failed" % sleep_mode)
- self.multimeter.draw_graph(current_line, SAMPLE_RATE, "%s_fail" % sleep_mode, Y_AXIS_LABEL)
-
- time.sleep(5)
- return result
-
- def sleep_current_measure(self, sleep_mode):
- result = True
-
- NativeLog.add_prompt_trace("[AutoSleep][CurrentMeasure] %s start" % sleep_mode)
- # choose sleep mode
- sleep_mode_enum = SLEEP_MODE[sleep_mode]
- # change GPIO to make sure target exit sleep mode, so it can process SSC commands
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- # set sleep mode
- self.serial_write_line("AT1", "AT+SLEEP=%d" % sleep_mode_enum)
- self.check_response("AT1", "OK")
- self.check_response("SSC2", "+GPIO_SET:OK")
-
- NativeLog.add_prompt_trace("[AutoSleep][CurrentMeasure] set mode done")
- time.sleep(10)
- # measure current
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE,
- sample_num=SAMPLE_NUM,
- max_value=MAX_VALUE)
- self.multimeter.draw_graph(current_line, SAMPLE_RATE, sleep_mode, Y_AXIS_LABEL)
- NativeLog.add_prompt_trace("[AutoSleep][CurrentMeasure] measure done")
- return result
-
- def light_sleep_wakeup(self):
- result = True
- NativeLog.add_prompt_trace("[AutoSleep][LightSleepWakeup] start")
-
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(1)
- self.serial_write_line("AT1", "")
- time.sleep(1)
- self.check_response("SSC2", "+GPIO_SET:OK", timeout=1)
-
- for i in range(10):
- self.serial_write_line("SSC2", "gpio -G -p %d" % self.sleep_wakeup_ind_pin)
- if self.check_response("SSC2", "+GPIO_GET:0", timeout=0.73) is True:
- break
- else:
- NativeLog.add_prompt_trace("AT Sleep wakeup pin is not correct when in sleep")
-
- # check if respond to uart
- self.flush_data("AT1")
- for i in range(60):
- self.serial_write("AT1", "a")
- time.sleep(0.43)
- time.sleep(0.1)
- respond_data = self.serial_read_data("AT1")
- if len(respond_data) >= 60:
- NativeLog.add_trace_critical("[AutoSleep][light sleep wakeup] "
- "Failed when recving data during sleep, %d" % len(respond_data))
- result = False
-
- NativeLog.add_prompt_trace("[AutoSleep][LightSleepWakeup] check on sleep mode done")
-
- # change GPIO to make target wakeup
- self.serial_write_line("SSC2", "gpio -L -p %d -t 0" % GPIO_WAKE_UP)
- self.check_response("SSC2", "+GPIO_SET:OK")
- time.sleep(0.01)
-
- for i in range(3):
- self.serial_write_line("SSC2", "gpio -G -p %d" % self.sleep_wakeup_ind_pin)
- if self.check_response("SSC2", "+GPIO_GET:1") is False:
- NativeLog.add_prompt_trace("AT Sleep wakeup pin is not correct when wakeup")
-
- self.serial_write_line("AT1", "")
- time.sleep(1)
- self.flush_data("AT1")
- for i in range(60):
- self.serial_write("AT1", "a")
- time.sleep(0.043)
- time.sleep(0.1)
- respond_data = self.serial_read_data("AT1")
- if len(respond_data) < 60:
- NativeLog.add_trace_critical("[AutoSleep][light sleep wakeup] "
- "Failed when recving data during wakeup, %d" % len(respond_data))
- result = False
-
- NativeLog.add_prompt_trace("[AutoSleep][LightSleepWakeup] check on wakeup mode done")
- self.serial_write_line("AT1", "")
- # restore GPIO level
- self.serial_write_line("SSC2", "gpio -L -p %d -t 1" % GPIO_WAKE_UP)
- time.sleep(2)
- return result
-
- def cleanup(self):
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- self.serial_write_line("AT1", "")
- self.serial_write_line("AT1", "AT+RST")
- self.check_response("SSC2", "+GPIO_SET:OK")
- self.check_response("AT1", "ready")
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
-
- try:
- test_mode = self.test_mode
- test_count = self.test_count
- sleep_mode = self.sleep_mode
- except StandardError, e:
- return
-
- # make sure enter modem sleep mode before start test
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- self.serial_write_line("AT1", "AT+RST")
- self.check_response("SSC2", "+GPIO_SET:OK")
- self.check_response("AT1", "ready")
- self.check_response("AT1", "WIFI GOT IP")
- # set AT light sleep wakeup pin
- self.serial_write_line("AT1", "AT+WAKEUPGPIO=1,%d,0" % self.sleep_wake_pin)
- self.check_response("AT1", "OK")
-
- # start test
- if "mode_change" in test_mode:
- for i in range(test_count):
- result = self.sleep_mode_change(random.choice(SLEEP_MODE_LIST))
-
- elif "measure_current" in test_mode:
- for i in range(test_count):
- for mode in sleep_mode:
- result = self.sleep_current_measure(mode)
- pass
- elif "gpio_wakeup" in test_mode:
- # change GPIO to make sure target exit sleep mode, so it can process SSC commands
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- # config wakeup gpio
- self.serial_write_line("AT1", "AT+WAKEUPGPIO=1,%d,0,%d,1" % (self.sleep_wake_pin, self.sleep_wakeup_ind_pin))
- self.check_response("AT1", "OK")
- # set sleep mode
- self.serial_write_line("AT1", "AT+SLEEP=%d" % SLEEP_MODE["light_sleep"])
- self.check_response("AT1", "OK")
- self.check_response("SSC2", "+GPIO_SET:OK")
-
- for i in range(test_count):
- result = self.light_sleep_wakeup()
- pass
- pass
-
-
-def main():
- pass
-
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-from TCAction import PerformanceTCBase
-import time
-import socket
-import threading
-import Queue
-import re
-import random
-from NativeLog import NativeLog
-
-
-SEND_CMD = ("CIPSEND, CIPSENDBUF", "CIPSENDEX")
-
-
-class RecvThread(threading.Thread):
- def __init__(self, test_action):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.test_action = test_action
- self.exit_flag = threading.Event()
- pass
-
- def run(self):
- data = ""
- ipd_line = re.compile("IPD,\d,\d+:")
- recv_bytes_line = re.compile("Recv \d+ bytes")
- allow_send_line = re.compile("OK\r\n>")
- send_ok_line = re.compile("SEND OK")
- while self.exit_flag.is_set() is False:
- flush_pos = 0
- data += self.test_action.serial_read_data("AT1")
- # do process IPD data
- match_set = ipd_line.findall(data)
- for match_line in match_set:
- link_id = match_line[4]
- flush_pos = data.find(match_line) + len(match_line)
- self.test_action.send_queue.put(link_id, 1)
- pass
- # do process send >
- match = allow_send_line.search(data)
- if match is not None:
- match_line = match.group()
- self.test_action.add_info_log("find OK >")
- self.test_action.send_allow_evt.set()
- pos = data.find(match_line) + len(match_line)
- flush_pos = pos if pos > flush_pos else flush_pos
- # do process Recv xx bytes
- match = recv_bytes_line.search(data)
- if match is not None:
- match_line = match.group()
- self.test_action.add_info_log("find Recv xx bytes")
- self.test_action.recv_data_evt.set()
- pos = data.find(match_line) + len(match_line)
- flush_pos = pos if pos > flush_pos else flush_pos
-
- match = send_ok_line.search(data)
- if match is not None:
- match_line = match.group()
- self.test_action.add_info_log("find send ok")
- self.test_action.send_ok_evt.set()
- pos = data.find(match_line) + len(match_line)
- flush_pos = pos if pos > flush_pos else flush_pos
- # pass
-
- # flush processed data
- if flush_pos > 0:
- data = data[flush_pos:]
-
- pass
-
- def exit(self):
- self.exit_flag.set()
- pass
-
-
-class TCPClientThread(threading.Thread):
- send_char = "A"
- sync_lock = threading.Lock()
-
- def __init__(self, test_action, pc_ip, target_ip, target_port, request_len, response_len, client_id,
- connect_timeout, recv_timeout):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.exit_flag = threading.Event()
- self.test_action = test_action
- self.pc_ip = pc_ip
- self.target_ip = target_ip
- self.target_port = target_port
- self.request_len = request_len
- self.response_len = response_len
- self.client_id = client_id
- self.connect_timeout = connect_timeout
- self.recv_timeout = recv_timeout
- pass
-
- @classmethod
- def get_send_char(cls):
- with cls.sync_lock:
- send_char = cls.send_char
- cls.send_char = chr(ord(send_char) + 1) if ord(send_char) < ord("Z") else "A"
- return send_char
- pass
-
- def run(self):
- while self.exit_flag.is_set() is False:
- exception_occurred = False
- client_sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
- client_sock.bind((self.pc_ip, 0))
- client_sock.settimeout(20)
- time1 = time.time()
- name = client_sock.getsockname()
-
- try:
- client_sock.connect((self.target_ip, self.target_port))
- except StandardError, e:
- exception_occurred = True
- self.test_action.add_critical_log("failed to connect succeed within 2 seconds %s, %d"
- % (name[0], name[1]))
- client_sock.close()
-
- time2 = time.time() - time1
- if exception_occurred is True:
- self.test_action.add_critical_log("connect timeout %f; ip is %s, port is %d"
- % (time2, name[0], name[1]))
- continue
- if time2 > self.connect_timeout:
- self.test_action.add_critical_log("connect time too long %f; ip is %s, port is %d"
- % (time2, name[0], name[1]))
-
- time.sleep(float(random.randint(0, 30))/100)
- send_char = self.get_send_char()
- data = send_char * self.request_len
- try:
- client_sock.send(data)
- except StandardError:
- NativeLog.add_trace_critical("send fail")
- # try:
- # data = client_sock.recv(1)
- # except socket.error, e:
- # self.handle_processing_fail("failed to receive data within 2 seconds")
- data_received = 0
- time1 = time.time()
- while data_received < self.response_len:
- try:
- data = client_sock.recv(4*1024)
- except StandardError, e:
- exception_occurred = True
- break
- data_received += len(data)
-
- time2 = time.time() - time1
- if exception_occurred is True or time2 > self.recv_timeout:
- self.test_action.add_critical_log("receive time too long %f; ip is %s, port is %d"\
- % (time2, name[0], name[1]))
- client_sock.close()
- time.sleep(float(random.randint(0, 30))/100)
- pass
- pass
-
- def exit(self):
- self.exit_flag.set()
- pass
-
-
-class SendThread(threading.Thread):
- def __init__(self, test_action, test_count, send_cmd, response_len, check_send_ok):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.test_action = test_action
- self.test_count = test_count
- self.send_cmd = send_cmd
- self.response_len = response_len
- self.check_send_ok = check_send_ok
- pass
-
- def run(self):
- send_char = "a"
- for i in xrange(self.test_count):
- link_id = self.test_action.send_queue.get(1)
-
- self.test_action.send_allow_evt.clear()
- self.test_action.serial_write_line("AT1", "AT+%s=%s,%d" % (self.send_cmd, link_id, self.response_len))
- self.test_action.add_info_log("write CIPSEND cmd")
-
- self.test_action.send_allow_evt.wait(10)
- if self.test_action.send_allow_evt.is_set() is False:
- self.test_action.add_critical_log("Failed to find OK > in 10s, test break")
- break
- self.test_action.send_allow_evt.clear()
-
- data = send_char * self.response_len
- send_char = chr(ord(send_char) + 1) if ord(send_char) < ord("z") else "a"
- self.test_action.recv_data_evt.clear()
- self.test_action.send_ok_evt.clear()
- self.test_action.serial_write("AT1", data)
- self.test_action.add_info_log("data write done")
- self.test_action.recv_data_evt.wait(10)
- if self.test_action.recv_data_evt.is_set() is False:
- self.test_action.add_critical_log("Failed to find Recv xx bytes in 10s, test break")
- break
- self.test_action.recv_data_evt.clear()
- # if self.test_action.send_cmd == "CIPSEND":
- if self.check_send_ok is True:
- self.test_action.send_ok_evt.wait(10)
- if self.test_action.send_ok_evt.is_set() is False:
- self.test_action.add_critical_log("Failed to find SEND OK in 10s, test break")
- break
- self.test_action.add_info_log("send ok")
- self.test_action.send_ok_evt.clear()
- pass
- pass
-
-
-class SoftAPServer(PerformanceTCBase.PerformanceTCBase):
- def __init__(self, name, test_env, cmd_set, timeout=120, log_path=None):
- PerformanceTCBase.PerformanceTCBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # init value for ip and port
- self.pc_ip = "pc_ip"
- self.server_port = "test_tcp_port1"
- self.send_cmd = "CIPSEND"
- self.baudrate = 115200
- self.rtscts = 3
- self.test_count = 1000
- self.request_len = 500
- self.response_len = 1600
- self.check_send_ok = True
- self.concurrent_connections = 5
- self.connect_timeout = 3
- self.receive_timeout = 2
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.send_queue = Queue.Queue(maxsize=100)
- self.send_allow_evt = threading.Event()
- self.recv_data_evt = threading.Event()
- self.send_ok_evt = threading.Event()
-
- pass
-
- @staticmethod
- def add_critical_log(data):
- NativeLog.add_trace_critical(data+"\r\n")
- pass
-
- @staticmethod
- def add_info_log(data):
- NativeLog.add_trace_info(data)
-
- def process(self):
- # step0, use initial condition AP3 (8266 as AP, PC connected to 8266, multiple connection)
- pc_ip = self.get_parameter(self.pc_ip)
- target_ip = self.get_parameter("target_ip")
- server_port = self.get_parameter(self.server_port)
- send_cmd = self.send_cmd
- test_count = self.test_count
- baudrate = self.baudrate
- rtscts = self.rtscts
- concurrent_connections = self.concurrent_connections
- check_send_ok = self.check_send_ok
- connect_timeout = self.connect_timeout
- receive_timeout = self.receive_timeout
-
- self.serial_write_line("AT1", "AT+UART_CUR=%d,8,1,0,%d" % (baudrate, rtscts))
- self.check_response("AT1", "OK\r\n")
- self.reconfig_serial_port("AT1", baudrate, rtscts)
- # step1, create server on 8266, create client thread
- self.serial_write_line("AT1", "AT+CIPSERVER=1,%d" % server_port)
- self.check_response("AT1", "OK")
-
- recv_thread = RecvThread(self)
- send_thread = SendThread(self, test_count, send_cmd, self.response_len, check_send_ok)
- send_thread.start()
- recv_thread.start()
- client_thread_list = [None] * concurrent_connections
- for i in range(concurrent_connections):
- client_thread_list[i] = TCPClientThread(self, pc_ip, target_ip, server_port,
- self.request_len, self.response_len, i,
- connect_timeout, receive_timeout)
- client_thread_list[i].start()
- pass
-
- # step3, wait sending thread join
- send_thread.join()
-
- recv_thread.exit()
- recv_thread.join()
-
- for i in range(concurrent_connections):
- client_thread_list[i].exit()
- client_thread_list[i].join()
- pass
-
- self.serial_write_line("AT1", "AT+UART_CUR=115200,8,1,0,3")
- self.check_response("AT1", "OK\r\n")
- self.restore_serial_port("AT1")
- self.set_result("Succeed")
- pass
- pass
-
-
-def main():
- pass
-
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-
-
-class TCPClientMulti(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
-
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- self.max_conn = test_env.get_variable_by_name("max_conn")[1]
- pass
-
- def cleanup(self):
- TCActionBase.CommonTCActionBase.cleanup(self)
- # turn on logging
- self.test_env.uart_ports["AT1"].set_uart_logging_flag(True)
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- # configurable params
- try:
- at_send_length = self.at_send_length
- soc_send_length = self.soc_send_length
- test_count = self.test_count
- tx_enable = self.tx_enable
- rx_enable = self.rx_enable
- enable_log = self.enable_log
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPClientMulti script, error is %s" % e)
- raise StandardError("Error configuration")
- # configurable params
-
- # step1
- checker_stings = ["R SOC_COM L OK"]
- test_action_string = ["SOC SOC1 LISTEN <test_tcp_port1>"]
- fail_string = "Fail, Fail on create PC server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step2
- for i in range(0, self.max_conn):
- checker_stings = ["R SOC1 C +ACCEPT", "R AT1 NC CLOSE L OK"]
- test_action_strings = ["ATC AT1 CIPSTART %d \"TCP\" <pc_ip> <test_tcp_port1>" % i]
- fail_string = "Fail, Fail on connect to PC server"
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- checker_stings = ["R SOC_COM L OK"]
- test_action_strings = ["SOC SOC1 ACCEPT SOC%d" % (i+2)]
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- # step 3
- # turn off AT UART logging
- if enable_log is False:
- self.test_env.uart_ports["AT1"].set_uart_logging_flag(False)
-
- data = "A" * at_send_length
- fail_string = "Fail, Fail on send and recv data"
-
- for j in range(0, test_count):
-
- if tx_enable is True:
- for i in range(0, self.max_conn):
- checker_stings = ["P AT1 C >"]
- test_action_strings = ["ATS AT1 AT+CIPSEND=%d,%d" % (i, at_send_length)]
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=50) is False:
- NativeLog.add_trace_critical("Fail on target send command for link %d" % i)
- NativeLog.add_trace_critical("Test count is %d" % j)
- return
-
- checker_stings = ["P SOC%d RL %d" % ((i+2), at_send_length), "P AT1 C OK"]
- test_action_strings = ["ATSO AT1 %s" % data]
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=50) is False:
- NativeLog.add_trace_critical("Fail on target send for link %d, send or recv error" % i)
- NativeLog.add_trace_critical("Test count is %d" % j)
- return
-
- if rx_enable is True:
- checker_stings = []
- test_action_strings = []
- for i in range(0, self.max_conn):
- checker_stings.extend(["P AT1 DL %d+%d" % (i, soc_send_length)])
- test_action_strings.extend(["SOC SOC%d SEND %d %s" % (i+2, soc_send_length, data)])
-
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=50) is False:
- NativeLog.add_trace_critical("Fail to receive PC sent data")
- NativeLog.add_trace_critical("Test count is %d" % j)
- return
-
- # finally, execute done
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
-
+++ /dev/null
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-
-
-class TCPClientSingle(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.link_type = "TCP"
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
-
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def cleanup(self):
- TCActionBase.CommonTCActionBase.cleanup(self)
- # turn on logging
- self.test_env.uart_ports["AT1"].set_uart_logging_flag(True)
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- # configurable params
- try:
- at_send_length = self.at_send_length
- soc_send_length = self.soc_send_length
- test_count = self.test_count
- tx_enable = self.tx_enable
- rx_enable = self.rx_enable
- enable_log = self.enable_log
- link_type = self.link_type
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPClientSingle script, error is %s" % e)
- raise StandardError("Error configuration")
- # configurable params
-
- # step1
- checker_stings = ["R SOC_COM L OK"]
- if link_type == "TCP":
- test_action_string = ["SOC SOC1 LISTEN <test_tcp_port1>"]
- elif link_type == "SSL":
- test_action_string = ["SOC SOC1 SLISTEN <test_tcp_port1>"]
- pass
- else:
- raise StandardError()
- fail_string = "Fail, Fail on create PC server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step2
- if link_type == "TCP":
- checker_stings = ["R SOC1 C +ACCEPT", "R AT1 NC CLOSE L OK"]
- test_action_strings = ["ATC AT1 CIPSTART \"TCP\" <pc_ip> <test_tcp_port1>"]
- elif link_type == "SSL":
- checker_stings = ["R SOC1 C +SACCEPT", "R AT1 NC CLOSE L OK"]
- test_action_strings = ["ATC AT1 CIPSTART \"SSL\" <pc_ip> <test_tcp_port1>"]
- else:
- raise StandardError()
- fail_string = "Fail, Fail on connect to PC server"
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- checker_stings = ["R SOC_COM L OK"]
- test_action_strings = ["SOC SOC1 ACCEPT SOC2"]
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- # step 3
- # turn off AT UART logging
- if enable_log is False:
- self.test_env.uart_ports["AT1"].set_uart_logging_flag(False)
-
- for j in range(0, test_count):
- data = "A" * at_send_length
- fail_string = "Fail, Fail on send and recv data"
-
- if tx_enable is True:
- checker_stings = ["P AT1 C >"]
- test_action_strings = ["ATS AT1 AT+CIPSEND=%d" % at_send_length]
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=20) is False:
- NativeLog.add_trace_critical("Fail on target send command")
- NativeLog.add_trace_critical("Test count is %d" % j)
- return
-
- checker_stings = ["P SOC2 RL %d" % at_send_length, "P AT1 C OK"]
- test_action_strings = ["ATSO AT1 %s" % data]
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=20) is False:
- NativeLog.add_trace_critical("Fail on target send, send or recv error")
- NativeLog.add_trace_critical("Test count is %d" % j)
- return
-
- if rx_enable is True:
- checker_stings = ["P AT1 DL S+%d" % soc_send_length]
- test_action_strings = ["SOC SOC2 SEND %d" % soc_send_length]
-
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=20) is False:
- NativeLog.add_trace_critical("Fail to receive PC sent data")
- NativeLog.add_trace_critical("Test count is %d" % j)
- return
-
- # finally, execute done
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
-
+++ /dev/null
-import time
-import os
-import socket
-import ssl
-
-from NativeLog import NativeLog
-from TCAction import PerformanceTCBase
-from Utility import MakeFolder
-
-
-SEND_CMD = ("CIPSEND, CIPSENDBUF", "CIPSENDEX")
-
-LOG_PATH = os.path.join("AT_LOG", "Performance", "AT_SEND")
-
-
-class TCPSendPerf(PerformanceTCBase.PerformanceTCBase):
- def __init__(self, name, test_env, cmd_set, timeout=120, log_path=None):
- PerformanceTCBase.PerformanceTCBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # init value for ip and port
- self.pc_ip = "pc_ip"
- self.server_port = "test_tcp_port1"
- self.packet_len = 1
- self.test_count = 100
- self.send_cmd = "CIPSEND"
- self.baudrate = 115200
- self.rtscts = 0
- self.link_type = "TCP"
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- pass
-
- def process(self):
- pc_ip = self.get_parameter(self.pc_ip)
- server_port = self.get_parameter(self.server_port)
- packet_len = self.packet_len
- test_count = self.test_count
- send_cmd = self.send_cmd
- baudrate = self.baudrate
- rtscts = self.rtscts
- result = True
- link_type = self.link_type
-
- # create TCP connection
- sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
- sock.bind((pc_ip, server_port))
- sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
- sock.settimeout(10)
- sock.listen(1)
-
- self.serial_write_line("AT1", "AT+CIPSTART=0,\"%s\",\"%s\",%d" % (link_type, pc_ip, server_port))
- sock_client = sock.accept()[0]
- if link_type == "SSL":
- sock_client = ssl.wrap_socket(sock_client,
- server_side=True,
- certfile=os.path.join("Certificate", "default.cer"),
- keyfile=os.path.join("Certificate", "default.key"))
- pass
- if self.check_response("AT1", "OK") is False:
- result = False
-
- self.serial_write_line("AT1", "AT+UART_CUR=%d,8,1,0,%d" % (baudrate, rtscts))
- if self.check_response("AT1", "OK\r\n") is False:
- result = False
-
- self.reconfig_serial_port("AT1", baudrate, rtscts)
-
- # restore to read line mode
- self.test_env.uart_ports["AT1"].set_performance_flag(flag=True)
-
- sock_client.settimeout(0)
-
- for _dummy in range(1):
- if result is False:
- NativeLog.add_trace_critical("Fail to create TCP connection")
- break
- # send TCP packets
- data = "A" * packet_len
- time1 = time.time()
-
- i = 0
- data_recv_len = 0
- while i < test_count:
- self.serial_write_line("AT1", "AT+%s=0,%d" % (send_cmd, packet_len))
- if self.check_response("AT1", ">", 0.05) is False:
- continue
-
- i += 1
- self.serial_write("AT1", data)
- if send_cmd == "CIPSENDBUF":
- result = self.check_response("AT1", "Recv %d bytes" % packet_len, 3)
- else:
- result = self.check_response("AT1", "SEND OK", 3)
- if result is False:
- NativeLog.add_trace_critical("Fail during sending data")
- break
- try:
- if link_type == "TCP":
- data_recv = sock_client.recv(10*1460)
- elif link_type == "SSL":
- data_recv = sock_client.read(10*1024)
- else:
- raise StandardError()
- data_recv_len += len(data_recv)
- except socket.error, e:
- if e.errno == 10035:
- pass
- elif e.message == "The read operation timed out":
- pass
- else:
- NativeLog.add_exception_log(e)
- else:
- self.set_result("Succeed")
-
- time2 = time.time()
-
- folder_path = MakeFolder.make_folder(LOG_PATH)
- file_name = os.path.join(folder_path,
- "%s_%s_%s.log" % (send_cmd,
- packet_len,
- time.strftime("%d%H%M%S", time.localtime())))
- with open(file_name, "ab+") as f:
- f.write("\r\n[performance] %f packets per second "
- "(including failed send operation)"
- % (test_count/(time2-time1)))
- f.write("\r\n[performance] %f Kbps" % (data_recv_len/(125*(time2-time1))))
-
- self.serial_write_line("AT1", "AT+UART_CUR=115200,8,1,0,3")
- self.check_response("AT1", "OK\r\n")
- self.restore_serial_port("AT1")
-
- # restore to read line mode
- self.test_env.uart_ports["AT1"].set_performance_flag(flag=False)
- # close socket
- sock.close()
- sock_client.close()
- pass
-
-
-def main():
- pass
-
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-
-
-class TCPServerMulti(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
-
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- self.max_conn = test_env.get_variable_by_name("max_conn")[1]
- pass
-
- def cleanup(self):
- TCActionBase.CommonTCActionBase.cleanup(self)
- self.test_env.uart_ports["AT1"].set_uart_logging_flag(True)
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- # configurable params
- try:
- at_send_length = self.at_send_length
- soc_send_length = self.soc_send_length
- test_count = self.test_count
- target_ip_str = self.target_ip_str
- enable_log = self.enable_log
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPSeverMulti script, error is %s" % e)
- raise StandardError("Error configuration")
- # configurable params
-
- # turn off AT UART logging
- if enable_log is False:
- self.test_env.uart_ports["AT1"].set_uart_logging_flag(False)
-
- # step1 create TCP server on target
- checker_stings = ["R AT1 L OK"]
- test_action_string = ["ATC AT1 CIPSERVER 1 <test_tcp_port1>"]
- fail_string = "Fail, Fail on create target TCP server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step2 PC connect to target server
- for j in range(0, test_count):
- data = "A" * at_send_length
- fail_string = "Fail, Fail on connect to target server"
-
- # check if all connection can send data on target
- checker_stings = ["P AT1 C OK"]
- test_action_strings = ["ATS AT1 AT+CIPCLOSE=%d" % self.max_conn]
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=100) is False:
- NativeLog.add_trace_critical("Fail to close all connection")
- NativeLog.add_trace_critical("Test count is %d" % j)
- continue # if fail on this step, we can recover and continue
-
- # a) do connect
- fail_flag = False
- for i in range(0, self.max_conn):
- checker_stings = ["P SOC_COM C OK", "P AT1 C CONNECT"]
- test_action_strings = ["SOC SOC%d CONNECT <test_tcp_port1> %s" % (i+1, target_ip_str)]
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=50) is False:
- NativeLog.add_trace_critical("Fail to connect to target for link %d" % i)
- NativeLog.add_trace_critical("Test count is %d" % j)
- # if fail on this step, we can recover and continue
- fail_flag = True
- break
-
- if fail_flag is True:
- # fail on step a)
- continue
-
- # b) check if all connection can recv data on target
- checker_stings = []
- test_action_strings = []
- for i in range(0, self.max_conn):
- checker_stings.extend(["P AT1 DL %d+%d" % (i, soc_send_length)])
- test_action_strings.extend(["SOC SOC%d SEND %d" % (i+1, soc_send_length)])
-
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=50) is False:
- NativeLog.add_trace_critical("Fail to receive data from PC")
- NativeLog.add_trace_critical("Test count is %d" % j)
- continue # if fail on this step, we can recover and continue
-
- # c) check if all connection can send data on target
- for i in range(0, self.max_conn):
- checker_stings = ["P AT1 C >"]
- test_action_strings = ["ATS AT1 AT+CIPSEND=%d,%d" % (i, at_send_length)]
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=50) is False:
- NativeLog.add_trace_critical("Fail on target send command for link %d" % i)
- NativeLog.add_trace_critical("Test count is %d" % j)
- return
-
- checker_stings = ["P SOC%d RL %d" % ((i+1), at_send_length), "P AT1 C OK"]
- test_action_strings = ["ATSO AT1 %s" % data]
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=50) is False:
- NativeLog.add_trace_critical("Fail on target send for link %d, send or recv error" % i)
- NativeLog.add_trace_critical("Test count is %d" % j)
- return
-
- # finally, execute done
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
-
+++ /dev/null
-from TCAction import TCActionBase
-from TCAction import CmdHandler
-from NativeLog import NativeLog
-import time
-import random
-import string
-import os
-
-
-class TransparentResultCheckCntx(TCActionBase.ResultCheckContext):
-
- def __init__(self, test_action, test_env, name):
- TCActionBase.ResultCheckContext.__init__(self, test_action, test_env, name)
- self.result_array = []
- self.at_data_recv_total = 0
- self.pc_data_recv_total = 0
- self.temp_data_at2wifi = ""
- self.temp_data_wifi2at = ""
- pass
-
- def run(self):
- validation_required = self.test_action.data_validation
- path = os.path.split(self.test_action.log_file_name)
- file_name_at2wifi = os.path.join(path[0], "%s_at2wifi_pc.bin" % self.test_action.timestamp)
- file_name_wifi2at = os.path.join(path[0], "%s_wifi2at_at.bin" % self.test_action.timestamp)
-
- while True:
- exit_flag = self.wait_exit_event(2)
- # force exit
- if exit_flag is True:
- break
- rx_len = 0
- tx_len = 0
- try:
- self.lock_data()
- rx_port = filter(lambda x: x[0] == "AT1", self.data_cache)
- tx_port = filter(lambda x: x[0] == "SOC2", self.data_cache)
- self.data_cache = []
- finally:
- self.unlock_data()
-
- if len(rx_port) == 1:
- rx_len = len(rx_port[0][1])
- self.at_data_recv_total += rx_len
- if validation_required is True:
- self.temp_data_wifi2at += rx_port[0][1]
- if len(tx_port) == 1:
- tx_len = len(tx_port[0][1])
- self.pc_data_recv_total += tx_len
- if validation_required is True:
- self.temp_data_at2wifi += tx_port[0][1]
-
- self.result_array.append(["TX %8d %s" %
- (tx_len/2, time.strftime("%m-%d %H:%M:%S", time.localtime()))])
- self.result_array.append(["RX %8d %s" %
- (rx_len/2, time.strftime("%m-%d %H:%M:%S", time.localtime()))])
-
- if validation_required is True:
- with open(file_name_at2wifi, "ab+") as f:
- f.write(self.temp_data_at2wifi)
- with open(file_name_wifi2at, "ab+") as f:
- f.write(self.temp_data_wifi2at)
-
- def get_validation_data(self):
- return self.temp_data_at2wifi, self.temp_data_wifi2at
-
- def get_test_results(self):
- return self.result_array, self.at_data_recv_total, self.pc_data_recv_total
-
-
-class TCPTransparent(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- self.timestamp = time.strftime("%d%H%M%S", time.localtime())
-
- pass
-
- def cleanup(self):
- # close current result check context
- self.result_cntx.stop_thread()
- self.result_cntx.join()
- # turn on logging
- self.test_env.uart_ports["AT1"].set_uart_logging_flag(True)
- # restore to read line mode
- self.test_env.uart_ports["AT1"].set_performance_flag(flag=False)
-
- # make sure enter condition that can respond to AT command
- self.result_cntx = TCActionBase.ResultCheckContext(self, self.test_env, self.tc_name)
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- checker_stings = ["ATR AT1 R *"]
- test_action_string = ["ATSO AT1 +++", "DELAY 0.1", "ATS AT1 AT"]
- fail_string = "Fail, Fail to reconfig UART"
-
- result = False
-
- while result is False:
- result = self.load_and_exe_one_step(checker_stings, test_action_string, fail_string)
-
- # reset baudrate
-
- checker_stings = ["ATR AT1 L OK"]
- test_action_string = ["ATS AT1 AT+UART_CUR=%d,8,1,0,3" % 115200]
- fail_string = "Fail, Fail to reconfig UART"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- test_action = CmdHandler.parse_action("UART AT1 %d" % 115200, self.test_env)
- CmdHandler.do_actions(test_action, self.test_env)
- TCActionBase.CommonTCActionBase.cleanup(self)
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- try:
- # configurable params
- # at send data len
- at_send_data_len = self.at_send_data_len
- # pc send data len
- pc_send_data_len = self.pc_send_data_len
- # sleep time between each send, test count
- test_dispatch = self.test_dispatch
- # enable target TCP TX
- tx_enable = self.tx_enable
- # enable target TCP RX
- rx_enable = self.rx_enable
- # if need to record tx/rx data to file
- data_validation = self.data_validation
- # UART baudrate
- baudrate = self.baudrate
- # HW flow control
- rtscts = self.rtscts
- # configurable params
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPTransparent script, error is %s" % e)
- raise StandardError("Error configuration")
-
- # step0 reconfig baudrate
- if baudrate != 0:
- checker_stings = ["R AT1 L OK"]
- test_action_string = ["ATS AT1 AT+UART_CUR=%d,8,1,0,%d" % (baudrate, rtscts)]
- fail_string = "Fail, Fail to reconfig UART"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
- test_action = CmdHandler.parse_action("UART AT1 %d %d" % (baudrate, rtscts), self.test_env)
- CmdHandler.do_actions(test_action, self.test_env)
-
- # step1 create PC server
- checker_stings = ["R SOC_COM L OK"]
- test_action_string = ["SOC SOC1 LISTEN <test_tcp_port1>"]
- fail_string = "Fail, Fail on create PC server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step2 target connect, switch to transparent
- checker_stings = ["R SOC1 C +ACCEPT", "R AT1 NC CLOSE L OK"]
- test_action_strings = ["ATC AT1 CIPSTART \"TCP\" <pc_ip> <test_tcp_port1>"]
- fail_string = "Fail, Fail on connect to PC server"
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- checker_stings = ["R SOC_COM L OK"]
- test_action_strings = ["SOC SOC1 ACCEPT SOC2"]
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- checker_stings = ["R AT1 L OK"]
- test_action_strings = ["ATS AT1 AT+CIPMODE=1"]
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- checker_stings = ["R AT1 C >"]
- test_action_strings = ["ATS AT1 AT+CIPSEND"]
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- # step 3
- # turn off AT UART logging
- self.test_env.uart_ports["AT1"].set_uart_logging_flag(False)
- # uart try to return data ASAP
- self.test_env.uart_ports["AT1"].set_performance_flag(flag=True)
-
- # switch to new result check context
- self.result_cntx.stop_thread()
- self.result_cntx.join()
- self.result_cntx = TransparentResultCheckCntx(self, self.test_env, self.tc_name)
- self.result_cntx.start()
-
- at_data_sent_total = 0
- pc_data_sent_total = 0
- at2wifi_data = ""
- wifi2at_data = ""
-
- for j in range(0, len(at_send_data_len) * len(pc_send_data_len)):
- at_data_len = at_send_data_len[j / len(pc_send_data_len)]
- pc_data_len = pc_send_data_len[j % len(pc_send_data_len)]
- # data = "".join(["A"] * at_data_len)
- chars = string.ascii_lowercase
- data_list = ["".join([random.choice(chars) for m in range(at_data_len-16)])]
- chars = string.ascii_uppercase
- data_list.append("".join([random.choice(chars) for m in range(at_data_len-16)]))
- chars = string.digits
- data_list.append("".join([random.choice(chars) for m in range(at_data_len-16)]))
-
- for i in range(0, len(test_dispatch)):
- for k in range(0, test_dispatch[i][1]):
- data_str = "%.2d%.2d%.10d%s\r\n" % (j, i, k, data_list[k % 3])
- # time1 = time.time()
- if tx_enable is True:
- test_action = CmdHandler.parse_action("ATSO AT1 %s" % data_str, self.test_env)
- CmdHandler.do_actions(test_action, self.test_env)
- at_data_sent_total += at_data_len
- if data_validation is True:
- at2wifi_data += data_str
- # time2 = time.time()
- if rx_enable is True:
- if tx_enable is True:
- test_action = CmdHandler.parse_action("SOC SOC2 SENDNB %d %s" % (pc_data_len, data_str),
- self.test_env)
- else:
- test_action = CmdHandler.parse_action("SOC SOC2 SEND %d %s" % (pc_data_len, data_str),
- self.test_env)
- sent_len = CmdHandler.do_action(test_action[0], self.test_env)
- pc_data_sent_total += sent_len
- if data_validation is True:
- wifi2at_data += data_str[:sent_len]
- # time3 = time.time()
- # if time3-time2 > 0.1:
- # break
- if test_dispatch[i][0] != 0:
- time.sleep(test_dispatch[i][0])
- time.sleep(3) # wait 3 seconds
-
- # write send data to file for data validation
- if data_validation is True:
- path = os.path.split(self.log_file_name)
- with open(os.path.join(path[0], "%s_at2wifi_at.bin" % self.timestamp), "ab+") as f:
- f.write(at2wifi_data)
- with open(os.path.join(path[0], "%s_wifi2at_pc.bin" % self.timestamp), "ab+") as f:
- f.write(wifi2at_data)
-
- temp_data_at2wifi, temp_data_wifi2at = self.result_cntx.get_validation_data()
- if temp_data_at2wifi != at2wifi_data:
- NativeLog.add_prompt_trace("[Validation Fail] at2wifi")
- if temp_data_wifi2at != wifi2at_data:
- NativeLog.add_prompt_trace("[Validation Fail] wifi2at")
-
- throughput_results, at_data_recv_total, pc_data_recv_total = self.result_cntx.get_test_results()
- result_str = "AT sent %15d\r\n" % at_data_sent_total
- result_str += "PC recv %15d\r\n" % pc_data_recv_total
- result_str += "PC sent %15d\r\n" % pc_data_sent_total
- result_str += "AT recv %15d\r\n" % at_data_recv_total
- for _result in throughput_results:
- result_str += "%s\r\n" % _result
- with open(self.log_file_name, "ab+") as f:
- f.write(result_str)
-
- # finally, execute done
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
-
+++ /dev/null
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-import time
-
-
-class UDPMulti(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
-
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- self.max_conn = test_env.get_variable_by_name("max_conn")[1]
- pass
-
- def cleanup(self):
- TCActionBase.CommonTCActionBase.cleanup(self)
- # turn on logging
- self.test_env.uart_ports["AT1"].set_uart_logging_flag(True)
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- # configurable params
- try:
- at_send_length = self.at_send_length
- soc_send_length = self.soc_send_length
- test_count = self.test_count
- target_ip_str = self.target_ip_str
- tx_enable = self.tx_enable
- rx_enable = self.rx_enable
- enable_log = self.enable_log
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for UDPMulti script, error is %s" % e)
- raise StandardError("Error configuration")
- # configurable params
-
- # step1, bind one PC UDP port
- checker_stings = ["R SOC_COM L OK"]
- test_action_string = ["SOC SOC1 BIND <test_udp_port9>"]
- fail_string = "Fail, Fail on binding socket"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step 2 create 5 UDP link on target
- for i in range(0, self.max_conn):
- checker_stings = ["R AT1 C CONNECT L OK"]
- test_action_strings = ["ATC AT1 CIPSTART %d \"UDP\" <pc_ip> <test_udp_port9> <test_udp_port%d> 1"
- % (i, i+1)]
- fail_string = "Fail, Fail on create UDP link"
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- # step 3 send recv data
- # turn off AT UART logging
- if enable_log is False:
- self.test_env.uart_ports["AT1"].set_uart_logging_flag(False)
-
- for j in range(0, test_count):
- data = "A" * at_send_length
- fail_string = "Fail, Fail on send/recv data"
-
- if tx_enable is True:
- # target link 0-5 sendto PC
- for i in range(0, self.max_conn):
- checker_stings = ["P AT1 C >"]
- test_action_strings = ["ATS AT1 AT+CIPSEND=%d,%d" % (i, at_send_length)]
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=20) is False:
- NativeLog.add_trace_critical("Target fail on send cmd on link %d" % i)
- NativeLog.add_trace_critical("Test count is %d" % j)
-
- checker_stings = ["P SOC_COM C RECV_LEN=%d P <test_udp_port%d>" % (at_send_length, i+1),
- "P AT1 C OK"]
- test_action_strings = ["ATSO AT1 %s" % data]
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=20) is False:
- NativeLog.add_trace_critical("Target sent UDP packet error on link %d" % i)
- NativeLog.add_trace_critical("Test count is %d" % j)
-
- if rx_enable is True:
- # PC send to target
- checker_stings = []
- test_action_strings = []
- for i in range(0, self.max_conn):
- checker_stings.extend(["P AT1 DL %d+%d" % (i, soc_send_length)])
- test_action_strings.extend(["SOC SOC1 SENDTO %d <test_udp_port%d> %s"
- % (soc_send_length, i+1, target_ip_str)])
-
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=20) is False:
- NativeLog.add_trace_critical("PC sent UDP packet error")
- NativeLog.add_trace_critical("Test count is %d" % j)
-
- # finally, execute done
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
-
+++ /dev/null
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-
-
-class UDPSingle(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
-
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def cleanup(self):
- TCActionBase.CommonTCActionBase.cleanup(self)
- # turn on logging
- self.test_env.uart_ports["AT1"].set_uart_logging_flag(True)
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- # configurable params
- try:
- at_send_length = self.at_send_length
- soc_send_length = self.soc_send_length
- test_count = self.test_count
- target_ip_str = self.target_ip_str
- tx_enable = self.tx_enable
- rx_enable = self.rx_enable
- enable_log = self.enable_log
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for UDPSingle script, error is %s" % e)
- raise StandardError("Error configuration")
- # configurable params
-
- # step1, bind one PC UDP port
- checker_stings = ["R SOC_COM L OK"]
- test_action_string = ["SOC SOC1 BIND <test_udp_port9>"]
- fail_string = "Fail, Fail on binding UDP socket"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step 2 create UDP link on target
- checker_stings = ["R AT1 C CONNECT L OK"]
- test_action_strings = ["ATC AT1 CIPSTART \"UDP\" <pc_ip> <test_udp_port9> <test_udp_port1> 1"]
- fail_string = "Fail, Fail on create UDP link"
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- # step 3 send recv data
- # turn off AT UART logging
- if enable_log is False:
- self.test_env.uart_ports["AT1"].set_uart_logging_flag(False)
-
- for j in range(0, test_count):
- data = "A" * at_send_length
- fail_string = "Fail, Fail on send recv data"
-
- # target sendto PC
- if tx_enable is True:
- checker_stings = ["P AT1 C >"]
- test_action_strings = ["ATS AT1 AT+CIPSEND=%d" % at_send_length]
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=20) is False:
- NativeLog.add_trace_critical("Target fail on send cmd")
- NativeLog.add_trace_critical("Test count is %d" % j)
-
- checker_stings = ["P SOC_COM C RECV_LEN=%d P <test_udp_port1>" % at_send_length,
- "P AT1 C OK"]
- test_action_strings = ["ATSO AT1 %s" % data]
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=20) is False:
- NativeLog.add_trace_critical("Target sent UDP packet error")
- NativeLog.add_trace_critical("Test count is %d" % j)
-
- # PC send to target
- if rx_enable is True:
- checker_stings = (["P AT1 DL S+%d" % soc_send_length])
- test_action_strings = (["SOC SOC1 SENDTO %d <test_udp_port1> %s" % (soc_send_length, target_ip_str)])
-
- if self.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=20) is False:
- NativeLog.add_trace_critical("PC sent UDP packet error")
- NativeLog.add_trace_critical("Test count is %d" % j)
-
- # finally, execute done
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
-
+++ /dev/null
-from TCAction import TCActionBase
-from TCAction import CmdHandler
-from NativeLog import NativeLog
-import time
-import random
-import string
-import os
-
-
-class TransparentResultCheckCntx(TCActionBase.ResultCheckContext):
-
- def __init__(self, test_action, test_env, name):
- TCActionBase.ResultCheckContext.__init__(self, test_action, test_env, name)
- self.result_array = []
- self.at_data_recv_total = 0
- self.pc_data_recv_total = 0
- pass
-
- def run(self):
- validation_required = self.test_action.data_validation
- temp_data_at2wifi = ""
- temp_data_wifi2at = ""
- path = os.path.split(self.test_action.log_file_name)
- file_name_at2wifi = os.path.join(path[0], "%s_at2wifi_pc.bin" % self.test_action.timestamp)
- file_name_wifi2at = os.path.join(path[0], "%s_wifi2at_at.bin" % self.test_action.timestamp)
-
- while True:
- exit_flag = self.wait_exit_event(2)
- # force exit
- if exit_flag is True:
- break
- rx_len = 0
- tx_len = 0
- try:
- self.lock_data()
- rx_port = filter(lambda x: x[0] == "AT1", self.data_cache)
- tx_port = filter(lambda x: x[0] == "SOC1", self.data_cache)
- self.data_cache = []
- finally:
- self.unlock_data()
-
- if len(rx_port) == 1:
- rx_len = len(rx_port[0][1])
- self.at_data_recv_total += rx_len
- if validation_required is True:
- temp_data_wifi2at += rx_port[0][1]
- if len(tx_port) == 1:
- tx_len = len(tx_port[0][1])
- self.pc_data_recv_total += tx_len
- if validation_required is True:
- temp_data_at2wifi += tx_port[0][1]
-
- self.result_array.append(["TX %8d %s" %
- (tx_len/2, time.strftime("%m-%d %H:%M:%S", time.localtime()))])
- self.result_array.append(["RX %8d %s" %
- (rx_len/2, time.strftime("%m-%d %H:%M:%S", time.localtime()))])
-
- if validation_required is True:
- with open(file_name_at2wifi, "ab+") as f:
- f.write(temp_data_at2wifi)
- with open(file_name_wifi2at, "ab+") as f:
- f.write(temp_data_wifi2at)
-
- def get_test_results(self):
- return self.result_array, self.at_data_recv_total, self.pc_data_recv_total
-
-
-class UDPTransparent(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- self.timestamp = time.strftime("%d%H%M%S", time.localtime())
-
- pass
-
- def cleanup(self):
- # close current result check context
- self.result_cntx.stop_thread()
- self.result_cntx.join()
- # turn on logging
- self.test_env.uart_ports["AT1"].set_uart_logging_flag(True)
- # restore to read line mode
- self.test_env.uart_ports["AT1"].set_performance_flag(flag=False)
-
- # make sure enter condition that can respond to AT command
- self.result_cntx = TCActionBase.ResultCheckContext(self, self.test_env, self.tc_name)
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- checker_stings = ["R AT1 R *"]
- test_action_string = ["ATSO AT1 +++", "DELAY 0.1", "ATS AT1 AT"]
- fail_string = "Fail, Fail to reconfig UART"
-
- result = False
-
- while result is False:
- result = self.load_and_exe_one_step(checker_stings, test_action_string, fail_string)
-
- # reset baudrate
-
- checker_stings = ["R AT1 L OK"]
- test_action_string = ["ATS AT1 AT+UART_CUR=%d,8,1,0,3" % 115200]
- fail_string = "Fail, Fail to reconfig UART"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- test_action = CmdHandler.parse_action("UART AT1 %d" % 115200, self.test_env)
- CmdHandler.do_actions(test_action, self.test_env)
- TCActionBase.CommonTCActionBase.cleanup(self)
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- try:
- # configurable params
- # at send data len
- at_send_data_len = self.at_send_data_len
- # pc send data len
- pc_send_data_len = self.pc_send_data_len
- # sleep time between each send, test count
- test_dispatch = self.test_dispatch
- # enable target TCP TX
- tx_enable = self.tx_enable
- # enable target TCP RX
- rx_enable = self.rx_enable
- # if need to record tx/rx data to file
- data_validation = self.data_validation
- # UART baudrate
- baudrate = self.baudrate
- # HW flow control
- rtscts = self.rtscts
- # configurable params
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPTransparent script, error is %s" % e)
- raise StandardError("Error configuration")
-
- # step0 reconfig baudrate
- if baudrate != 0:
- checker_stings = ["R AT1 L OK"]
- test_action_string = ["ATS AT1 AT+UART_CUR=%d,8,1,0,%d" % (baudrate, rtscts)]
- fail_string = "Fail, Fail to reconfig UART"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
- test_action = CmdHandler.parse_action("UART AT1 %d %d" % (baudrate, rtscts), self.test_env)
- CmdHandler.do_actions(test_action, self.test_env)
-
- # step1 create PC server
- checker_stings = ["R SOC_COM L OK"]
- test_action_string = ["SOC SOC1 BIND <test_udp_port1> <pc_ip>"]
- fail_string = "Fail, Fail on create PC server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step2 target connect, switch to transparent
- checker_stings = ["R AT1 NC CLOSE L OK"]
- test_action_strings = ["ATC AT1 CIPSTART \"UDP\" <pc_ip> <test_udp_port1> <test_udp_port1> 0"]
- fail_string = "Fail, Fail on connect to PC server"
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- checker_stings = ["R AT1 L OK"]
- test_action_strings = ["ATS AT1 AT+CIPMODE=1"]
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- checker_stings = ["R AT1 C >"]
- test_action_strings = ["ATS AT1 AT+CIPSEND"]
- if self.load_and_exe_one_step(checker_stings, test_action_strings, fail_string) is False:
- return
-
- # step 3
- # turn off AT UART logging
- self.test_env.uart_ports["AT1"].set_uart_logging_flag(False)
- # restore to read data asap
- self.test_env.uart_ports["AT1"].set_performance_flag(flag=True)
-
- # switch to new result check context
- self.result_cntx.stop_thread()
- self.result_cntx.join()
- self.result_cntx = TransparentResultCheckCntx(self, self.test_env, self.tc_name)
- self.result_cntx.start()
-
- at_data_sent_total = 0
- pc_data_sent_total = 0
- at2wifi_data = ""
- wifi2at_data = ""
-
- for j in range(0, len(at_send_data_len) * len(pc_send_data_len)):
- at_data_len = at_send_data_len[j / len(pc_send_data_len)]
- pc_data_len = pc_send_data_len[j % len(pc_send_data_len)]
- # data = "".join(["A"] * at_data_len)
- chars = string.ascii_lowercase
- data_list = ["".join([random.choice(chars) for m in range(at_data_len-16)])]
- chars = string.ascii_uppercase
- data_list.append("".join([random.choice(chars) for m in range(at_data_len-16)]))
- chars = string.digits
- data_list.append("".join([random.choice(chars) for m in range(at_data_len-16)]))
-
- for i in range(0, len(test_dispatch)):
- for k in range(0, test_dispatch[i][1]):
- data_str = "%.2d%.2d%.10d%s\r\n" % (j, i, k, data_list[k % 3])
- # time1 = time.time()
- if tx_enable is True:
- test_action = CmdHandler.parse_action("ATSO AT1 %s" % data_str, self.test_env)
- CmdHandler.do_actions(test_action, self.test_env)
- at_data_sent_total += at_data_len
- if data_validation is True:
- at2wifi_data += data_str
- # time2 = time.time()
- if rx_enable is True:
- test_action = CmdHandler.parse_action("SOC SOC1 SENDTO %d %s %s %s"
- % (pc_data_len, "<test_udp_port1>",
- "<target_ip>", data_str), self.test_env)
- CmdHandler.do_actions(test_action, self.test_env)
- pc_data_sent_total += pc_data_len
- if data_validation is True:
- wifi2at_data += data_str
- # time3 = time.time()
- # if time3-time2 > 0.1:
- # pass
- if test_dispatch[i][0] != 0:
- time.sleep(test_dispatch[i][0])
- time.sleep(3) # wait 3 seconds
-
- # write send data to file for data validation
- if data_validation is True:
- path = os.path.split(self.log_file_name)
- with open(os.path.join(path[0], "%s_at2wifi_at.bin" % self.timestamp), "ab+") as f:
- f.write(at2wifi_data)
- with open(os.path.join(path[0], "%s_wifi2at_pc.bin" % self.timestamp), "ab+") as f:
- f.write(wifi2at_data)
- throughput_results, at_data_recv_total, pc_data_recv_total = self.result_cntx.get_test_results()
- result_str = "AT sent %15d\r\n" % at_data_sent_total
- result_str += "PC recv %15d\r\n" % pc_data_recv_total
- result_str += "PC sent %15d\r\n" % pc_data_sent_total
- result_str += "AT recv %15d\r\n" % at_data_recv_total
- for _result in throughput_results:
- result_str += "%s\r\n" % _result
- with open(self.log_file_name, "ab+") as f:
- f.write(result_str)
-
- # finally, execute done
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
-
+++ /dev/null
-__all__ = ["TCPClientMulti", "TCPClientSingle", "TCPServerMulti",
- "TCPTransparent", "UDPMulti", "UDPSingle"]
\ No newline at end of file
+++ /dev/null
-import Queue
-
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-from SCUDPServer import *
-from TCAction.CmdExecutor import CmdExecutorBasic
-from Utility import MakeFolder
-
-TEST_RESULT_CATEGORY = ("AP", "Phone")
-TEST_RESULT_PROPERTY = ("model", "total", "succeed", "failed", "total time1", "total time2")
-SINGLE_TEST_RESULT = ("AP", "Phone", "result", "time1", "time2")
-
-LOG_FILES = ("by_ap.tmp", "by_phone.tmp", "failed_item.tmp", "disqualified_item.tmp", "total.tmp")
-
-LOG_PATH = os.path.join("AT_LOG", "IOT")
-
-
-def make_session_id(mac, test_id):
- return mac_to_bytes(mac) + chr((test_id & 0xFF00) >> 8) + chr(test_id & 0xFF)
-
-
-class TestHandler(threading.Thread):
- def __init__(self, session_id, ap, phone, udp_server, test_action):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.udp_server = udp_server
- self.session_id = session_id
- self.ap = ap
- self.phone = phone
- self.test_action = test_action
- self.recv_queue = Queue.Queue(10)
- self.abort_event = threading.Event()
- self.start_time = time.time()
- self.test_result = None
- udp_server.register_test_handler(session_id, self)
- pass
-
- def req_receiver(self, msg, address):
- self.recv_queue.put([msg, address])
- pass
-
- def res_receiver(self, msg, address):
- self.recv_queue.put([msg, address])
- pass
-
- def abort_handler(self):
- NativeLog.add_prompt_trace("[Test Handler][Debug] test aborted")
- self.abort_event.set()
- self.test_action.remove_from_available_list(self.phone)
- pass
-
- def wait_result(self, event, timeout=None):
- time_start = time.time()
- while True:
- if self.abort_event.isSet() is True:
- return False
-
- if time.time() - self.start_time > ABORT_TIMEOUT:
- return False
-
- if timeout is not None:
- if time.time() - time_start > timeout:
- return False
-
- if event == "ACK" or event == "result":
- try:
- ret = self.recv_queue.get(timeout=0.5)
- except Queue.Empty, e:
- continue
- else:
- msg = ret[0]
- value_list = get_value_from_msg("type", msg)
- msg_typ = ord(value_list[0])
- if msg_typ == TYPE_VAL[event]:
- NativeLog.add_prompt_trace("[Test Handler][Debug] wait message succeed")
- return msg
- elif (msg_typ & 0x80) == 0: # invalid request
- self.udp_server.send_response([[VALUE_NAME["type"], TYPE_VAL["Not support"]],
- [VALUE_NAME["session id"], self.session_id]],
- ret[1])
- pass
- else:
- pass
- pass
-
- def run(self):
- for i in range(1):
- # step1 send broadcast to SP
- msg = [[VALUE_NAME["type"], TYPE_VAL["Init new test"]],
- [VALUE_NAME["session id"], self.session_id]]
- self.udp_server.send_request(("<broadcast>", self.udp_server.udp_port), self.session_id, msg)
- # wait response
- if self.wait_result("ACK") is False:
- break
- NativeLog.add_prompt_trace("[Step1] Initial new test succeed")
-
- # step2 start smart config
- checker_stings = ["ATR AT1 L OK"]
- test_action_string = ["ATS AT1 AT+CWSTOPSMART"]
- fail_string = "Fail, Failed to start smart config"
- if self.test_action.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- NativeLog.add_prompt_trace(fail_string)
- break
- checker_stings = ["ATR AT1 L OK"]
- test_action_string = ["ATS AT1 AT+CWSTARTSMART=1"]
- if self.test_action.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- NativeLog.add_prompt_trace(fail_string)
- break
- NativeLog.add_prompt_trace("[Step2] Start smart config succeed")
-
- # step3 send test request to SP
- msg = [[VALUE_NAME["type"], TYPE_VAL["test request"]],
- [VALUE_NAME["session id"], self.session_id],
- [VALUE_NAME["ap ssid"], self.ap["ssid"]],
- [VALUE_NAME["ap password"], self.ap["password"]],
- [VALUE_NAME["ap bssid"], mac_to_bytes(self.ap["bssid"])],
- # [VALUE_NAME["ET version"], 0x20],
- [VALUE_NAME["ssid hidden"], self.ap["is_hidden"]],
- [VALUE_NAME["ap encryption"], AP_ENCRYPTION_VAL[self.ap["encryption"]]]
- ]
- self.udp_server.send_request((self.phone["ip"], self.udp_server.udp_port), self.session_id, msg)
- # wait SP reply
- if self.wait_result("ACK") is False:
- break
- NativeLog.add_prompt_trace("[Step3] Send test request succeed")
- time_base = time.time()
-
- # step4 wait target smart config succeed
- checker_stings = ["ATR AT1 C get%%20wifi%%20info C %s C %s"
- % (self.ap["ssid"], self.ap["password"])]
- test_action_string = []
- fail_string = "Fail, Fail to get ap info"
- # if check target get smart config result fail, continue and get result from SP
- ret = self.test_action.load_and_exe_one_step(checker_stings, test_action_string,
- fail_string, check_time=600)
- if ret is False:
- NativeLog.add_prompt_trace("[Step4] Target smart config fail")
- step_4_fail = True
- else:
- NativeLog.add_prompt_trace("[Step4] Target smart config succeed")
- step_4_fail = False
- time_target_succeed = time.time() - time_base
-
- # step5 wait SP result
- msg = self.wait_result("result")
- if msg is False:
- NativeLog.add_prompt_trace("[Test Handler][Debug] Failed to get result from SP")
- break
- else:
- self.udp_server.send_response([[VALUE_NAME["type"], TYPE_VAL["ACK"]],
- [VALUE_NAME["session id"], self.session_id]],
- (self.phone["ip"], self.udp_server.udp_port))
- tmp = get_value_from_msg(["result code", "start SC time", "recv UDP time"], msg)
- result_code = ord(tmp[0])
- if result_code == RESULT_CODE_VAL["OK"]:
- sp_start_time = bytes_to_time(tmp[1])
- sp_recv_udp_time = bytes_to_time(tmp[2])
- smart_config_protocol_cost = time_target_succeed - sp_start_time
- user_experience_time = sp_recv_udp_time - sp_start_time
- self.test_result = ["Succeed", smart_config_protocol_cost, user_experience_time]
- elif result_code == RESULT_CODE_VAL["recv UDP fail"]:
- sp_start_time = bytes_to_time(tmp[1])
- if step_4_fail is True:
- smart_config_protocol_cost = 0
- else:
- smart_config_protocol_cost = time_target_succeed - sp_start_time
- self.test_result = ["Failed", smart_config_protocol_cost, 0]
- pass
- else:
- NativeLog.add_prompt_trace("[Test Handler][Debug] Disqualified message: %s" % tmp)
-
- for k in range(RETRANSMIT_COUNT - 1):
- if self.wait_result("result", RETRANSMIT_TIMEOUT) is not False:
- self.udp_server.send_response([[VALUE_NAME["type"], TYPE_VAL["ACK"]],
- [VALUE_NAME["session id"], self.session_id]],
- (self.phone["ip"], self.udp_server.udp_port))
-
- NativeLog.add_prompt_trace("[Step5] Receive test result from SP")
-
- if self.test_result is None:
- self.test_result = ["Disqualified", 0, 0]
- self.udp_server.deregister_test_handler(self.session_id)
- NativeLog.add_prompt_trace("One Test Done")
- pass
-
- def get_result(self):
- if self.test_result is None:
- NativeLog.add_trace_critical("Get result before test finish")
- return self.test_result
- pass
-
-
-class SCIOT(TCActionBase.CommonTCActionBase):
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.ap_list = []
- self.test_result = dict.fromkeys(TEST_RESULT_CATEGORY)
- self.test_result["AP"] = []
- self.test_result["Phone"] = []
- self.available_phone_list = []
- self.pc_ip = "<pc_ip>"
- self.udp_port = "<test_udp_port1>"
- self.test_id = 0x00
- self.resource_lock = threading.Lock()
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy" and cmd_set[i][0] != "":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
-
- for i in range(1, len(cmd_set)):
- for j in range(len(cmd_set[i][1])):
- if cmd_set[i][1][j] != "":
- cmd_string = "self.ap_list.append(dict(zip(AP_PROPERTY, " + cmd_set[i][1][j] + ")))"
- exec cmd_string
- for ap in self.ap_list:
- self.test_result["AP"].append(dict(zip(TEST_RESULT_PROPERTY, [ap["ssid"], 0, 0, 0, 0, 0])))
-
- self.log_folder = MakeFolder.make_folder(os.path.join(LOG_PATH, "TEST_%s"
- % (time.strftime("%y%m%d%H%M%S", time.localtime()))))
- self.log_files = dict.fromkeys(LOG_FILES)
- for _file in self.log_files:
- self.log_files[_file] = os.path.join(self.log_folder,
- (time.strftime("%H%M%S", time.localtime())) + _file)
- pass
-
- def update_phone_list(self, phone):
- with self.resource_lock:
- tmp = filter(lambda x: x["model"] == phone["model"], self.available_phone_list)
- if len(tmp) == 1:
- tmp[0]["ip"] = phone["ip"]
- else:
- self.available_phone_list.append(phone)
-
- tmp = filter(lambda x: x["model"] == phone["model"], self.test_result["Phone"])
- if len(tmp) == 0:
- self.test_result["Phone"].append(dict(zip(TEST_RESULT_PROPERTY, [phone["model"], 0, 0, 0, 0, 0])))
- pass
-
- def remove_from_available_list(self, phone):
- with self.resource_lock:
- tmp = filter(lambda x: x["model"] == phone["model"], self.available_phone_list)
- if len(tmp) == 1:
- self.available_phone_list.remove(tmp[0])
- pass
-
- def allocate_test(self):
- phone = None
- test_count = 0xFFFF
- with self.resource_lock:
- for _phone in self.available_phone_list:
- tmp = filter(lambda x: x["model"] == _phone["model"], self.test_result["Phone"])
- if len(tmp) == 1:
- _count = tmp[0]["total"]
- if _count < test_count:
- test_count = _count
- phone = _phone
- ap_list = self.ap_list[test_count % len(self.ap_list):]
- return phone, ap_list
- pass
-
- def output_test_result(self, ap, phone, test_result):
- result_str = "Time stamp" + ":\t" + NativeLog.generate_timestamp() + "\r\n"
- result_str += "AP model" + ":\t" + str(ap["ssid"]) + "\r\n"
- result_str += "AP encryption" + ":\t" + str(ap["encryption"]) + "\r\n"
- result_str += "AP HT" + ":\t" + str(ap["ht"]) + "\r\n"
- result_str += "AP ssid hidden" + ":\t" + str(ap["is_hidden"]) + "\r\n"
- result_str += "Phone model" + ":\t" + str(phone["model"]) + "\r\n"
- result_str += "Result" + ":\t" + str(test_result[0]) + "\r\n"
- result_str += "Time1" + ":\t" + str(test_result[1]) + "\r\n"
- result_str += "Time2" + ":\t" + str(test_result[2]) + "\r\n"
-
- with self.resource_lock:
- tmp = [filter(lambda x: x["model"] == ap["ssid"], self.test_result["AP"])[0],
- filter(lambda x: x["model"] == phone["model"], self.test_result["Phone"])[0]]
- if test_result[0] == "Succeed":
- for _tmp in tmp:
- _tmp["total"] += 1
- _tmp["succeed"] += 1
- _tmp["total time1"] += test_result[1]
- _tmp["total time2"] += test_result[2]
- pass
- elif test_result[0] == "Disqualified":
- for _tmp in tmp:
- _tmp["total"] += 1
- pass
- else:
- for _tmp in tmp:
- _tmp["total"] += 1
- _tmp["failed"] += 1
- pass
- tmp_result = dict(zip(TEST_RESULT_CATEGORY, ["", ""]))
- for category in self.test_result:
- for _result in self.test_result[category]:
- for n in _result:
- tmp_result[category] += str(n) + ":\t" + str(_result[n]) + "\r\n"
-
- # update to log file
- with open(self.log_files["by_ap.tmp"], "wb+") as f:
- f.write(tmp_result["AP"])
- with open(self.log_files["by_phone.tmp"], "wb+") as f:
- f.write(tmp_result["Phone"])
-
- with open(self.log_files["total.tmp"], "ab+") as f:
- f.write(result_str)
- if test_result[0] == "Failed":
- with open(self.log_files["failed_item.tmp"], "ab+") as f:
- f.write(result_str)
- elif test_result[0] == "Disqualified":
- with open(self.log_files["disqualified_item.tmp"], "ab+") as f:
- f.write(result_str)
-
- pass
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- pc_ip = CmdExecutorBasic.extract_parameter(self.pc_ip, self.test_env)
- if isinstance(self.udp_port, int) is False:
- udp_port = CmdExecutorBasic.extract_parameter(self.udp_port, self.test_env)
- else:
- udp_port = self.udp_port
-
- server = UDPServer(pc_ip, udp_port, self.update_phone_list)
- server.start()
-
- while True:
- phone, ap_list = self.allocate_test()
- if phone is None:
- time.sleep(5)
- continue
- for ap in ap_list:
- NativeLog.add_prompt_trace("AP is %s, Phone is %s" % (ap["ssid"], phone["model"]))
- session_id = make_session_id(phone["mac"], self.test_id)
- self.test_id += 1
- test_handler = TestHandler(session_id, ap, phone, server, self)
- test_handler.start()
- test_handler.join()
- result = test_handler.get_result()
- self.output_test_result(ap, phone, result)
-
- # finally, execute done
- server.join()
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import socket
-import time
-import os
-import threading
-
-from NativeLog import NativeLog
-
-
-RETRANSMIT_COUNT = 5
-RETRANSMIT_TIMEOUT = 0.5
-ABORT_TIMEOUT = 120
-BEACON_SEND_RATE = 30
-
-
-VALUE_NAME = {"type": 0x00,
- "session id": 0x01,
- "result code": 0x02,
- "ap ssid": 0x03,
- "ap password": 0x04,
- "start SC time": 0x05,
- "recv UDP time": 0x06,
- "SP model": 0x07,
- "SP mac": 0x08,
- "ET version": 0x09,
- "ap bssid": 0x0A,
- "ssid hidden": 0x0B,
- "ap encryption": 0x0C,
- }
-
-TYPE_VAL = {"Init new test": 0x00,
- "test request": 0x01,
- "result": 0x02,
- "query phone": 0x03,
- "ACK": 0x80,
- "phone report": 0x81,
- "Not support": 0xFF,
- "invalid session": 0xFE,
- }
-
-RESULT_CODE_VAL = {"OK": 0x80,
- "JAP fail": 0x81, # SP join AP fail, should disqualify this result
- "recv UDP fail": 0x82, # SP did not receive UDP sent by target
- }
-
-AP_ENCRYPTION_VAL = {"OPEN": 0x00,
- "WEP": 0x01,
- "WPA": 0x02,
- }
-
-AP_PROPERTY = ("ssid", "password", "bssid", "is_hidden", "encryption", "ht")
-PHONE_PROPERTY = ("ip", "mac", "model")
-
-
-SERIAL_PORT_NUM = 3
-LOG_FILE_PREFIX = "SC_IOT"
-LOG_FOLDER = os.path.join("AT_LOG", "TEMP")
-LOG_FILE_NAME = os.path.join(LOG_FOLDER, "%s_%s.log" % (LOG_FILE_PREFIX, time.strftime("%d%H%M%S", time.localtime())))
-
-
-REQUEST_LOCK = threading.Lock()
-HANDLER_LOCK = threading.Lock()
-
-
-def sync_request_list(func):
- def handle_args(*args, **kwargs):
- with REQUEST_LOCK:
- ret = func(*args, **kwargs)
- return ret
- return handle_args
-
-
-def sync_handler_list(func):
- def handle_args(*args, **kwargs):
- with HANDLER_LOCK:
- ret = func(*args, **kwargs)
- return ret
- return handle_args
-
-
-def _process_one_tlv_pair(data):
- typ = ord(data[0])
- length = ord(data[1])
- value = data[2:2+length]
- processed_data = data[2+length:]
- return (typ, value), processed_data
- pass
-
-
-def bytes_to_msg(data):
- data_to_process = data
- msg = []
- while True:
- one_pair, data_to_process = _process_one_tlv_pair(data_to_process)
- msg.append(one_pair)
- if len(data_to_process) == 0:
- break
- return msg
- pass
-
-
-def msg_to_bytes(msg):
- byte_str = ""
- for pair in msg:
- byte_str += chr(pair[0])
- if isinstance(pair[1], list) is True:
- byte_str += chr(len(pair[1]))
- byte_str.join([chr(m) for m in pair[1]])
- elif isinstance(pair[1], str) is True:
- byte_str += chr(len(pair[1]))
- byte_str += pair[1]
- elif isinstance(pair[1], int) is True:
- byte_str += chr(1)
- byte_str += chr(pair[1])
- else:
- raise TypeError("msg content only support list and string type")
- return byte_str
-
-
-def get_value_from_msg(type_list, msg):
- if isinstance(type_list, str) is True:
- type_list = [type_list]
- ret = [""] * len(type_list)
- for pair in msg:
- for i in range(len(type_list)):
- if pair[0] == VALUE_NAME[type_list[i]]:
- ret[i] = pair[1]
- if "" not in ret:
- # all type value found
- break
- else:
- NativeLog.add_prompt_trace("missing required type in msg")
- return ret
-
-
-def bytes_to_time(bytes_in):
- if len(bytes_in) != 4:
- return 0
- t = float(ord(bytes_in[0])*256*256*256 + ord(bytes_in[1])*256*256
- + ord(bytes_in[2])*256 + ord(bytes_in[2]))/1000
- return t
- pass
-
-
-def mac_to_bytes(mac):
- tmp = mac.split(':')
- return "".join([chr(int(m[:2], base=16)) for m in tmp])
- pass
-
-
-def bytes_to_mac(bytes_in):
- mac = "".join(["%x:" % ord(m) for m in bytes_in] )
- return mac[:-1]
-
-
-class RetransmitHandler(threading.Thread):
- def __init__(self, udp_server):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.udp_server = udp_server
- self.exit_event = threading.Event()
- pass
-
- @sync_request_list
- def find_required_retransmit_msg(self):
- time_now = time.time()
- aborted_sessions = []
- retransmit_msg = []
- msgs = filter(lambda x: time_now - x[4] >= RETRANSMIT_TIMEOUT, self.udp_server.unconfirmed_request)
- for msg in msgs:
- if msg[3] == 0:
- aborted_sessions.append(msg[0])
- self.udp_server.unconfirmed_request.remove(msg)
- else:
- msg[3] -= 1
- msg[4] = time_now
- retransmit_msg.append(msg)
- pass
- return aborted_sessions, retransmit_msg
- pass
-
- def run(self):
- while True:
- self.exit_event.wait(0.1)
- if self.exit_event.isSet() is True:
- break
- aborted_sessions, retransmit_msg = self.find_required_retransmit_msg()
- for msg in retransmit_msg:
- self.udp_server.udp_socket.sendto(msg[1], msg[2])
- for session_id in aborted_sessions:
- self.udp_server.session_aborted(session_id)
-
- def exit(self):
- self.exit_event.set()
- pass
-
-
-class SendBeacon(threading.Thread):
- def __init__(self, sock, udp_port):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.udp_sock = sock
- self.udp_port = udp_port
- self.exit_event = threading.Event()
-
- def run(self):
- while True:
- msg = [[VALUE_NAME["type"], TYPE_VAL["query phone"]]]
- data = msg_to_bytes(msg)
- self.udp_sock.sendto(data, ("<broadcast>", self.udp_port))
- for i in range(BEACON_SEND_RATE):
- self.exit_event.wait(1)
- if self.exit_event.isSet() is True:
- return
- pass
-
- def exit(self):
- self.exit_event.set()
- pass
-
-
-class UDPServer(threading.Thread):
- def __init__(self, pc_ip, udp_port, update_phone_handler):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_DGRAM)
- sock.bind((pc_ip, udp_port))
- sock.settimeout(1)
- sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
- sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
- self.udp_socket = sock
- self.unconfirmed_request = []
- self.test_handler_list = []
- self.pc_ip = pc_ip
- self.udp_port = udp_port
- self.update_phone_handler = update_phone_handler
- self.retransmit_thread = RetransmitHandler(self)
- self.beacon_thread = SendBeacon(self.udp_socket, self.udp_port)
- self.retransmit_thread.start()
- self.beacon_thread.start()
- self.exit_event = threading.Event()
- pass
-
- @sync_handler_list
- def register_test_handler(self, session_id, test_handler):
- tmp = filter(lambda x: x[0] == session_id, self.test_handler_list)
- if len(tmp) > 0:
- NativeLog.add_prompt_trace("handler with same session id exist")
- else:
- self.test_handler_list.append([session_id, test_handler])
- pass
-
- @sync_handler_list
- def deregister_test_handler(self, session_id):
- tmp = filter(lambda x: x[0] == session_id, self.test_handler_list)
- if len(tmp) > 1:
- NativeLog.add_prompt_trace("deregister test handler fail")
- elif len(tmp) == 1:
- self.test_handler_list.remove(tmp[0])
- pass
-
- @sync_handler_list
- def get_test_handler(self, session_id):
- ret = None
- tmp = filter(lambda x: x[0] == session_id, self.test_handler_list)
- if len(tmp) != 1:
- NativeLog.add_prompt_trace("failed to get test handler, "
- "%d handler found, session id %s" % (len(tmp), session_id))
- elif len(tmp) == 1:
- ret = tmp[0][1]
- return ret
- pass
-
- def session_aborted(self, session_id):
- test_handler = self.get_test_handler(session_id)
- if test_handler is not None:
- test_handler.abort_handler()
- pass
-
- def confirm_request(self, session_id, msg, address):
- test_handler = self.get_test_handler(session_id)
- if test_handler is not None:
- test_handler.res_receiver(msg, address)
- self.remove_pending_request(session_id)
- pass
-
- def receive_request(self, msg, address):
- result = get_value_from_msg(["type", "session id"], msg)
- msg_type = ord(result[0])
- session_id = result[1]
- if msg_type != TYPE_VAL["result"]:
- self.send_response([[VALUE_NAME["type"], TYPE_VAL["Not support"]]], address)
- else:
- test_handler = self.get_test_handler(session_id)
- if test_handler is None:
- self.send_response([[VALUE_NAME["type"], TYPE_VAL["invalid session"]],
- [VALUE_NAME["session id"], session_id]],
- address)
- pass
- else:
- test_handler.req_receiver(msg, address)
- pass
-
- @sync_request_list
- def add_request_to_queue(self, dest_addr, session_id, data):
- tmp = filter(lambda x: x[0] == session_id, self.unconfirmed_request)
- if len(tmp) != 0:
- NativeLog.add_prompt_trace("One pending request belong to same session id %s" % session_id)
- pass
- else:
- self.unconfirmed_request.append([session_id, data,
- dest_addr, RETRANSMIT_COUNT-1, time.time()])
-
- def send_request(self, dest_addr, session_id, msg):
- data = msg_to_bytes(msg)
- self.add_request_to_queue(dest_addr, session_id, data)
- self.udp_socket.sendto(data, dest_addr)
- pass
-
- def send_response(self, msg, address):
- self.udp_socket.sendto(msg_to_bytes(msg), address)
-
- @sync_request_list
- def remove_pending_request(self, session_id):
- tmp = filter(lambda x: x[0] == session_id, self.unconfirmed_request)
- if len(tmp) > 0:
- self.unconfirmed_request.remove(tmp[0])
- pass
- pass
-
- def handle_response(self, msg, address):
- result = get_value_from_msg(["type", "session id"], msg)
- msg_type = ord(result[0])
- session_id = result[1]
- if msg_type == TYPE_VAL["ACK"]:
- self.confirm_request(session_id, msg, address)
- elif msg_type == TYPE_VAL["phone report"]:
- # add new available phone
- tmp = get_value_from_msg(["SP model", "SP mac"], msg)
- phone = dict(zip(PHONE_PROPERTY, [address[0], bytes_to_mac(tmp[1]), tmp[0]]))
- self.update_phone_handler(phone)
- pass
- elif msg_type == TYPE_VAL["Not support"] or msg_type == TYPE_VAL["invalid session"]:
- self.session_aborted(session_id)
- pass
-
- def run(self):
- while self.exit_event.isSet() is False:
- try:
- data, address = self.udp_socket.recvfrom(65535)
- except socket.error, e:
- continue
-
- if address[0] == self.pc_ip:
- continue
-
- msg = bytes_to_msg(data)
- msg_type = get_value_from_msg(["type"], msg)[0]
-
- if msg_type is None:
- NativeLog.add_prompt_trace("invalid incoming msg: %s" % "".join(["0x%X, " % m for m in data]))
- else:
- msg_type = ord(msg_type)
- # check if request or reply
- if (msg_type & 0x80) != 0:
- self.handle_response(msg, address)
- else:
- self.receive_request(msg, address)
- pass
-
- self.retransmit_thread.exit()
- self.beacon_thread.exit()
- self.retransmit_thread.join()
- self.beacon_thread.join()
- pass
-
- def exit(self):
- self.exit_event.set()
- pass
+++ /dev/null
-from NativeLog import NativeLog
-import time
-import random
-import string
-
-
-ERROR_AP_PROP = {"ssid": "123456789012345678901234567890",
- "ssid_len": 30,
- "pwd": "12345678901234567890",
- "pwd_len": 20,
- "channel": 10,
- "enc": 3,
- "apc": 9, # invalid apc count
- }
-
-
-class WifiConnUtilError(StandardError):
- pass
-
-
-class WifiConnUtility(object):
-
- def __init__(self, tc_action):
- self.tc_action = tc_action
- self.target_type = tc_action.target_type
- pass
-
- def set_mode(self, mode):
- ret = True
- fail_string = "set mode fail"
- cmd = []
- checker_stings = []
- for i in range(2):
- if self.target_type[0] == "SSC":
- cmd.append("SSCC SSC%d op -S -o %d" % (i+1, mode[i]))
- checker_stings.append("SSCP SSC%d C cur_mode C %d" % (i+1, mode[i]))
- pass
- else:
- cmd.append("ATC AT%d CWMODE %d" % (i+1, mode[i]))
- checker_stings.append("ATP AT%d L OK" % (i+1))
- pass
- if self.tc_action.load_and_exe_one_step(checker_stings, cmd,
- fail_string, check_time=50) is False:
- NativeLog.add_trace_critical("Failed to set mode")
- ret = False
- return ret
- pass
-
- def _apc_switch(self, outlet_list, action_list):
- checker_stings = ["R PC_COM C OK"]
- switch_cmd = "APC APC1"
- fail_string = "Error when switching APC"
- ret = True
-
- for [_outlet, _action] in zip(action_list, outlet_list):
- switch_cmd += " %s %d" % (_action, _outlet)
-
- if self.tc_action.load_and_exe_one_step(checker_stings, [switch_cmd],
- fail_string, check_time=50) is False:
- NativeLog.add_trace_critical("Error when switching APC")
- ret = False
- return ret
- pass
-
- def _set_target_ap(self, ap_prop):
- ret = True
- fail_string = "set target ap fail, %s, %s" % (ap_prop["ssid"], ap_prop["pwd"])
- if self.target_type[1] == "SSC":
- if ap_prop["pwd"] == "":
- cmd = ["SSCC SSC2 ap -S -s %s -t %d" % (ap_prop["ssid"],
- ap_prop["enc"])
- ]
- else:
- cmd = ["SSCC SSC2 ap -S -s %s -p %s -t %d" % (ap_prop["ssid"],
- ap_prop["pwd"],
- ap_prop["enc"])
- ]
- checker_stings = ["SSCP SSC2 C +SAP:OK"]
- pass
- else:
- cmd = ["ATC AT2 CWSAP \"%s\" \"%s\" %d %d" % (ap_prop["ssid"],
- ap_prop["pwd"],
- ap_prop["channel"],
- ap_prop["enc"])
- ]
- checker_stings = ["ATR AT2 L OK"]
- pass
- if self.tc_action.load_and_exe_one_step(checker_stings, cmd,
- fail_string, check_time=50) is False:
- NativeLog.add_trace_critical("set target ap fail")
- ret = False
- return ret
- pass
-
- def setup_ap(self, ap_type, ap_prop):
- if ap_type == "target":
- ret = self._set_target_ap(ap_prop)
- pass
- else:
- ret = self._apc_switch(["ON"], [ap_prop["apc"]])
- # delay for 5 seconds, wait AP ready
- time.sleep(5)
- pass
- return ret
-
- def do_scan(self, ap_prop):
- fail_string = "Scan fail"
- ret = True
- # do not check if the set AP can be scanned
- if self.target_type[1] == "SSC":
- cmd = ["SSCC SSC1 sta -S"]
- checker_stings = ["SSCR SSC1 C ssc%20scan%20done"]
- pass
- else:
- cmd = ["ATS AT1 AT+CWLAP"]
- checker_stings = ["ATR AT1 L OK"]
- pass
- if self.tc_action.load_and_exe_one_step(checker_stings, cmd,
- fail_string, check_time=100) is False:
- NativeLog.add_trace_critical("Scan fail")
- ret = False
- return ret
- pass
-
- def _switch_off_target_ap(self, delay):
- time.sleep(delay)
- self._set_target_ap(ERROR_AP_PROP)
- pass
-
- def _switch_on_target_ap(self, ap_prop, delay):
- time.sleep(delay)
- self._set_target_ap(ap_prop)
- pass
-
- def _switch_off_ap(self, ap_type, ap_prop, delay_range):
- delay = random.randint(delay_range[0]*10, delay_range[1]*10)/10
- if ap_type == "target":
- self._switch_off_target_ap(delay)
- else:
- delay -= 1.5
- time.sleep(delay if delay > 0 else 0)
- self._apc_switch(["OFF"], [ap_prop["apc"]])
- pass
-
- def _switch_on_ap(self, ap_type, ap_prop, delay_range):
- delay = random.randint(delay_range[0]*10, delay_range[1]*10)/10
- if ap_type == "target":
- self._switch_on_target_ap(ap_prop, delay)
- else:
- delay -= 1.5
- time.sleep(delay if delay > 0 else 0)
- self._apc_switch(["ON"], [ap_prop["apc"]])
- pass
-
- def _join_ap(self, ap_prop, test_method):
- fail_string = "join target ap fail, %s, %s" % (ap_prop["ssid"], ap_prop["pwd"])
- if self.target_type[1] == "SSC":
- cmd = ["SSCC SSC1 ap -C -s %s -p %s" % (ap_prop["ssid"],
- ap_prop["pwd"],)
- ]
- checker_stings = ["SSCR SSC1 C %s" % ap_prop["ssid"],
- "SSCR SSC1 C dhcp%20client%20start",
- "SSCR SSC1 C ip C mask C gw"]
- pass
- else:
- cmd = ["ATC AT1 CWJAP \"%s\" \"%s\"" % (ap_prop["ssid"],
- ap_prop["pwd"])
- ]
- checker_stings = ["ATR AT1 NC ERROR NC FAIL L OK"]
- pass
- if test_method == "Normal":
- ret = self.tc_action.load_and_exe_one_step(checker_stings, cmd,
- fail_string, check_freq=0.1, check_time=350)
- if ret is not False:
- ret *= 0.1
- else:
- ret = self.tc_action.load_and_exe_one_step([], cmd, fail_string)
- return ret
- pass
-
- def _check_join_ap_result(self, ap_prop):
- ret = False
- fail_string = "join ap fail, %s, %s" % (ap_prop["ssid"], ap_prop["pwd"])
-
- if self.target_type[1] == "SSC":
- checker_stings = ["SSCR SSC1 C dhcp%20client%20start",
- "SSCR SSC1 C ip C mask C gw"]
- ret = self.tc_action.load_and_exe_one_step(checker_stings, ["DELAY 0"],
- fail_string, check_freq=1, check_time=120)
- pass
- else:
- cmd = ["ATS AT1 AT+CWJAP?"]
- checker_stings = ["ATR AT1 NC busy NC No%20AP C +CWJAP"]
- for i in range(3):
- ret = self.tc_action.load_and_exe_one_step(checker_stings, cmd,
- fail_string, check_freq=1, check_time=2)
- if ret is not False:
- break
- time.sleep(15)
-
- return ret
- pass
-
- def join_ap(self, join_test_method, ap_type, ap_prop, delay):
-
- if join_test_method == "WRONG_PROP":
- _prop = ERROR_AP_PROP
- else:
- _prop = ap_prop
-
- ret = self._join_ap(_prop, join_test_method)
-
- if join_test_method == "OFF_ON":
- self._switch_off_ap(ap_type, ap_prop, delay[0])
- self._switch_on_ap(ap_type, ap_prop, delay[1])
- ret = self._check_join_ap_result(_prop)
- pass
- elif join_test_method == "OFF":
- self._switch_off_ap(ap_type, ap_prop, delay[0])
- time.sleep(25)
- pass
-
- return ret
- pass
-
- def do_reconnect(self, reconnect_test_method, ap_type, ap_prop, delay):
- ret = True
- if reconnect_test_method == "OFF_ON":
- self._switch_off_ap(ap_type, ap_prop, delay[0])
- self._switch_on_ap(ap_type, ap_prop, delay[1])
- ret = self._check_join_ap_result(ap_prop)
- pass
- elif reconnect_test_method == "OFF":
- self._switch_off_ap(ap_type, ap_prop, delay[0])
- pass
- return ret
- pass
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import os
-import random
-import time
-
-import WifiConnUtility
-from NativeLog import NativeLog
-from TCAction import TCActionBase
-from Utility import Encoding
-from Utility import MakeFolder
-
-STEPS = {"SCAN1": 0x01, "JAP": 0x02, "SCAN2": 0x04, "RECONNECT": 0x08}
-
-AP_PROP = ("ssid", "ssid_len", "pwd",
- "pwd_len", "channel", "enc", "apc")
-
-JAP_TEST_METHOD = ("Normal", "OFF_ON", "OFF", "WRONG_PROP")
-
-RECONNECT_TEST_METHOD = ("OFF_ON", "OFF")
-
-LOG_FOLDER = os.path.join("AT_LOG", "Performance", "JAP")
-
-
-SSID_LEN_RANGE = (1, 32) # in bytes
-ENC_TYPE = (0, 2, 3, 4) # do not support WEP for 8266 soft AP
-PWD_RANGE = {0: [0, 0],
- 1: [5, 5],
- 2: [8, 63],
- 3: [8, 63],
- 4: [8, 63],
- }
-
-
-class WifiJAP(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # default value for optional configurable params
- self.pwd_len = [8, 64]
- self.step_config = [0x03, 0x01, 0x02, 0x0B, 0x0F]
- self.join_test_method = ["Normal"]
- self.join_delay = [[1.5, 5], [1.5, 5]]
- self.reconnect_test_method = ["OFF_ON"]
- self.reconnect_delay = [[1.5, 5], [1.5, 6]]
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy" and cmd_set[i][0] != "":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- # read AP list
- self.ap_list = []
- for i in range(1, len(cmd_set)):
- for j in range(len(cmd_set[i][1])):
- if cmd_set[i][1][j] != "":
- cmd_string = "self.ap_list.append(dict(zip(AP_PROP, " + cmd_set[i][1][j] + ")))"
- exec cmd_string
-
- folder_path = MakeFolder.make_folder(LOG_FOLDER)
- file_name = "JAP_log_%s.log" % (time.strftime("%m%d%H%M%S", time.localtime()))
- self._performance_log_file = os.path.join(folder_path, file_name)
-
- # test statistics
- self._succeed_count = self._fail_count = self._time_cost_count = 0
- self._total_time = self._longest_time = 0
-
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- # get target type "SSC" or "AT"
- self.target_type = ["SSC" if test_env.get_port_by_name("AT1") is None else "AT"]
- self.target_type.append("SSC" if test_env.get_port_by_name("AT1") is None else "AT")
- self._utility = WifiConnUtility.WifiConnUtility(self)
- pass
-
- def _generate_random_ap_prop(self):
- ap_prop = dict.fromkeys(AP_PROP)
- # generate target ap_value
- ap_prop["ssid_len"] = random.randint(SSID_LEN_RANGE[0], SSID_LEN_RANGE[1])
- ap_prop["channel"] = random.choice(range(1, 14))
- ap_prop["enc"] = random.choice(ENC_TYPE)
- ap_prop["pwd_len"] = random.randint(PWD_RANGE[ap_prop["enc"]][0], PWD_RANGE[ap_prop["enc"]][1])
- # generate string
- if self.target_type[0] == self.target_type[1] == "AT":
- ap_prop["ssid"] = Encoding.generate_random_utf8_str(ap_prop["ssid_len"])
- ap_prop["pwd"] = Encoding.generate_random_utf8_str(ap_prop["pwd_len"])
- # NativeLog.add_trace_info("ssid hex is : %x" % ap_prop["ssid"])
- # NativeLog.add_trace_info("pwd hex is : %x" % ap_prop["pwd"])
- else:
- ap_prop["ssid"] = Encoding.generate_random_printable_str(ap_prop["ssid_len"])
- ap_prop["pwd"] = Encoding.generate_random_printable_str(ap_prop["pwd_len"])
-
- return ap_prop
-
- def _logging_performance(self, ssid, join_method="Normal", time_cost=0):
- # log performance to performance log file
- with open(self._performance_log_file, "ab+") as f:
- # log time and ssid
- f.write("\r\n[%s]:\r\n[AP name] %s\r\n" %
- (time.strftime("%m-%d %H:%M:%S", time.localtime()), ssid))
- if join_method == "Normal" or join_method == "OFF_ON":
- if time_cost is not False:
- self._succeed_count += 1
- if join_method == "Normal":
- f.write("[Succeed][%f]\r\n" % time_cost)
- self._longest_time = (time_cost > self._longest_time and
- [time_cost] or [self._longest_time])[0]
- self._time_cost_count += 1
- self._total_time += time_cost
- else:
- f.write("[Succeed][%s]\r\n" % join_method)
- else:
- self._fail_count += 1
- f.write("[Fail][%s]\r\n" % join_method)
- pass
-
- def _logging_fail_step(self, ssid, step):
- with open(self._performance_log_file, "ab+") as f:
- f.write("\r\n[%s]:\r\n[AP name] %s\r\n" %
- (time.strftime("%m-%d %H:%M:%S", time.localtime()), ssid))
- f.write("[Fail][%s]\r\n" % step)
- pass
-
- def _generate_performance_report(self):
- with open(self._performance_log_file, "ab+") as f:
- f.write("[Test report] Succeed: %d\r\n" % self._succeed_count)
- f.write("[Test report] Failed: %d\r\n" % self._fail_count)
- if self._succeed_count > 0 or self._fail_count > 0:
- f.write("[Test report] Pass Rate: %f\r\n" %
- (self._succeed_count/(self._fail_count+self._succeed_count)))
- if self._time_cost_count > 0:
- f.write("[Test report] Average time: %f\r\n" % (self._total_time/self._time_cost_count))
- f.write("[Test report] Longest time: %f\r\n" % self._longest_time)
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- # mandatory configurable params
- try:
- target_ap_num = self.target_ap_num
- test_count = self.test_count
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for WifiJAP script, error is %s" % e)
- raise StandardError("Error configuration")
-
- # prepare ap list
- _ap_list = [["target", None]] * target_ap_num
- for _ap_prop in self.ap_list:
- _ap_list.append(["AP", _ap_prop])
-
- # set to correct mode first
- # self._utility.set_mode([1, 2])
-
- for _ap in _ap_list:
- # arrange ap
- _ap_type = _ap[0]
- _ap_prop = _ap[1]
- if _ap_type == "target":
- _ap_prop = self._generate_random_ap_prop()
-
- for i in xrange(test_count):
- # step 3 : mandatory step, join AP
- _join_test_method = "Normal"
- time_cost = self._utility.join_ap(_join_test_method, _ap_type, _ap_prop, self.join_delay)
- # log performance to performance log file
- self._logging_performance(_ap_prop["ssid"], _join_test_method, time_cost)
- NativeLog.add_prompt_trace("[Step] Join AP done")
-
- NativeLog.add_prompt_trace("[WifiJAP] One AP Done")
-
- # generate report and cleanup
- self._generate_performance_report()
-
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-__author__ = 'Administrator'
+++ /dev/null
-from __future__ import division
-import time
-import threading
-import re
-import random
-import os
-import binascii
-
-from TCAction import PerformanceTCBase
-from NativeLog import NativeLog
-from NativeLog import HTMLGenerator
-from comm import MeshPort
-from Utility import Encoding
-
-# check frequency in second
-CHECK_FREQ = 0.05
-# check timeout in seconds
-CHECK_TIMEOUT = 30
-# multicast group len
-MULTICAST_GROUP_LEN = 2
-
-
-LOG_PATH = os.path.join("..", "log")
-
-def _convert_to_mesh_mac_format(value_in):
- value_out = ""
- match_list = re.findall("([0-9a-fA-F]+)", value_in)
- try:
- for i in range(6):
- value_out += "%02X" % int(match_list[i], base=16)
- pass
- except StandardError, e:
- NativeLog.add_exception_log(e)
- raise e
- return value_out
-
-class SendRecvTime(threading.Thread):
- def __init__(self):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.send_time = dict()
- self.recv_time = dict()
- self.send_time_lock = threading.Lock()
- self.recv_time_lock = threading.Lock()
-
- def add_send_time(self, key, timestamp):
- with self.send_time_lock:
- self.send_time[key] = timestamp
-
- def add_recv_time(self, key, timestamp):
- with self.recv_time_lock:
- if key in self.recv_time.keys():
- self.recv_time[key].append(timestamp)
- else:
- self.recv_time[key] = [timestamp]
-
- def calculate(self):
- # add compute delay time code here
- print 'send dict len:', len(self.send_time)
- print 'recv dict len:', len(self.recv_time)
- recv_time_keys = self.recv_time.keys()
- Max_delay_time = 0.0
- Total_delay_time = 0.0
- # for i in range(len(recv_time_keys)):
- # key = recv_time_keys[i]
- for key in recv_time_keys:
- Total_delay_time_t = 0.0
- if isinstance(self.recv_time[key], list):
- for time1 in self.recv_time[key]:
- if time1 - self.send_time[key] >= Max_delay_time:
- Max_delay_time = time1 - self.send_time[key]
- Total_delay_time_t += (time1 - self.send_time[key])
- else:
- pass
- else:
- if self.recv_time[key] - self.send_time[key] > Max_delay_time:
- Max_delay_time = self.recv_time[key] - self.send_time[key]
- Total_delay_time_t += (self.recv_time[key] - self.send_time[key])
- Total_delay_time_t += (Total_delay_time_t / len(self.recv_time[key]))
- Total_delay_time += Total_delay_time_t
- Avg_delay_time = Total_delay_time / len(recv_time_keys)
- loss_rate = (len(self.send_time.keys()) - len(self.recv_time.keys())) / len(self.send_time.keys())
- return [Max_delay_time, Avg_delay_time, loss_rate]
- pass
-
-class EntitySendThread(threading.Thread):
- def __init__(self, port, behavior, unicast_addr, send_delay, typ, device_mac_list, server_addr, send_recv_time):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.recv_data_cache = ""
- self.packets_sent = 0
- self.port = port
- self.behavior = behavior
- self.typ = typ
- self.unicast_addr = unicast_addr
- self.node_num = len(device_mac_list)
- self.device_mac_list = list(device_mac_list)
- self.server_addr = server_addr
- if typ != "SERVER":
- self.device_mac_list.remove(port.device_mac)
- self.send_delay = send_delay
- self.cache_lock = threading.Lock()
- self.exit_event = threading.Event()
- self.send_recv_time = send_recv_time
- pass
-
- def data_recv_callback(self, data):
- with self.cache_lock:
- self.recv_data_cache += data
- if self.typ == "SSC":
- while True:
- if self.recv_data_cache is not None:
- match = re.compile(".+\+MSEND1:\d+:OK", re.DOTALL)
- res = match.search(self.recv_data_cache)
- index = re.search("\+MSEND1:(\d+):OK", self.recv_data_cache)
- if index is not None:
- time1 = time.time()
- index1 = int(index.group(1))
- self.send_recv_time.add_send_time(index1, time1)
- #print 'send index:', index1
- process_index = res.group().split("MSEND1")
- if len(process_index) > 1:
- process_index_t = len(process_index[0]) + len("MSEND1")
- self.recv_data_cache = self.recv_data_cache[process_index_t:]
- else:
- self.recv_data_cache = self.recv_data_cache[len(res.group()):]
- else:
- break
- else:
- break
- pass
-
-
- def __server_send_packet(self, dst_addr, option_list=None, group_addr=None):
- ver = 0x0
- flags = 0x0
- proto = 0x0
- index = random.randint(10000, 999999999)
- if group_addr is not None:
- len_t = hex(len(group_addr) * 6).split("0x")
- if len(group_addr) <= 2:
- option_list = "070" + len_t[1]
- else:
- option_list = "07" + len_t[1]
- group = ""
- for addr in group_addr:
- group += _convert_to_mesh_mac_format(addr)
- option_list += group
- else:
- option_list = None
- if self.behavior == "broadcast":
- dst_addr = "00:00:00:00:00:00"
- elif self.behavior == "unicast":
- if self.unicast_addr == "random":
- dst_addr = random.choice(self.device_mac_list)
- else:
- dst_addr = self.unicast_addr
- elif self.behavior == "p2p":
- proto = 0x2
- if self.unicast_addr == "random":
- dst_addr = random.choice(self.device_mac_list)
- else:
- dst_addr = self.unicast_addr
- packet = MeshPort.Packet(ver=ver, flags=flags, proto=proto,
- dst_addr=dst_addr, src_addr=self.server_addr, option_list=option_list, data="A" * 100, index=index)
- send_data = packet.dumps
- try:
- self.port.socket.send(send_data)
- time2 = time.time()
- self.send_recv_time.add_send_time(index, time2)
- except StandardError, e:
- NativeLog.add_exception_log(e)
- return False
-
- def __server_do_send(self):
- if self.behavior == "broadcast":
- if self.__server_send_packet(dst_addr="00:00:00:00:00:00", group_addr=None) is True:
- self.packets_sent += self.node_num
- elif self.behavior == "multicast":
- random.shuffle(self.device_mac_list)
- group_addr_list = self.device_mac_list[:MULTICAST_GROUP_LEN]
- if self.__server_send_packet(dst_addr="01:00:5E:00:00:00", group_addr=group_addr_list) is True:
- self.packets_sent += MULTICAST_GROUP_LEN
- elif self.behavior == "unicast":
- if self.__server_send_packet(dst_addr=random.choice(self.device_mac_list), group_addr=None) is True:
- self.packets_sent += 1
- elif self.behavior == "p2p":
- if self.__server_send_packet(dst_addr=random.choice(self.device_mac_list), group_addr=None) is True:
- self.packets_sent += 1
- else:
- NativeLog.add_trace_critical("unsupported behavior [%s]" % self.behavior)
- self.exit()
- return
-
- def __node_send_packet(self, dst_addr, group_addr=None):
- send_data = ""
- ret = False
- if group_addr is not None:
- len_t = hex(len(group_addr) * 6).split("0x")
- if len(group_addr) <= 2:
- option_list = "070" + len_t[1]
- else:
- option_list = "07" + len_t[1]
- group = ""
- for addr in group_addr:
- group += _convert_to_mesh_mac_format(addr)
- option_list += group
- dst_addr = "01:00:5E:00:00:00"
- send_data = "meshsend -S -d %s -o %s -l 100\r\n" % (dst_addr, option_list)
- else:
- if self.behavior == "broadcast":
- dst_addr = "00:00:00:00:00:00"
- send_data = "meshsend -S -d %s -l 100\r\n" % dst_addr
- elif self.behavior == "unicast":
- if self.unicast_addr == "random":
- dst_addr = random.choice(self.device_mac_list)
- else:
- dst_addr = self.unicast_addr
- send_data = "meshsend -S -d %s -l 100\r\n" % dst_addr
- elif self.behavior == "p2p":
- if self.unicast_addr == "random":
- dst_addr = random.choice(self.device_mac_list)
- else:
- dst_addr = self.unicast_addr
- send_data = "meshsend -S -d %s -t 1 -l 100\r\n" % dst_addr
- try:
- self.port.write(send_data)
- except StandardError, e:
- NativeLog.add_exception_log(e)
- pass
- for i in range(int(CHECK_TIMEOUT / CHECK_FREQ)):
- time.sleep(CHECK_FREQ)
- with self.cache_lock:
- if self.recv_data_cache.find("+MESHSEND:OK") != -1:
- ret = True
- break
- elif self.recv_data_cache.find("+MESHSEND:ERROR") != -1:
- break
- return ret
-
-
- def __node_do_send(self):
- if self.behavior == "broadcast":
- if self.__node_send_packet("00:00:00:00:00:00", group_addr=None) is True:
- self.packets_sent += self.node_num
- elif self.behavior == "multicast":
- random.shuffle(self.device_mac_list)
- group_addr_list = self.device_mac_list[:MULTICAST_GROUP_LEN]
- if self.__node_send_packet("01:00:5E:00:00:00", group_addr_list) is True:
- self.packets_sent += MULTICAST_GROUP_LEN
- elif self.behavior == "unicast":
- if self.__node_send_packet(random.choice(self.device_mac_list), group_addr=None) is True:
- self.packets_sent += 1
- elif self.behavior == "p2p":
- if self.__node_send_packet(random.choice(self.device_mac_list), group_addr=None) is True:
- self.packets_sent += 1
- else:
- NativeLog.add_trace_critical("unsupported behavior [%s]" % self.behavior)
- self.exit()
- return
-
- def get_sent_packets(self):
- return self.packets_sent
-
- def exit(self):
- self.exit_event.set()
- pass
-
- def run(self):
- while self.exit_event.isSet() is False:
- if self.typ == "SSC":
- self.__node_do_send()
- elif self.typ == "SERVER":
- self.__server_do_send()
- else:
- NativeLog.add_trace_critical("type [%s] is neither SSC nor SERVER" % self.typ)
- break
- time.sleep(self.send_delay)
-
- pass
-
-
-class EntityRecvThread(threading.Thread):
- def __init__(self, port, typ, send_recv_time):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.recv_data_cache = ""
- self.packets_recv = 0
- self.port = port
- self.typ = typ
- self.cache_lock = threading.Lock()
- self.exit_event = threading.Event()
- self.send_recv_time = send_recv_time
- pass
-
- def data_recv_callback(self, data):
- # if self.typ == "SERVER":
- # NativeLog.add_prompt_trace("[data_recv_callback] server recv len %d" % len(data))
- with self.cache_lock:
- self.recv_data_cache += data
- pass
-
- def __server_do_recv(self):
- while True:
- if self.recv_data_cache:
- data_cache = self.recv_data_cache
- data_cache_hex = binascii.hexlify(data_cache)
- packet_len = int(data_cache_hex[2:6], 16)
- if len(self.recv_data_cache) >= packet_len:
- time3 = time.time()
- data_catch_t = self.recv_data_cache[:packet_len]
- packet = binascii.hexlify(data_catch_t)
- index3 = int(packet[-8:], 16)
- self.send_recv_time.add_recv_time(index3, time3)
- self.recv_data_cache = self.recv_data_cache[packet_len:]
- else:
- break
- #self.packets_recv += 1
- else:
- break
-
- def __node_do_recv(self):
- with self.cache_lock:
- while True:
- if self.recv_data_cache:
- match = re.search("\+MESHRECV:\d+", self.recv_data_cache)
- index = re.search(",(\d+),OK", self.recv_data_cache)
- res = re.compile(".+,\d+,OK", re.DOTALL)
- res_t = res.search(self.recv_data_cache)
- if match is not None:
- time4 = time.time()
- if index is not None:
- index4 = int(index.group(1))
- self.send_recv_time.add_recv_time(index4, time4)
- if len(res_t.group()) > 1:
- process_index = len(res_t.group(0))
- self.recv_data_cache = self.recv_data_cache[process_index:]
- else:
- process_index = len(res_t.group())
- self.recv_data_cache = self.recv_data_cache[process_index:]
- else:
- break
- else:
- break
- # self.packets_recv += 1
- else:
- break
- pass
-
- def get_recv_packets(self):
- return self.packets_recv
-
- def exit(self):
- self.exit_event.set()
- pass
-
- def run(self):
- while self.exit_event.isSet() is False:
- if self.typ == "SSC":
- self.__node_do_recv()
- elif self.typ == "SERVER":
- self.__server_do_recv()
- else:
- NativeLog.add_trace_critical("type [%s] is neither SSC nor SERVER" % self.typ)
- break
- time.sleep(CHECK_FREQ)
-
- pass
-
-
-class MeshSendRecv(PerformanceTCBase.PerformanceTCBase):
- def __init__(self, name, test_env, cmd_set, timeout, log_path):
- PerformanceTCBase.PerformanceTCBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.send_config = []
- self.test_time = 0
- self.loss_rate_standard = 0.8
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy" and cmd_set[i][0] != "":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- # load node send config
- for i in range(1, len(cmd_set)):
- for j in range(len(cmd_set[i][1])):
- if cmd_set[i][1][j] != "":
- cmd_string = "self.send_config.extend([" + cmd_set[i][1][j] + "])"
- exec cmd_string
- node_num = self.get_parameter("node_num")
- self.recv_cb = dict.fromkeys(["SSC%s" % (x + 1) for x in range(int(node_num))] + ["GSOC1"])
- self.recv_cb_lock = threading.Lock()
- pass
-
- def register_recv_callback(self, port_name, callback):
- with self.recv_cb_lock:
- if self.recv_cb[port_name] is None:
- self.recv_cb[port_name] = [callback]
- else:
- self.recv_cb[port_name].append(callback)
- pass
-
- def process(self):
- try:
- test_time = self.test_time * 60
- send_config = self.send_config
- loss_rate_standard = self.loss_rate_standard
- node_num = self.get_parameter("node_num")
- pc_ip_list = self.get_parameter("pc_ip").split(".")
- port = self.get_parameter("test_tcp_port1")
- send_recv_time = SendRecvTime()
- except StandardError:
- return
- #create server_addr
- server_addr = ""
- for i in range(len(pc_ip_list)):
- if pc_ip_list[i] in ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]:
- server_addr = server_addr + "0" + pc_ip_list[i]
- else:
- list_t = hex(int(pc_ip_list[i])).split("0x")
- server_addr += list_t[1]
- port_t = hex(port).split("0x")
- port_t_list = list(port_t[1])
- server_addr = server_addr + port_t_list[2] + port_t_list[3] + port_t_list[0] + port_t_list[1]
- server_port = self.test_env.get_port_by_name("GSOC1")
- if server_port is None:
- return
-
- # create thread dict
- thread_dict = dict.fromkeys(["SSC%s" % (x + 1) for x in range(int(node_num))] + ["GSOC1"])
- for port_name in thread_dict:
- thread_dict[port_name] = dict(zip(["tx", "rx"], [None, None]))
- device_mac_list = []
- # init recv thread & register port for SSC
- for port_name in ["SSC%s" % (x + 1) for x in range(int(node_num))]:
- port = self.test_env.get_port_by_name(port_name)
- thread_dict[port_name]["rx"] = EntityRecvThread(port, "SSC", send_recv_time)
- self.register_recv_callback(port_name, thread_dict[port_name]["rx"].data_recv_callback)
- device_mac_list.append(port.device_mac)
-
- thread_dict["GSOC1"]["rx"] = EntityRecvThread(server_port, "SERVER", send_recv_time)
- self.register_recv_callback("GSOC1", thread_dict["GSOC1"]["rx"].data_recv_callback)
-
- # config[0]: target_name; config[1]: behavior; config[2]: destination; config[3]:send_delay;
- for config in send_config:
- port = self.test_env.get_port_by_name(config[0])
- name = port.name
- if config[2] == "GSOC1":
- dst = server_addr[:2] + ":" + server_addr[2:4] + ":" + server_addr[4:6] + ":" + server_addr[6:8] + \
- ":" + server_addr[8:10] + ":" + server_addr[10:12]
- elif config[2] == "random":
- dst = "random"
- else:
- dst = self.test_env.get_port_by_name(config[2]).device_mac
- if name != "GSOC1":
- server_addr = None
- if config[1] == "broadcast" or config[1] == "multicast":
- dst = None
- typ = "SSC" if isinstance(port, MeshPort.MeshPort) is False else "SERVER"
- thread_dict[name]["tx"] = EntitySendThread(port, config[1], dst, config[3], typ, device_mac_list,
- server_addr, send_recv_time)
- self.register_recv_callback(name, thread_dict[name]["tx"].data_recv_callback)
- pass
-
- # start all thread
- for port_name in thread_dict:
- if thread_dict[port_name]["rx"] is not None:
- thread_dict[port_name]["rx"].start()
- if thread_dict[port_name]["tx"] is not None:
- thread_dict[port_name]["tx"].start()
-
- # wait test time
- time.sleep(test_time)
- # close all send thread
- for port_name in thread_dict:
- if thread_dict[port_name]["tx"] is not None:
- thread_dict[port_name]["tx"].exit()
- thread_dict[port_name]["tx"].join()
- # make sure all packet received before close recv thread
- time.sleep(10)
- # close all recv thread
- for port_name in thread_dict:
- if thread_dict[port_name]["rx"] is not None:
- thread_dict[port_name]["rx"].exit()
- thread_dict[port_name]["rx"].join()
-
- [max_delay_time, avg_delay_time, loss_rate] = send_recv_time.calculate()
-
- NativeLog.add_trace_critical("[Mesh Send Recv Test] MAX Delay Time is %.3f" % max_delay_time)
- NativeLog.add_trace_critical("[Mesh Send Recv Test] Avg Delay Time is %.3f" % avg_delay_time)
- NativeLog.add_trace_critical("[Mesh Send Recv Test] loss rate is %.2f%%" % (loss_rate * 100))
-
- # set succeed if loss rate higher than required
- if loss_rate < loss_rate_standard:
- self.set_result("Succeed")
- pass
-
- @Encoding.encode_utf8(3)
- def result_check(self, port_name, data):
- if port_name in self.recv_cb:
- # if port_name == "GSOC1":
- # NativeLog.add_prompt_trace("[result_check] recv GSOC1 data len %s" % len(data))
- with self.recv_cb_lock:
- callback_list = self.recv_cb[port_name]
- if callback_list is not None:
- for callback in callback_list:
- callback(data)
-
- # do logging
- timestamp = NativeLog.generate_timestamp()
- with self.sync_lock:
- _formatted_data = HTMLGenerator.process_one_log_item(data, self.log_index, port_name, timestamp)
- self.log_index += 1
-
- self.append_to_log_file(_formatted_data)
-
- NativeLog.add_all_tc_log(data, port_name, timestamp)
- pass
-
-
-def main():
- pass
-
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-__all__ = ["StableCase1"]
\ No newline at end of file
+++ /dev/null
-
-
-class SSLCapability(object):
- CAPABILITY_TYPE = ["version", "cipher_suite", "fragment_size", # for hello capability negotiation
- "verify_server", "verify_client", # if support verify server/client
- "key_algorithm", "key_encoding", "pem_encryption", # what kind of private it supports
- "certificate_encoding", "certificate_digest", # what kind of certificate it supports
- ]
- SSL_TYPE = ("TargetClient", "TargetServer", "PCClient", "PCServer")
-
- def __init__(self, typ, **kwargs):
- assert typ in self.SSL_TYPE
- self.type = typ
- self.capability = dict.fromkeys(self.CAPABILITY_TYPE, None)
- for kw in kwargs:
- self.capability[kw] = kwargs[kw]
- for kw in self.capability:
- assert self.capability[kw] is not None
- pass
-
- def get(self, kw):
- return self.capability[kw]
-
- def set(self, **kwargs):
- for kw in kwargs:
- self.capability[kw] = kwargs[kw]
- pass
-
-
-class TargetSSLCapability(SSLCapability):
- DEFAULT_CAPABILITY = {
- "version": ["SSLv23_2"],
- "cipher_suite": ["TLS_RSA_WITH_AES_128_CBC_SHA",
- "TLS_RSA_WITH_AES_256_CBC_SHA",
- "TLS_RSA_WITH_RC4_128_SHA",
- "TLS_RSA_WITH_RC4_128_MD5"],
- "fragment_size": [2048, 4096, 8192],
- "verify_server": True,
- "verify_client": False,
- "key_algorithm": ["RSA512", "RSA1024", "RSA2048", "RSA4096"],
- "key_encoding": ["PEM", "DER"],
- "pem_encryption": [None, "aes128", "aes256"],
- "certificate_encoding": ["PEM", "DER"],
- "certificate_digest": ["md5", "sha1", "sha256", "sha384", "sha512"],
- }
-
- def __init__(self, typ, **kwargs):
- assert typ == "TargetClient" or typ == "TargetServer"
- capability = dict(self.DEFAULT_CAPABILITY)
- for kw in kwargs:
- capability[kw] = kwargs[kw]
- SSLCapability.__init__(self, typ, **capability)
- pass
- pass
-
-
-class PCSSLCapability(SSLCapability):
- DEFAULT_CAPABILITY = {
- "version": ["SSLv23", "SSLv20", "SSLv30", "TLSv10", "TLSv11", "TLSv12"],
- "cipher_suite": ["TLS_RSA_WITH_AES_128_CBC_SHA",
- "TLS_RSA_WITH_AES_256_CBC_SHA",
- "TLS_RSA_WITH_RC4_128_SHA",
- "TLS_RSA_WITH_RC4_128_MD5",
- "TLS_DH_DSS_WITH_AES_128_CBC_SHA",
- "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"],
- "fragment_size": [16384],
- "verify_server": True,
- "verify_client": True,
- "key_algorithm": ["RSA512", "RSA1024", "RSA2048", "RSA4096"],
- "key_encoding": ["PEM"],
- "pem_encryption": [None],
- "certificate_encoding": ["PEM"],
- "certificate_digest": ["md5", "sha1", "sha256", "sha384", "sha512"],
- }
-
- def __init__(self, typ):
- assert typ == "PCClient" or typ == "PCServer"
- SSLCapability.__init__(self, typ, **self.DEFAULT_CAPABILITY)
- pass
- pass
-
-
-def main():
- pc = PCSSLCapability("PCClient")
- target = TargetSSLCapability("TargetClient")
- pass
-
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-from PKI import PKIDict, PKIItem
-import Parameter
-
-
-def multiply_2_lists(list1, list2):
- def make_list(li):
- if not isinstance(li, list):
- li = [li]
- return li
- list1 = make_list(list1)
- list2 = make_list(list2)
- ret = []
- for a in list1:
- for b in list2:
- ret.append(make_list(a) + make_list(b))
- return ret
-
-
-def list_multiply(list1, *args):
- ret = list1
- for arg in args:
- ret = multiply_2_lists(ret, arg)
- return ret
-
-
-def list_and(list1, list2):
- ret = []
- for item in list1:
- if item in list2:
- ret.append(item)
- return ret
-
-
-class ComputeResult(object):
- NEGOTIATION_CONFIG = ["client_version", "client_cipher_suite", "client_fragment_size",
- "server_version", "server_cipher_suite", "server_fragment_size"]
- CERT_KEY_CONFIG = ["verify_server", "verify_client",
- "client_trust_anchor", "client_certificate", "client_key",
- "server_trust_anchor", "server_certificate", "server_key"]
-
- TYPE_CONTEXT = "context"
- TYPE_NEGOTIATION = "negotiation"
- TYPE_CERT_KEY = "cert_key"
- TYPE_SEND_PARAM = "send_param"
-
- # results
- SUCCEED = 0
- CREATE_CONTEXT_FAIL = 1
- HANDSHAKE_FAIL = 2
- CERT_KEY_FAIL = 3
-
- def __init__(self, client_capability, server_capability):
- self.client_capability = client_capability
- self.server_capability = server_capability
- pass
-
- @staticmethod
- def __check_cert(cert, capability, check_encoding=True):
- ret = True
- if cert.name is not None:
- if check_encoding is True:
- if cert.digest not in capability.get("certificate_digest") \
- or cert.key_algorithm not in capability.get("key_algorithm") \
- or cert.file_encoding not in capability.get("certificate_encoding"):
- ret = False
- else:
- if cert.digest not in capability.get("certificate_digest") \
- or cert.key_algorithm not in capability.get("key_algorithm"):
- ret = False
- return ret
-
- @staticmethod
- def __check_key(key, capability, check_encoding=True):
- ret = True
- if key.name is not None:
- if check_encoding is True:
- if key.algorithm not in capability.get("key_algorithm") \
- or key.file_encoding not in capability.get("key_encoding") \
- or key.file_encryption not in capability.get("pem_encryption"):
- ret = False
- else:
- if key.algorithm not in capability.get("key_algorithm") \
- or key.file_encryption not in capability.get("pem_encryption"):
- ret = False
- return ret
-
- # compute result functions
- def check_context(self, config):
- result = self.SUCCEED
- check_list = [(self.__check_cert, PKIItem.Certificate(config["client_trust_anchor"]),
- self.client_capability),
- (self.__check_cert, PKIItem.Certificate(config["client_certificate"]),
- self.client_capability),
- (self.__check_key, PKIItem.PrivateKey(config["client_key"]),
- self.client_capability),
- (self.__check_cert, PKIItem.Certificate(config["server_trust_anchor"]),
- self.server_capability),
- (self.__check_cert, PKIItem.Certificate(config["server_certificate"]),
- self.server_capability),
- (self.__check_key, PKIItem.PrivateKey(config["server_key"]),
- self.server_capability)]
- for _check in check_list:
- if _check[0](_check[1], _check[2]) is False:
- result = self.CREATE_CONTEXT_FAIL
- break
- return result
-
- def check_negotiation_param(self, config):
- result = self.SUCCEED
- # first check version
- while True:
- if Parameter.VERSION[config["client_version"]]\
- & Parameter.VERSION[config["server_version"]] == 0:
- result = self.HANDSHAKE_FAIL
- break
- # check cipher suite
- supported_cipher_suite = list_and(self.client_capability.get("cipher_suite"),
- self.server_capability.get("cipher_suite"))
- if config["client_cipher_suite"] not in supported_cipher_suite\
- or config["server_cipher_suite"] not in supported_cipher_suite\
- or config["client_cipher_suite"] != config["server_cipher_suite"]:
- result = self.HANDSHAKE_FAIL
- break
- break
- return result
-
- # check cert key, if it can be supported by both client and server, if it matches
- def __check_cert_key_content(self, cert, key):
- if self.__check_cert(cert, self.client_capability, check_encoding=False) is True\
- and self.__check_cert(cert, self.server_capability, check_encoding=False) is True \
- and self.__check_key(key, self.client_capability, check_encoding=False) is True \
- and self.__check_key(key, self.server_capability, check_encoding=False) is True \
- and key.name.find(cert.private_key) != -1:
- result = True
- else:
- result = False
- return result
-
- def __verify_ca(self, ca, cert, capability):
- result = True
- while True:
- # if ca supported
- if self.__check_cert(ca, capability) is False:
- result = False
- break
- # check if ca in cert chain
- try:
- index = cert.cert_chain.index(ca.name)
- except StandardError:
- result = False
- break
-
- # for pem cert, it contains cert chain to issuer, any cert in chain works
- # der cert do not contain cert chain
- # only der root cert verify L1 cert and root cert works
- if cert.file_encoding == "DER":
- if len(cert.cert_chain) > 2 and index != len(cert.cert_chain) - 1:
- result = False
- break
- # check if all certs in before trust anchor supported
- for cert_name in cert.cert_chain[1:index]:
- _cert = PKIItem.Certificate(cert_name + ".pem")
- if self.__check_cert(_cert, capability) is False:
- result = False
- break
- break
- return result
-
- def __check_verify_client(self, client_cert, client_key, server_ca):
- result = self.__check_cert_key_content(client_cert, client_key)
- if result is True:
- result = self.__verify_ca(server_ca, client_cert, self.server_capability)
- return result
-
- def __check_verify_server(self, client_ca, server_cert):
- return self.__verify_ca(client_ca, server_cert, self.client_capability)
-
- def check_cert_key(self, config):
- result = self.SUCCEED
- while True: # break if when anything failed
- if (config["verify_server"] is True and self.client_capability.get("verify_server") is False) \
- or (config["verify_client"] is True and
- (self.server_capability.get("verify_client") is False or
- self.client_capability.get("verify_client") is False)):
- result = self.CERT_KEY_FAIL
- break
-
- server_cert = PKIItem.Certificate(config["server_certificate"])
- server_key = PKIItem.PrivateKey(config["server_key"])
- server_ca = PKIItem.Certificate(config["server_trust_anchor"])
- client_cert = PKIItem.Certificate(config["client_certificate"])
- client_key = PKIItem.PrivateKey(config["client_key"])
- client_ca = PKIItem.Certificate(config["client_trust_anchor"])
- # always check server cert key
- if self.__check_cert_key_content(server_cert, server_key) is False:
- result = self.CERT_KEY_FAIL
- break
- # if require to verify server
- if config["verify_server"] is True:
- if self.__check_verify_server(client_ca, server_cert) is False:
- result = self.CERT_KEY_FAIL
- break
- # if require to verify client
- if config["verify_client"] is True:
- if self.__check_verify_client(client_cert, client_key, server_ca) is False:
- result = self.CERT_KEY_FAIL
- break
- break
- return result
-
- CHECK_FUNC = {
- TYPE_CONTEXT: check_context,
- TYPE_NEGOTIATION: check_negotiation_param,
- TYPE_CERT_KEY: check_cert_key,
- }
- CONFIG_KEY = {
- TYPE_CONTEXT: CERT_KEY_CONFIG,
- TYPE_NEGOTIATION: NEGOTIATION_CONFIG,
- TYPE_CERT_KEY: CERT_KEY_CONFIG,
- }
-
- def compute_result(self, typ, config_list):
- succeed_list = []
- fail_list = []
- for config in config_list:
- if self.CHECK_FUNC[typ](self, dict(zip(self.CONFIG_KEY[typ], config))) != self.SUCCEED:
- fail_list.append(config)
- else:
- succeed_list.append(config)
- return succeed_list, fail_list
- pass
-
-
-class GenerateTestConfig(ComputeResult):
- TEST_CONFIG = ComputeResult.NEGOTIATION_CONFIG + \
- ComputeResult.CERT_KEY_CONFIG
-
- def __init__(self, client_capability, server_capability):
- ComputeResult.__init__(self, client_capability, server_capability)
- self.key_dict = PKIDict.PKIDict.KEY_DICT
- self.cert_dict = PKIDict.PKIDict.CERT_DICT
- pass
-
- def generate_negotiation_config(self):
- _config = list_multiply(self.client_capability.get("version"),
- self.client_capability.get("cipher_suite"),
- self.client_capability.get("fragment_size"),
- self.server_capability.get("version"),
- self.server_capability.get("cipher_suite"),
- self.server_capability.get("fragment_size"))
- return self.compute_result(self.TYPE_NEGOTIATION, _config)
-
- def __choose_cert_key(self, verify_server, verify_client,
- client_ca_opt, client_cert_key_opt,
- server_ca_opt, server_cert_key_opt):
- pass
-
- # CERT_KEY_CONFIG = ["verify_server", "verify_client",
- # "client_trust_anchor", "client_certificate", "client_key",
- # "server_trust_anchor", "server_certificate", "server_key"]
- def generate_cert_key_config(self):
- # first handle not verify certificate case
- _config_list = []
- for cert in PKIDict.PKIDict.CERT_DICT:
- for key in PKIDict.PKIDict.KEY_DICT:
- _config_list.append([False, False, None, None, None, None, cert, key])
- cert_key_succeed, context_fail = self.compute_result(self.TYPE_CONTEXT, _config_list)
- cert_key_succeed, cert_key_fail = self.compute_result(self.TYPE_CERT_KEY, cert_key_succeed)
- key_cert_pair = [[x[6], x[7]] for x in cert_key_succeed]
- # for succeed config, do server cert verify
- _config_list = []
- for _config in cert_key_succeed:
- for cert in PKIDict.PKIDict.CERT_DICT:
- _config_list.append([True, False, cert, None, None,
- None, _config[6], _config[7]])
- _cert_key_succeed, _context_fail = self.compute_result(self.TYPE_CONTEXT, _config_list)
- context_fail += _context_fail
- _cert_key_succeed, _cert_key_fail = self.compute_result(self.TYPE_CERT_KEY, _cert_key_succeed)
- cert_key_fail += _cert_key_fail
- cert_key_succeed += _cert_key_succeed
- # for succeed config, do client verify
- _config_list = []
- for _config in _cert_key_succeed:
- for key_cert in key_cert_pair:
- _config_list.append([True, True, _config[2], key_cert[0], key_cert[1],
- key_cert[0], _config[6], _config[7]])
- _cert_key_succeed, _context_fail = self.compute_result(self.TYPE_CONTEXT, _config_list)
- context_fail += _context_fail
- _cert_key_succeed, _cert_key_fail = self.compute_result(self.TYPE_CERT_KEY, _cert_key_succeed)
- cert_key_fail += _cert_key_fail
- cert_key_succeed += _cert_key_succeed
- # only verify client not verify server
- _config_list = []
- for _config in _cert_key_succeed:
- _config_list.append([False, True, None,
- _config[3], _config[4], _config[5], _config[6], _config[7]])
- _cert_key_succeed, _context_fail = self.compute_result(self.TYPE_CONTEXT, _config_list)
- context_fail += _context_fail
- _cert_key_succeed, _cert_key_fail = self.compute_result(self.TYPE_CERT_KEY, _cert_key_succeed)
- cert_key_fail += _cert_key_fail
- cert_key_succeed += _cert_key_succeed
- return cert_key_succeed, context_fail, cert_key_fail
-
-
-class ConfigUtility(GenerateTestConfig):
- # test config
- _TEST_CONFIG_DICT_KEY = ("config", "result")
-
- def __init__(self, client_capability, server_capability):
- GenerateTestConfig.__init__(self, client_capability, server_capability)
- pass
-
- def get_all_test_config(self):
- negotiation_succeed, negotiation_fail = self.generate_negotiation_config()
- cert_key_succeed, context_fail, cert_key_fail = self.generate_cert_key_config()
- succeed_config = list_multiply(negotiation_succeed, cert_key_succeed)
- context_fail_config = list_multiply([negotiation_succeed[0]], context_fail)
- negotiation_fail_config = list_multiply(negotiation_fail, [cert_key_succeed[0]])
- cert_key_fail_config = list_multiply([negotiation_succeed[0]], cert_key_fail)
- return dict(zip(["succeed", "context_fail", "negotiation_fail", "cert_key_fail"],
- [[dict(zip(self.TEST_CONFIG, x)) for x in succeed_config],
- [dict(zip(self.TEST_CONFIG, x)) for x in context_fail_config],
- [dict(zip(self.TEST_CONFIG, x)) for x in negotiation_fail_config],
- [dict(zip(self.TEST_CONFIG, x)) for x in cert_key_fail_config]]))
- pass
-
-
-def main():
- pass
-
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-
-
-VERSION = {
- "SSLv23": 0x1F,
- "SSLv23_2": 0x1C, # current target ssl implementation do not support SSLv20 and TLSv12
- "SSLv20": 0x01,
- "SSLv30": 0x02,
- "TLSv10": 0x04,
- "TLSv11": 0x08,
- "TLSv12": 0x10,
-}
-
-
-CIPHER_SUITE = {
- # supported algorithm
- "TLS_RSA_WITH_AES_128_CBC_SHA": "AES128-SHA",
- "TLS_RSA_WITH_AES_256_CBC_SHA": "AES256-SHA",
- "TLS_RSA_WITH_RC4_128_SHA": "RC4-SHA",
- "TLS_RSA_WITH_RC4_128_MD5": "RC4-MD5",
- "TLS_DH_DSS_WITH_AES_128_CBC_SHA": "DH-DSS-AES128-SHA",
- "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256": "ECDHE-RSA-AES128-GCM-SHA256",
-}
-
-
-FRAGMENT_SIZE = {
- "SIZE_DEFAULT": 0,
- "SIZE_512": 512,
- "SIZE_1024": 1024,
- "SIZE_2048": 2048,
- "SIZE_4096": 4096,
- "SIZE_8192": 8192,
-}
-
-
-VERIFY_OPTION = {
- "NOT_VERIFY": "NOT_VERIFY",
- "VERIFY": "VERIFY",
-}
-
-
-SEND_OPTION = {
- "MAX_SEND_SIZE_512": 512,
- "MAX_SEND_SIZE_1K": 1024,
- "MAX_SEND_SIZE_2K": 2048,
- "MAX_SEND_SIZE_4K": 4096,
- "MAX_SEND_SIZE_8K": 8192,
- "MAX_SEND_SIZE_16K": 16384,
-}
-
-
-def main():
- pass
-
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import socket
-import ssl
-import os
-import re
-import time
-import threading
-
-import Parameter
-from PKI import PKIDict
-from PKI import PKIItem
-from NativeLog import NativeLog
-
-
-class SerialPortCheckFail(StandardError):
- pass
-
-
-class SSLHandlerFail(StandardError):
- pass
-
-
-class PCFail(StandardError):
- pass
-
-
-class TargetFail(StandardError):
- pass
-
-
-def ssl_handler_wrapper(handler_type):
- if handler_type == "PC":
- exception_type = PCFail
- elif handler_type == "Target":
- exception_type = TargetFail
- else:
- exception_type = None
-
- def _handle_func(func):
- def _handle_args(*args, **kwargs):
- try:
- ret = func(*args, **kwargs)
- except StandardError, e:
- NativeLog.add_exception_log(e)
- raise exception_type(str(e))
- return ret
- return _handle_args
- return _handle_func
-
-
-class SerialPort(object):
- def __init__(self, tc_action, port_name):
- self.tc_action = tc_action
- self.port_name = port_name
-
- def flush(self):
- self.tc_action.flush_data(self.port_name)
-
- def write_line(self, data):
- self.tc_action.serial_write_line(self.port_name, data)
-
- def check(self, condition, timeout=10):
- if self.tc_action.check_response(self.port_name, condition, timeout) is False:
- raise SerialPortCheckFail("serial port check fail, condition is %s" % condition)
-
- def read_data(self):
- return self.tc_action.serial_read_data(self.port_name)
- pass
-
-
-class SSLHandler(object):
- # ssl operation timeout is 30 seconds
- TIMEOUT = 30
-
- def __init__(self, typ, config, serial_port):
- self.type = typ
- self.config = config
- self.timeout = self.TIMEOUT
- self.serial_port = serial_port
- self.accept_thread = None
- self.data_validation = False
-
- def set_timeout(self, timeout):
- self.timeout = timeout
-
- def init_context(self):
- pass
-
- def connect(self, remote_ip, remote_port, local_ip=0, local_port=0):
- pass
-
- def listen(self, local_port=0, local_ip=0):
- pass
-
- def send(self, size, data):
- pass
-
- def recv(self, length, timeout):
- pass
-
- def set_data_validation(self, validation):
- pass
-
- def close(self):
- if self.accept_thread is not None:
- self.accept_thread.exit()
- self.accept_thread.join(5)
- pass
-
-
-class TargetSSLHandler(SSLHandler):
- def __init__(self, typ, config, serial_port):
- SSLHandler.__init__(self, typ, config, serial_port)
- self.ssl_id = None
- self.server_id = None
-
- @ssl_handler_wrapper("Target")
- def init_context(self):
- self.serial_port.flush()
- self.serial_port.write_line("soc -T")
- self.serial_port.check("+CLOSEALL")
-
- if self.type == "client":
- version = Parameter.VERSION[self.config["client_version"]]
- fragment = self.config["client_fragment_size"]
- ca = self.config["client_trust_anchor"]
- cert = self.config["client_certificate"]
- key = self.config["client_key"]
- verify_required = 0x01 if self.config["verify_server"] is True else 0x00
- context_type = 1
- else:
- version = Parameter.VERSION[self.config["server_version"]]
- fragment = self.config["server_fragment_size"]
- ca = self.config["server_trust_anchor"]
- cert = self.config["server_certificate"]
- key = self.config["server_key"]
- verify_required = 0x02 if self.config["verify_client"] is True else 0x00
- context_type = 2
- ssc_cmd = "ssl -I -t %u -r %u -v %u -o %u" % (context_type, fragment, version, verify_required)
-
- if ca is not None:
- _index = PKIDict.PKIDict.CERT_DICT[ca]
- ssc_cmd += " -a %d" % _index
- if cert is not None:
- _index = PKIDict.PKIDict.CERT_DICT[cert]
- ssc_cmd += " -c %d" % _index
- if key is not None:
- _index = PKIDict.PKIDict.KEY_DICT[key]
- ssc_cmd += " -k %d" % _index
- # write command and check result
- self.serial_port.flush()
- self.serial_port.write_line(ssc_cmd)
- self.serial_port.check(["+SSL:OK", "AND", "!+SSL:ERROR"])
-
- @ssl_handler_wrapper("Target")
- def connect(self, remote_ip, remote_port, local_ip=0, local_port=0):
- self.serial_port.flush()
- self.serial_port.write_line("soc -B -t SSL -i %s -p %s" % (local_ip, local_port))
- self.serial_port.check(["OK", "AND", "!ERROR"])
- self.serial_port.flush()
- self.serial_port.write_line("soc -C -s 0 -i %s -p %s" % (remote_ip, remote_port))
- self.serial_port.check(["OK", "AND", "!ERROR"], timeout=30)
- self.ssl_id = 0
- pass
-
- def accept_succeed(self):
- self.ssl_id = 1
-
- class Accept(threading.Thread):
- def __init__(self, serial_port, succeed_cb):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.serial_port = serial_port
- self.succeed_cb = succeed_cb
- self.exit_flag = threading.Event()
-
- def run(self):
- while self.exit_flag.isSet() is False:
- try:
- self.serial_port.check("+ACCEPT:", timeout=1)
- self.succeed_cb()
- break
- except StandardError:
- pass
-
- def exit(self):
- self.exit_flag.set()
-
- @ssl_handler_wrapper("Target")
- def listen(self, local_port=0, local_ip=0):
- self.serial_port.flush()
- self.serial_port.write_line("soc -B -t SSL -i %s -p %s" % (local_ip, local_port))
- self.serial_port.check(["OK", "AND", "!ERROR"])
- self.serial_port.flush()
- self.serial_port.write_line("soc -L -s 0")
- self.serial_port.check(["OK", "AND", "!ERROR"])
- self.server_id = 0
- self.accept_thread = self.Accept(self.serial_port, self.accept_succeed)
- self.accept_thread.start()
- pass
-
- @ssl_handler_wrapper("Target")
- def send(self, size=10, data=None):
- if data is not None:
- size = len(data)
- self.serial_port.flush()
- self.serial_port.write_line("soc -S -s %s -l %s" % (self.ssl_id, size))
- self.serial_port.check(["OK", "AND", "!ERROR"])
- pass
-
- @ssl_handler_wrapper("Target")
- def recv(self, length, timeout=SSLHandler.TIMEOUT):
- pattern = re.compile("\+RECV:\d+,(\d+)\r\n")
- data_len = 0
- data = ""
- time1 = time.time()
- while time.time() - time1 < timeout:
- data += self.serial_port.read_data()
- if self.data_validation is True:
- if "+DATA_ERROR" in data:
- raise SSLHandlerFail("target data validation fail")
- while True:
- match = pattern.search(data)
- if match is None:
- break
- else:
- data_len += int(match.group(1))
- data = data[data.find(match.group())+len(match.group()):]
- if data_len >= length:
- result = True
- break
- else:
- result = False
- if result is False:
- raise SSLHandlerFail("Target recv fail")
-
- def set_data_validation(self, validation):
- self.data_validation = validation
- self.serial_port.flush()
- self.serial_port.write_line("soc -V -s %s -o %s" % (self.ssl_id, 1 if validation is True else 0))
- self.serial_port.check(["OK", "AND", "!ERROR"])
-
- @ssl_handler_wrapper("Target")
- def close(self):
- SSLHandler.close(self)
- self.serial_port.flush()
- self.serial_port.write_line("ssl -D")
- self.serial_port.check(["+SSL:OK", "OR", "+SSL:ERROR"])
- self.serial_port.write_line("soc -T")
- self.serial_port.check("+CLOSEALL")
- pass
-
- pass
-
-
-def calc_hash(index):
- return (index & 0xffffffff) % 83 + (index & 0xffffffff) % 167
-
-
-def verify_data(data, start_index):
- for i, c in enumerate(data):
- if ord(c) != calc_hash(start_index + i):
- NativeLog.add_trace_critical("[Data Validation Error] target sent data index %u is error."
- " Sent data is %x, should be %x"
- % (start_index + i, ord(c), calc_hash(start_index + i)))
- return False
- return True
-
-
-def make_validation_data(length, start_index):
- return bytes().join([chr(calc_hash(start_index + i)) for i in range(length)])
-
-
-class PCSSLHandler(SSLHandler):
- PROTOCOL_MAPPING = {
- "SSLv23": ssl.PROTOCOL_SSLv23,
- "SSLv23_2": ssl.PROTOCOL_SSLv23,
- "SSLv20": ssl.PROTOCOL_SSLv2,
- "SSLv30": ssl.PROTOCOL_SSLv3,
- "TLSv10": ssl.PROTOCOL_TLSv1,
- "TLSv11": ssl.PROTOCOL_TLSv1_1,
- "TLSv12": ssl.PROTOCOL_TLSv1_2,
- }
- CERT_FOLDER = os.path.join(".", "PKI", PKIDict.PKIDict.CERT_FOLDER)
- KEY_FOLDER = os.path.join(".", "PKI", PKIDict.PKIDict.KEY_FOLDER)
-
- def __init__(self, typ, config, serial_port):
- SSLHandler.__init__(self, typ, config, serial_port)
- self.ssl_context = None
- self.ssl = None
- self.server_sock = None
- self.send_index = 0
- self.recv_index = 0
-
- class InitContextThread(threading.Thread):
- def __init__(self, handler, version, cipher_suite, ca, cert, key, verify_required, remote_cert):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.handler = handler
- self.version = version
- self.cipher_suite = cipher_suite
- self.ca = ca
- self.cert = cert
- self.key = key
- self.verify_required = verify_required
- self.remote_cert = remote_cert
- pass
-
- @staticmethod
- def handle_cert(cert_file, ca_file):
- cert = PKIItem.Certificate()
- cert.parse_file(cert_file)
- ca = PKIItem.Certificate()
- ca.parse_file(ca_file)
- if cert.file_encoding == "PEM" and ca.name in cert.cert_chain:
- cert_chain_t = cert.cert_chain[1:cert.cert_chain.index(ca.name)]
- ret = ["%s.pem" % c for c in cert_chain_t]
- else:
- ret = []
- return ret
-
- def run(self):
- try:
- ssl_context = ssl.SSLContext(self.version)
- # cipher suite
- ssl_context.set_ciphers(self.cipher_suite)
- if self.ca is not None:
- ssl_context.load_verify_locations(cafile=os.path.join(self.handler.CERT_FOLDER, self.ca))
- # python ssl can't verify cert chain, don't know why
- # need to load cert between cert and ca for pem (pem cert contains cert chain)
- if self.remote_cert is not None:
- cert_chain = self.handle_cert(self.remote_cert, self.ca)
- for c in cert_chain:
- NativeLog.add_trace_info("load ca chain %s" % c)
- ssl_context.load_verify_locations(cafile=os.path.join(self.handler.CERT_FOLDER, c))
- if self.cert is not None:
- cert = os.path.join(self.handler.CERT_FOLDER, self.cert)
- key = os.path.join(self.handler.KEY_FOLDER, self.key)
- ssl_context.load_cert_chain(cert, keyfile=key)
- if self.verify_required is True:
- ssl_context.verify_mode = ssl.CERT_REQUIRED
- else:
- ssl_context.verify_mode = ssl.CERT_NONE
- self.handler.ssl_context = ssl_context
- except StandardError, e:
- NativeLog.add_exception_log(e)
- pass
- pass
-
- @ssl_handler_wrapper("PC")
- def init_context(self):
- if self.type == "client":
- version = self.PROTOCOL_MAPPING[self.config["client_version"]]
- cipher_suite = Parameter.CIPHER_SUITE[self.config["client_cipher_suite"]]
- ca = self.config["client_trust_anchor"]
- cert = self.config["client_certificate"]
- key = self.config["client_key"]
- verify_required = self.config["verify_server"]
- remote_cert = self.config["server_certificate"]
- else:
- version = self.PROTOCOL_MAPPING[self.config["server_version"]]
- cipher_suite = Parameter.CIPHER_SUITE[self.config["server_cipher_suite"]]
- ca = self.config["server_trust_anchor"]
- cert = self.config["server_certificate"]
- key = self.config["server_key"]
- verify_required = self.config["verify_client"]
- remote_cert = self.config["client_certificate"]
-
- _init_context = self.InitContextThread(self, version, cipher_suite, ca, cert, key, verify_required, remote_cert)
- _init_context.start()
- _init_context.join(5)
- if self.ssl_context is None:
- raise StandardError("Init Context Fail")
-
- pass
-
- @ssl_handler_wrapper("PC")
- def connect(self, remote_ip, remote_port, local_ip=0, local_port=0):
- sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
- # reuse socket in TIME_WAIT state
- sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
- sock.settimeout(self.timeout)
- sock.bind((local_ip, local_port))
- self.ssl = self.ssl_context.wrap_socket(sock)
- self.ssl.connect((remote_ip, remote_port))
- pass
-
- def accept_succeed(self, ssl_new):
- ssl_new.settimeout(self.timeout)
- self.ssl = ssl_new
-
- class Accept(threading.Thread):
- def __init__(self, server_sock, ssl_context, succeed_cb):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.server_sock = server_sock
- self.ssl_context = ssl_context
- self.succeed_cb = succeed_cb
- self.exit_flag = threading.Event()
-
- def run(self):
- while self.exit_flag.isSet() is False:
- try:
- new_socket, addr = self.server_sock.accept()
- ssl_new = self.ssl_context.wrap_socket(new_socket, server_side=True)
- self.succeed_cb(ssl_new)
- break
- except StandardError:
- pass
- pass
-
- def exit(self):
- self.exit_flag.set()
-
- @ssl_handler_wrapper("PC")
- def listen(self, local_port=0, local_ip=0):
- self.server_sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
- # reuse socket in TIME_WAIT state
- self.server_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
- self.server_sock.settimeout(1)
- self.server_sock.bind((local_ip, local_port))
- self.server_sock.listen(5)
- self.accept_thread = self.Accept(self.server_sock, self.ssl_context, self.accept_succeed)
- self.accept_thread.start()
- pass
-
- @ssl_handler_wrapper("PC")
- def send(self, size=10, data=None):
- if data is None:
- self.ssl.send(make_validation_data(size, self.send_index))
- if self.data_validation is True:
- self.send_index += size
- else:
- self.ssl.send(data)
-
- @ssl_handler_wrapper("PC")
- def recv(self, length, timeout=SSLHandler.TIMEOUT, data_validation=False):
- time1 = time.time()
- data_len = 0
- while time.time() - time1 < timeout:
- data = self.ssl.read()
-
- if data_validation is True and len(data) > 0:
- if verify_data(data, self.recv_index) is False:
- raise SSLHandlerFail("PC data validation fail, index is %s" % self.recv_index)
- self.recv_index += len(data)
- data_len += len(data)
- if data_len >= length:
- result = True
- break
- else:
- result = False
- if result is False:
- raise SSLHandlerFail("PC recv fail")
-
- def set_data_validation(self, validation):
- self.data_validation = validation
-
- @ssl_handler_wrapper("PC")
- def close(self):
- SSLHandler.close(self)
- if self.ssl is not None:
- self.ssl.close()
- self.ssl = None
- if self.server_sock is not None:
- self.server_sock.close()
- self.server_sock = None
- del self.ssl_context
-
-
-def main():
- ssl_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
- # cipher suite
- ssl_context.set_ciphers("AES256-SHA")
- ssl_context.load_cert_chain("D:\workspace\\auto_test_script\PKI\Certificate\\"
- "L2CertRSA512sha1_L1CertRSA512sha1_RootCertRSA512sha1.pem",
- keyfile="D:\workspace\\auto_test_script\PKI\Key\PrivateKey2RSA512.pem")
- ssl_context.verify_mode = ssl.CERT_NONE
- server_sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
- # reuse socket in TIME_WAIT state
- server_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
- server_sock.settimeout(100)
- server_sock.bind(("192.168.111.5", 443))
- server_sock.listen(5)
- while True:
- try:
- new_socket, addr = server_sock.accept()
- ssl_new = ssl_context.wrap_socket(new_socket, server_side=True)
- print "server connected"
- break
- except StandardError:
- pass
-
-
-pass
-
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import os
-import random
-import time
-import re
-
-from TCAction import TCActionBase
-from TCAction import PerformanceTCBase
-from NativeLog import NativeLog, HTMLGenerator
-from Utility import MakeFolder
-
-import ConfigUtility
-import Capability
-import SSLHandler
-
-LOG_FOLDER = os.path.join("AT_LOG", "TEMP")
-
-HEAP_SIZE_LIMIT = 30000
-
-
-class SSLHandshake(PerformanceTCBase.PerformanceTCBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=15, log_path=TCActionBase.LOG_PATH):
- PerformanceTCBase.PerformanceTCBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.client_type = None
- self.server_type = None
- self.client_capability = dict()
- self.server_capability = dict()
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- timestamp = time.strftime("%d%H%M%S", time.localtime())
- folder = MakeFolder.make_folder(os.path.join(LOG_FOLDER, "SSLHandshake_%s" % timestamp))
- self.tested_log = os.path.join(folder, "SSLHandshakeTested.log")
- self.failed_log = os.path.join(folder, "SSLHandshakeFailed.log")
- self.memory_track_log = os.path.join(folder, "SSLHandshakeMemTrack.log")
- self.succeed_log = os.path.join(folder, "SSLHandshakeSucceed.log")
- # store test result for failed config
- self.failed_log2 = os.path.join(folder, "SSLHandshakeFailed2.log")
- self.succeed_log2 = os.path.join(folder, "SSLHandshakeSucceed2.log")
-
- self.heap_size_pattern = re.compile("\+FREEHEAP:(\d+)\r\n")
-
- @staticmethod
- def close(client, server):
- try:
- client.close()
- except StandardError:
- pass
- try:
- server.close()
- except StandardError:
- pass
-
- def query_heap_size(self, scenario="idle"):
- self.flush_data("SSC1")
- self.serial_write_line("SSC1", "ram -H")
- match = self.check_regular_expression("SSC1", self.heap_size_pattern)
- if match is None:
- NativeLog.add_trace_critical("No response for SSC ram command")
- else:
- heap_size = int(match.group(1))
- self.log_memory("[heap size][%s] %s" % (scenario, heap_size))
- if heap_size < HEAP_SIZE_LIMIT and scenario == "idle":
- NativeLog.add_trace_critical("[HeapSize] %s" % heap_size)
-
- pass
-
- def prepare_handshake_test(self):
- # check if connected
- self.flush_data("SSC1")
- self.serial_write_line("SSC1", "sta -Q")
- if self.check_response("SSC1", "+JAP:CONNECTED,") is False:
- ap_ssid = self.get_parameter("ap_ssid")
- ap_password = self.get_parameter("ap_password")
- self.serial_write_line("SSC1", "sta -C -s %s -p %s" % (ap_ssid, ap_password))
- self.check_response("SSC1", "+JAP:CONNECTED,")
- self.query_heap_size()
-
- @staticmethod
- def log_data_to_file(file_name, data):
- with open(file_name, "ab+") as f:
- f.write(data+"\r\n")
-
- def log_test_config(self, data):
- # append to log
- with self.sync_lock:
- _formatted_data = HTMLGenerator.process_one_log_item(data)
- self.append_to_log_file(_formatted_data)
- self.log_data_to_file(self.tested_log, data)
-
- def log_memory(self, data):
- self.log_data_to_file(self.memory_track_log, data)
-
- def log_fail(self, data, log_type="succeed"):
- print data
- if log_type == "succeed":
- self.log_data_to_file(self.failed_log, data)
- else:
- self.log_data_to_file(self.failed_log2, data)
-
- def log_succeed(self, data, log_type="succeed"):
- if log_type == "succeed":
- self.log_data_to_file(self.succeed_log, data)
- else:
- self.log_data_to_file(self.succeed_log2, data)
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- # rewrite the following code
- if self.client_type == "PC":
- client_capability = Capability.PCSSLCapability("PCClient")
- client_handler = SSLHandler.PCSSLHandler
- client_ip = self.get_parameter("pc_ip")
- else:
- client_capability = Capability.TargetSSLCapability("TargetClient", **self.client_capability)
- client_handler = SSLHandler.TargetSSLHandler
- client_ip = self.get_parameter("target_ip")
- if self.server_type == "PC":
- server_capability = Capability.PCSSLCapability("PCServer")
- server_handler = SSLHandler.PCSSLHandler
- server_ip = self.get_parameter("pc_ip")
- else:
- server_capability = Capability.TargetSSLCapability("TargetServer", **self.server_capability)
- server_handler = SSLHandler.TargetSSLHandler
- server_ip = self.get_parameter("target_ip")
-
- serial_port = SSLHandler.SerialPort(self, "SSC1")
- # generate config
- config_utility = ConfigUtility.ConfigUtility(client_capability, server_capability)
- config_list_dict = config_utility.get_all_test_config()
-
- # succeed
- for config in config_list_dict["succeed"]:
- self.prepare_handshake_test()
- self.log_test_config("[Succeed config] %s" % config)
- port = random.randint(500, 50000)
- client = client_handler("client", config, serial_port)
- server = server_handler("server", config, serial_port)
- try:
- client.init_context()
- server.init_context()
- server.listen(local_ip=server_ip, local_port=port)
- client.connect(server_ip, port, local_ip=client_ip)
- self.query_heap_size(scenario="connected")
- self.log_succeed("[Succeed config] %s" % config)
- except SSLHandler.TargetFail, e:
- NativeLog.add_exception_log(e)
- self.log_fail("[Target][%s]\r\n[Failed][Succeed config] %s" % (e, config))
- except SSLHandler.PCFail, e:
- NativeLog.add_exception_log(e)
- self.log_fail("[PC][%s]\r\n[Failed][Succeed config] %s" % (e, config))
-
- self.close(client, server)
-
- # init context fail
- for config in config_list_dict["context_fail"]:
- self.prepare_handshake_test()
- port = random.randint(500, 50000)
- self.log_test_config("[Init context fail config] %s" % config)
- client = client_handler("client", config, serial_port)
- server = server_handler("server", config, serial_port)
- try:
- client.init_context()
- server.init_context()
- server.listen(local_ip=server_ip, local_port=port)
- client.connect(server_ip, port, local_ip=client_ip)
- self.log_fail("[Target]\r\n[Failed][Init context fail config] %s" % config, log_type="failed")
- except StandardError, e:
- NativeLog.add_exception_log(e)
- self.log_succeed("[init context fail] %s" % config, log_type="failed")
- self.close(client, server)
- pass
-
- # negotiation fail
- for config in config_list_dict["negotiation_fail"]:
- self.prepare_handshake_test()
- self.log_test_config("[negotiation_fail] %s" % config)
- port = random.randint(500, 50000)
- client = client_handler("client", config, serial_port)
- server = server_handler("server", config, serial_port)
- try:
- client.init_context()
- server.init_context()
- server.listen(local_ip=server_ip, local_port=port)
- except SSLHandler.TargetFail, e:
- NativeLog.add_exception_log(e)
- self.log_fail("[Target][%s]\r\n[Failed][negotiation fail config] %s" % (e, config), log_type="failed")
- self.close(client, server)
- continue
- except SSLHandler.PCFail, e:
- NativeLog.add_exception_log(e)
- self.log_fail("[PC][%s]\r\n[Failed][negotiation fail config] %s" % (e, config), log_type="failed")
- self.close(client, server)
- continue
- try:
- client.connect(server_ip, port, local_ip=client_ip)
- self.log_fail("[Target]\r\n[Failed][negotiation fail config] %s" % config, log_type="failed")
- except StandardError, e:
- NativeLog.add_exception_log(e)
- self.log_succeed("[negotiation fail] %s" % config, log_type="failed")
- self.close(client, server)
-
- # cert key fail
- for config in config_list_dict["cert_key_fail"]:
- self.prepare_handshake_test()
- self.log_test_config("[cert_key_fail] %s" % config)
- port = random.randint(500, 50000)
- client = client_handler("client", config, serial_port)
- server = server_handler("server", config, serial_port)
- try:
- client.init_context()
- server.init_context()
- server.listen(local_ip=server_ip, local_port=port)
- except SSLHandler.TargetFail, e:
- NativeLog.add_exception_log(e)
- self.log_fail("[Target][%s]\r\n[Failed][cert_key fail config] %s" % (e, config), log_type="failed")
- self.close(client, server)
- continue
- except SSLHandler.PCFail, e:
- NativeLog.add_exception_log(e)
- self.log_fail("[PC][%s]\r\n[Failed][cert_key fail config] %s" % (e, config), log_type="failed")
- self.close(client, server)
- continue
- try:
- client.connect(server_ip, port, local_ip=client_ip)
- self.log_fail("[Target][Failed][cert_key fail config] %s" % config, log_type="failed")
- except StandardError, e:
- NativeLog.add_exception_log(e)
- self.log_succeed("[cert_key_fail] %s" % config, log_type="failed")
- self.close(client, server)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import os
-import random
-import time
-import re
-
-from TCAction import TCActionBase
-from TCAction import PerformanceTCBase
-from NativeLog import NativeLog, HTMLGenerator
-from Utility import MakeFolder
-
-import ConfigUtility
-import Capability
-import SSLHandler
-
-LOG_FOLDER = os.path.join("AT_LOG", "TEMP")
-
-HEAP_SIZE_LIMIT = 30000
-
-
-class SSLLowMem(PerformanceTCBase.PerformanceTCBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=15, log_path=TCActionBase.LOG_PATH):
- PerformanceTCBase.PerformanceTCBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.client_type = None
- self.server_type = None
- self.client_capability = dict()
- self.server_capability = dict()
- self.heap_usage_range = (10000, 30000)
- self.test_time = 120
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- timestamp = time.strftime("%d%H%M%S", time.localtime())
- self.heap_size_pattern = re.compile("\+FREEHEAP:(\d+)\r\n")
-
- @staticmethod
- def close(client, server):
- try:
- client.close()
- except StandardError:
- pass
- try:
- server.close()
- except StandardError:
- pass
-
- def query_heap_size(self, scenario="idle"):
- self.flush_data("SSC1")
- self.serial_write_line("SSC1", "ram -H")
- match = self.check_regular_expression("SSC1", self.heap_size_pattern)
- if match is None:
- NativeLog.add_trace_critical("No response for SSC ram command")
- else:
- heap_size = int(match.group(1))
- if heap_size < HEAP_SIZE_LIMIT and scenario == "idle":
- NativeLog.add_trace_critical("[HeapSize] %s" % heap_size)
-
- pass
-
- def prepare_handshake_test(self):
- # check if connected
- self.flush_data("SSC1")
- self.serial_write_line("SSC1", "sta -Q")
- if self.check_response("SSC1", "+JAP:CONNECTED,") is False:
- ap_ssid = self.get_parameter("ap_ssid")
- ap_password = self.get_parameter("ap_password")
- self.serial_write_line("SSC1", "sta -C -s %s -p %s" % (ap_ssid, ap_password))
- self.check_response("SSC1", "+JAP:CONNECTED,")
- # random alloc memory
- while True:
- memory_size = random.randint(self.heap_usage_range[0], self.heap_usage_range[1])
- self.serial_write_line("SSC1", "soc -M -l %s" % memory_size)
- if self.check_response("SSC1", "+SOC_BUFFER:OK", timeout=1) is True:
- break
- # query size
- self.query_heap_size()
-
- @staticmethod
- def log_data_to_file(file_name, data):
- with open(file_name, "ab+") as f:
- f.write(data+"\r\n")
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- # rewrite the following code
- if self.client_type == "PC":
- client_capability = Capability.PCSSLCapability("PCClient")
- client_handler = SSLHandler.PCSSLHandler
- client_ip = self.get_parameter("pc_ip")
- else:
- client_capability = Capability.TargetSSLCapability("TargetClient", **self.client_capability)
- client_handler = SSLHandler.TargetSSLHandler
- client_ip = self.get_parameter("target_ip")
- if self.server_type == "PC":
- server_capability = Capability.PCSSLCapability("PCServer")
- server_handler = SSLHandler.PCSSLHandler
- server_ip = self.get_parameter("pc_ip")
- else:
- server_capability = Capability.TargetSSLCapability("TargetServer", **self.server_capability)
- server_handler = SSLHandler.TargetSSLHandler
- server_ip = self.get_parameter("target_ip")
-
- test_time = self.test_time * 60 # convert test time from minutes to seconds
-
- serial_port = SSLHandler.SerialPort(self, "SSC1")
- # generate config
- config_utility = ConfigUtility.ConfigUtility(client_capability, server_capability)
- config_list_dict = config_utility.get_all_test_config()
-
- start_time = time.time()
-
- # succeed
- for config in config_list_dict["succeed"]:
- if time.time() - start_time > test_time:
- break
- self.prepare_handshake_test()
- port = random.randint(500, 50000)
- client = client_handler("client", config, serial_port)
- server = server_handler("server", config, serial_port)
- try:
- client.init_context()
- server.init_context()
- server.listen(local_ip=server_ip, local_port=port)
- client.connect(server_ip, port, local_ip=client_ip)
- self.query_heap_size(scenario="connected")
- except SSLHandler.TargetFail, e:
- NativeLog.add_exception_log(e)
- except SSLHandler.PCFail, e:
- NativeLog.add_exception_log(e)
- self.close(client, server)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import random
-import time
-
-from TCAction import TCActionBase
-from TCAction import PerformanceTCBase
-from NativeLog import NativeLog
-import ConfigUtility
-import Capability
-import SSLHandler
-
-
-class SSLSendRecv(PerformanceTCBase.PerformanceTCBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=15, log_path=TCActionBase.LOG_PATH):
- PerformanceTCBase.PerformanceTCBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.target_role = "Client"
- self.max_send_len = 2048
- self.test_time = 120
- self.data_validation = False
-
- self.target_capability = {"version": ["SSLv23"],
- "cipher_suite": ["TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA"],
- "fragment_size": [2048],
- "verify_server": False,
- "verify_client": False,
- "key_algorithm": ["RSA2048"],
- "key_encoding": ["PEM"],
- "pem_encryption": [None],
- "certificate_encoding": ["PEM"],
- "certificate_digest": ["sha1"],
- }
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
-
- @staticmethod
- def close(client, server):
- try:
- client.close()
- except StandardError:
- pass
- try:
- server.close()
- except StandardError:
- pass
-
- def cleanup(self):
- self.serial_write_line("SSC1", "ssl -D")
- self.check_response("SSC1", "SSL")
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
-
- target_role = self.target_role
- max_send_len = self.max_send_len
- test_time = self.test_time * 60
- data_validation = self.data_validation
-
- ssl_port = random.randint(10000, 50000)
- NativeLog.add_prompt_trace("SSL port is %s" % ssl_port)
-
- # make sure ssl context deinit
- self.serial_write_line("SSC1", "ssl -D")
- self.check_response("SSC1", "SSL")
-
- # close all sockets and enlarge send buffer
- self.serial_write_line("SSC1", "soc -T")
- self.check_response("SSC1", "CLOSEALL")
-
- self.serial_write_line("SSC1", "soc -M -l %s" % max_send_len)
- self.check_response("SSC1", "+SOC_BUFFER:OK")
-
- # rewrite the following code
- if target_role == "Server":
- client_capability = Capability.PCSSLCapability("PCClient")
- client_handler = SSLHandler.PCSSLHandler
- client_ip = self.get_parameter("pc_ip")
- server_capability = Capability.TargetSSLCapability("TargetServer", **self.target_capability)
- server_handler = SSLHandler.TargetSSLHandler
- server_ip = self.get_parameter("target_ip")
- elif target_role == "Client":
- client_capability = Capability.TargetSSLCapability("TargetClient", **self.target_capability)
- client_handler = SSLHandler.TargetSSLHandler
- client_ip = self.get_parameter("target_ip")
- server_capability = Capability.PCSSLCapability("PCServer")
- server_handler = SSLHandler.PCSSLHandler
- server_ip = self.get_parameter("pc_ip")
- else:
- raise StandardError("Unsupported target role %s" % target_role)
-
- serial_port = SSLHandler.SerialPort(self, "SSC1")
-
- # generate one succeed config
- config_utility = ConfigUtility.ConfigUtility(client_capability, server_capability)
- config_list_dict = config_utility.get_all_test_config()
-
- for config in config_list_dict["succeed"]:
- try:
- # create connection
- NativeLog.add_prompt_trace(str(config)) # do print config
- client = client_handler("client", config, serial_port)
- server = server_handler("server", config, serial_port)
- client.init_context()
- server.init_context()
- server.listen(local_ip=server_ip, local_port=ssl_port)
- client.connect(server_ip, ssl_port, local_ip=client_ip)
- except StandardError, e:
- NativeLog.add_exception_log(e)
- return
-
- # set data validation
- client.set_data_validation(data_validation)
- server.set_data_validation(data_validation)
-
- # do send recv
- time_start = time.time()
- while time.time() - time_start < test_time:
- send_len = random.randint(1, max_send_len)
- try:
- client.send(size=send_len)
- client.send(size=send_len)
- server.recv(send_len*2)
- except StandardError, e:
- NativeLog.add_exception_log(e)
- NativeLog.add_prompt_trace("client send / server recv fail")
- break
- try:
- # do send twice, try to create a tcp segment with 2 records
- server.send(size=send_len)
- server.send(size=send_len)
- client.recv(send_len*2)
- except StandardError, e:
- NativeLog.add_exception_log(e)
- NativeLog.add_prompt_trace("server send / client recv fail")
- break
- else:
- self.set_result("Succeed")
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-__all__ = ["Capability", "ConfigUtility", "Parameter", "SSLHandler", "SSLHandshake"]
+++ /dev/null
-import random
-import os
-import time
-import string
-import re
-import threading
-
-from TCAction import TCActionBase, PerformanceTCBase
-from NativeLog import NativeLog
-from Utility import MakeFolder
-from Utility import MultimeterUtil
-from Utility import ShellCmd
-
-LOG_PATH = os.path.join("AT_LOG", "SLEEP")
-
-SLEEP_MODE_LIST = ["none_sleep", "light_sleep", "modem_sleep"]
-SLEEP_MODE = dict(zip(SLEEP_MODE_LIST, range(len(SLEEP_MODE_LIST))))
-
-SAMPLE_RATE_SLEEP_MODE_CHANGE = 0.002
-SAMPLE_NUM_SLEEP_MODE_CHANGE = 256
-
-SAMPLE_RATE = 0.002
-SAMPLE_NUM = 512
-MAX_VALUE = 1
-Y_AXIS_LABEL = "Current (mA)"
-GPIO_EDGE_DELAY = 120 # 20 ms
-
-NONE_SLEEP_MIN_CUR = 30
-LIGHT_SLEEP_MIN_CUR = 1.5
-MODEM_SLEEP_MIN_CUR = 20
-
-GPIO_WAKE_UP = 15
-GPIO_CHIP_RESET = 14
-
-SLEEP_WAKEUP_DELAY = 0.01
-
-
-class AutoSleep(PerformanceTCBase.PerformanceTCBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- PerformanceTCBase.PerformanceTCBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.test_mode = "mode_change"
- self.test_count = 100
- self.sleep_mode = SLEEP_MODE_LIST
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.log_folder = MakeFolder.make_folder(os.path.join(LOG_PATH,
- "AUTO_SLEEP_%s_%s" % (self.test_mode,
- time.strftime("%d%H%M%S",
- time.localtime()))))
- self.multimeter = MultimeterUtil.MultimeterUtil(self.log_folder)
-
- @staticmethod
- def find_min_items(item_list, count):
- assert count < len(item_list)
- min_items = []
- for i in range(count):
- min_val = min(item_list)
- min_items.append(min_val)
- item_list.remove(min_val)
- return min_items
-
- def sleep_mode_change(self, sleep_mode):
- result = True
- NativeLog.add_prompt_trace("[AutoSleep][ModeChange] %s start" % sleep_mode)
- # choose sleep mode
- sleep_mode_enum = SLEEP_MODE[sleep_mode]
- # change GPIO to make sure target exit sleep mode, so it can process SSC commands
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(SLEEP_WAKEUP_DELAY)
- # set sleep mode
- self.serial_write_line("SSC1", "sleep -S -t %d" % sleep_mode_enum)
- self.check_response("SSC1", "+SLEEP_MODE:OK")
- self.check_response("SSC2", "+GPIO_SET:OK")
-
- NativeLog.add_prompt_trace("[AutoSleep][ModeChange] mode set")
- time.sleep(6)
- # measure current
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE_SLEEP_MODE_CHANGE,
- sample_num=SAMPLE_NUM_SLEEP_MODE_CHANGE,
- max_value=MAX_VALUE)
- # do check measure
- min_items = self.find_min_items(current_line, 10)
- average_val = float(0)
- for val in min_items:
- average_val += val
- average_val /= 10
-
- NativeLog.add_prompt_trace("[AutoSleep][ModeChange] measure done, average min current %f" % average_val)
-
- if sleep_mode == "none_sleep":
- if average_val < NONE_SLEEP_MIN_CUR:
- result = False
- elif sleep_mode == "light_sleep":
- if average_val > LIGHT_SLEEP_MIN_CUR:
- result = False
- elif sleep_mode == "modem_sleep":
- if average_val > MODEM_SLEEP_MIN_CUR or average_val < LIGHT_SLEEP_MIN_CUR:
- result = False
- if result is False:
- NativeLog.add_trace_critical("[AutoSleep][ModeChange] %s failed" % sleep_mode)
- self.multimeter.draw_graph(current_line, SAMPLE_RATE, "%s_fail" % sleep_mode, Y_AXIS_LABEL)
-
- time.sleep(5)
- return result
-
- def sleep_current_measure(self, sleep_mode):
- result = True
-
- NativeLog.add_prompt_trace("[AutoSleep][CurrentMeasure] %s start" % sleep_mode)
- # choose sleep mode
- sleep_mode_enum = SLEEP_MODE[sleep_mode]
- # change GPIO to make sure target exit sleep mode, so it can process SSC commands
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- # set sleep mode
- time.sleep(SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "sleep -S -t %d" % sleep_mode_enum)
- self.check_response("SSC1", "+SLEEP_MODE:OK")
- self.check_response("SSC2", "+GPIO_SET:OK")
-
- NativeLog.add_prompt_trace("[AutoSleep][CurrentMeasure] set mode done")
- time.sleep(10)
- # measure current
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE,
- sample_num=SAMPLE_NUM,
- max_value=MAX_VALUE)
- self.multimeter.draw_graph(current_line, SAMPLE_RATE, sleep_mode, Y_AXIS_LABEL)
- NativeLog.add_prompt_trace("[AutoSleep][CurrentMeasure] measure done")
- return result
-
- def light_sleep_wakeup(self):
- result = True
- NativeLog.add_prompt_trace("[AutoSleep][LightSleepWakeup] start")
-
- time.sleep(1)
- self.serial_write_line("SSC1", "")
- time.sleep(1)
- # check if respond to uart
- self.flush_data("SSC1")
- for i in range(60):
- self.serial_write("SSC1", "a")
- time.sleep(0.043)
- time.sleep(0.1)
- respond_data = self.serial_read_data("SSC1")
- if len(respond_data) >= 60:
- NativeLog.add_trace_critical("[AutoSleep][light sleep wakeup] "
- "Failed when recving data during sleep, %d" % len(respond_data))
- result = False
-
- NativeLog.add_prompt_trace("[AutoSleep][LightSleepWakeup] check on sleep mode done")
-
- self.serial_write_line("SSC1", "")
- time.sleep(1)
-
- # change GPIO to make target wakeup
- self.serial_write_line("SSC2", "gpio -L -p %d -t 0" % GPIO_WAKE_UP)
- self.check_response("SSC2", "+GPIO_SET:OK")
-
- self.serial_write_line("SSC1", "")
- time.sleep(1)
- self.flush_data("SSC1")
- for i in range(60):
- self.serial_write("SSC1", "a")
- time.sleep(0.043)
- time.sleep(0.1)
- respond_data = self.serial_read_data("SSC1")
- if len(respond_data) < 60:
- NativeLog.add_trace_critical("[AutoSleep][light sleep wakeup] "
- "Failed when recving data during wakeup, %d" % len(respond_data))
- result = False
-
- NativeLog.add_prompt_trace("[AutoSleep][LightSleepWakeup] check on wakeup mode done")
- self.serial_write_line("SSC1", "")
- # restore GPIO level
- self.serial_write_line("SSC2", "gpio -L -p %d -t 1" % GPIO_WAKE_UP)
- self.check_response("SSC2", "+GPIO_SET:OK")
-
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_CHIP_RESET, GPIO_EDGE_DELAY))
- self.check_response("SSC2", "+GPIO_SET:OK")
- time.sleep(2)
- return result
-
- def sleep_exit_enter(self, sleep_mode, ssid, password):
- result = True
- if sleep_mode == "modem_sleep":
- max_current_for_sleep = 20
- elif sleep_mode == "light_sleep":
- max_current_for_sleep = 5
- else:
- raise StandardError("Not supported mode %s" % sleep_mode)
-
- NativeLog.add_prompt_trace("[AutoSleep][EnterExitSleep] %s start" % sleep_mode)
-
- ap_ssid = self.get_parameter("ap_ssid")
- ap_password = self.get_parameter("ap_password")
-
- # step A: no STA connect to SoftAP, enter modem sleep mode
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "op -S -o 1")
- self.check_response("SSC1", "+MODE:OK")
- self.check_response("SSC2", "+GPIO_SET:OK")
-
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "sta -C -s %s -p %s" % (ap_ssid, ap_password))
- self.check_response("SSC2", "+GPIO_SET:OK")
- self.check_response("SSC1", "+JAP:CONNECTED")
- self.check_response("SSC1", "pm open")
-
- self.serial_write_line("SSC2", "sta -D")
- self.check_response("SSC2", "+QAP")
-
- time.sleep(5)
-
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE,
- sample_num=SAMPLE_NUM,
- max_value=MAX_VALUE)
- min_items = self.find_min_items(current_line, 10)
- average_val = float(0)
- for val in min_items:
- average_val += val
- average_val /= 10
- if average_val > max_current_for_sleep:
- NativeLog.add_trace_critical("[AutoSleep][SleepExitEnter] "
- "did not enter %s sleep, %d" % (sleep_mode, average_val))
- self.multimeter.draw_graph(current_line, SAMPLE_RATE,
- "%s_sleep_exit_enter_fail_A" % sleep_mode, Y_AXIS_LABEL)
- result = False
-
- NativeLog.add_prompt_trace("[AutoSleep][EnterExitSleep] step A done")
- # step B: STA connect to SoftAP, exit modem sleep mode
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "op -S -o 3")
- self.check_response("SSC1", "+MODE:OK")
- self.check_response("SSC2", "+GPIO_SET:OK")
- time.sleep(1)
- self.serial_write_line("SSC2", "sta -C -s %s -p %s" % (ssid, password))
- self.check_response("SSC2", "+JAP:CONNECTED")
- # self.check_response("SSC1", "pm close")
- time.sleep(10)
-
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE,
- sample_num=SAMPLE_NUM,
- max_value=MAX_VALUE)
- min_items = self.find_min_items(current_line, 10)
- average_val = float(0)
- for val in min_items:
- average_val += val
- average_val /= 10
- if average_val < 30:
- NativeLog.add_trace_critical("[AutoSleep][SleepExitEnter] did not exit %s sleep" % sleep_mode)
- self.multimeter.draw_graph(current_line, SAMPLE_RATE,
- "%s_sleep_exit_enter_fail_B" % sleep_mode, Y_AXIS_LABEL)
- result = False
-
- NativeLog.add_prompt_trace("[AutoSleep][EnterExitSleep] step B done")
- # step C: target set to STA mode, enter modem sleep
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "op -S -o 1")
- self.check_response("SSC1", "+MODE:OK")
-
- self.check_response("SSC2", "+GPIO_SET:OK")
- # self.check_response("SSC1", "pm open")
- time.sleep(15)
-
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE,
- sample_num=SAMPLE_NUM,
- max_value=MAX_VALUE)
- min_items = self.find_min_items(current_line, 10)
- average_val = float(0)
- for val in min_items:
- average_val += val
- average_val /= 10
- if average_val > max_current_for_sleep:
- NativeLog.add_trace_critical("[AutoSleep][SleepExitEnter] did not enter %s sleep" % sleep_mode)
- self.multimeter.draw_graph(current_line, SAMPLE_RATE,
- "%s_sleep_exit_enter_fail_C" % sleep_mode, Y_AXIS_LABEL)
- result = False
-
- NativeLog.add_prompt_trace("[AutoSleep][EnterExitSleep] step C done")
- # step D: target disconnect, exit modem sleep
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "sta -D")
- self.check_response("SSC1", "+QAP")
- self.check_response("SSC2", "+GPIO_SET:OK")
- # self.check_response("SSC1", "pm close")
- time.sleep(5)
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE,
- sample_num=SAMPLE_NUM,
- max_value=MAX_VALUE)
- min_items = self.find_min_items(current_line, 10)
- average_val = float(0)
- for val in min_items:
- average_val += val
- average_val /= 10
- if average_val < 30:
- NativeLog.add_trace_critical("[AutoSleep][SleepExitEnter] did not exit %s sleep" % sleep_mode)
- self.multimeter.draw_graph(current_line, SAMPLE_RATE,
- "%s_sleep_exit_enter_fail_D" % sleep_mode, Y_AXIS_LABEL)
- result = False
-
- NativeLog.add_prompt_trace("[AutoSleep][EnterExitSleep] step D done")
- # step E: target connect to AP, enter modem sleep
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "sta -C -s %s -p %s" % (ap_ssid, ap_password))
- self.check_response("SSC2", "+GPIO_SET:OK")
- self.check_response("SSC1", "+JAP:CONNECTED")
- self.check_response("SSC1", "pm open")
- time.sleep(3)
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE,
- sample_num=SAMPLE_NUM,
- max_value=MAX_VALUE)
- min_items = self.find_min_items(current_line, 10)
- average_val = float(0)
- for val in min_items:
- average_val += val
- average_val /= 10
- if average_val > max_current_for_sleep:
- NativeLog.add_trace_critical("[AutoSleep][SleepExitEnter] did not enter %s sleep" % sleep_mode)
- self.multimeter.draw_graph(current_line, SAMPLE_RATE,
- "%s_sleep_exit_enter_fail_E" % sleep_mode, Y_AXIS_LABEL)
- result = False
-
- NativeLog.add_prompt_trace("[AutoSleep][EnterExitSleep] step E done")
- # step F: target set to AP mode, exit modem sleep
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "op -S -o 2")
- self.check_response("SSC1", "+MODE:OK")
- self.check_response("SSC2", "+GPIO_SET:OK")
- # self.check_response("SSC1", "pm close")
- time.sleep(5)
-
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE,
- sample_num=SAMPLE_NUM,
- max_value=MAX_VALUE)
- min_items = self.find_min_items(current_line, 10)
- average_val = float(0)
- for val in min_items:
- average_val += val
- average_val /= 10
- if average_val < 30:
- NativeLog.add_trace_critical("[AutoSleep][SleepExitEnter] did not exit %s sleep" % sleep_mode)
- self.multimeter.draw_graph(current_line, SAMPLE_RATE,
- "%s_sleep_exit_enter_fail_F" % sleep_mode, Y_AXIS_LABEL)
- result = False
-
- NativeLog.add_prompt_trace("[AutoSleep][EnterExitSleep] step F done")
- return result
-
- def ping_test(self, sleep_mode):
- result = True
- NativeLog.add_prompt_trace("[AutoSleep][PingTest] %s start" % sleep_mode)
- # choose sleep mode
- sleep_mode_enum = SLEEP_MODE[sleep_mode]
- if sleep_mode == "modem_sleep":
- max_current_for_sleep = MODEM_SLEEP_MIN_CUR
- elif sleep_mode == "light_sleep":
- max_current_for_sleep = LIGHT_SLEEP_MIN_CUR
- else:
- raise StandardError("Not supported mode %s" % sleep_mode)
-
- self.serial_write_line("SSC1", "op -S -o 1")
- self.check_response("SSC1", "+MODE:OK")
-
- # set sleep mode
- self.serial_write_line("SSC1", "sleep -S -t %d" % sleep_mode_enum)
- self.check_response("SSC1", "+SLEEP_MODE:OK")
- NativeLog.add_prompt_trace("[AutoSleep][PingTest] set mode done")
-
- # connect to AP
- ap_ssid = self.get_parameter("ap_ssid")
- ap_password = self.get_parameter("ap_password")
- target_ip = self.get_parameter("target_ip")
-
- self.serial_write_line("SSC1", "sta -C -s %s -p %s" % (ap_ssid, ap_password))
- self.check_response("SSC1", "+JAP:CONNECTED")
-
- time.sleep(10)
- # measure current, should be in sleep mode
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE,
- sample_num=SAMPLE_NUM,
- max_value=MAX_VALUE)
- min_items = self.find_min_items(current_line, 10)
- average_val = float(0)
- for val in min_items:
- average_val += val
- average_val /= 10
-
- if average_val > max_current_for_sleep:
- NativeLog.add_trace_critical("[AutoSleep][PingTest] step A did not enter %s sleep, %f"
- % (sleep_mode, average_val))
- self.multimeter.draw_graph(current_line, SAMPLE_RATE,
- "%s_ping_test_fail_not_enter_sleep" % sleep_mode, Y_AXIS_LABEL)
- result = False
- else:
- NativeLog.add_prompt_trace("[AutoSleep][PingTest] step A enter %s sleep, %f"
- % (sleep_mode, average_val))
-
- class PingThread(threading.Thread):
- def __init__(self, ping_ip):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.target_ip = ping_ip
- self.exit_event = threading.Event()
-
- def run(self):
- while self.exit_event.isSet() is False:
- ShellCmd.shell_check_output("ping %s -w 500" % self.target_ip)
- time.sleep(0.1)
- pass
-
- def exit(self):
- self.exit_event.set()
-
- NativeLog.add_prompt_trace("[AutoSleep][PingTest] ping start")
- ping_thread = PingThread(target_ip)
- ping_thread.start()
- time.sleep(5)
-
- # measure current, should not be in sleep mode
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE,
- sample_num=SAMPLE_NUM,
- max_value=MAX_VALUE)
- min_items = self.find_min_items(current_line, 10)
- average_val = float(0)
- for val in min_items:
- average_val += val
- average_val /= 10
- if average_val < 30:
- NativeLog.add_trace_critical("[AutoSleep][PingTest] step B did not exit %s sleep, %f"
- % (sleep_mode, average_val))
- self.multimeter.draw_graph(current_line, SAMPLE_RATE,
- "%s_ping_test_fail_not_exit_sleep" % sleep_mode, Y_AXIS_LABEL)
- result = False
- else:
- NativeLog.add_prompt_trace("[AutoSleep][PingTest] step B exit %s sleep, %f"
- % (sleep_mode, average_val))
-
- ping_thread.exit()
- ping_thread.join(20)
- NativeLog.add_prompt_trace("[AutoSleep][PingTest] ping stop")
- time.sleep(10)
-
- # measure current, should not be in sleep mode
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE,
- sample_num=SAMPLE_NUM,
- max_value=MAX_VALUE)
- min_items = self.find_min_items(current_line, 10)
- average_val = float(0)
- for val in min_items:
- average_val += val
- average_val /= 10
- if average_val > max_current_for_sleep:
- NativeLog.add_trace_critical("[AutoSleep][PingTest] step C did not enter %s" % sleep_mode)
- self.multimeter.draw_graph(current_line, SAMPLE_RATE,
- "%s_ping_test_fail_not_enter_sleep" % sleep_mode, Y_AXIS_LABEL)
- result = False
- else:
- NativeLog.add_prompt_trace("[AutoSleep][PingTest] step C enter %s sleep" % sleep_mode)
-
- return result
-
- def cleanup(self):
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "sleep -S -t %d" % SLEEP_MODE["modem_sleep"])
- self.check_response("SSC1", "OK")
- self.check_response("SSC2", "+GPIO_SET:OK")
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
-
- try:
- test_mode = self.test_mode
- test_count = self.test_count
- sleep_mode = self.sleep_mode
- except StandardError, e:
- return
-
- # make sure enter modem sleep mode before start test
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "sleep -S -t %d" % SLEEP_MODE["modem_sleep"])
- self.check_response("SSC1", "+SLEEP_MODE:OK")
- self.check_response("SSC2", "+GPIO_SET:OK")
- self.check_response("SSC1", "pm open", timeout=10)
-
- self.serial_write_line("SSC1", "gpio -G -p %d" % GPIO_WAKE_UP)
- self.check_response("SSC1", "+GPIO_GET")
- self.serial_write_line("SSC1", "gpio -G -p %d" % GPIO_CHIP_RESET)
- self.check_response("SSC1", "+GPIO_GET")
-
- # start test
- if "mode_change" in test_mode:
- for i in range(test_count):
- result = self.sleep_mode_change(random.choice(SLEEP_MODE_LIST))
-
- elif "measure_current" in test_mode:
- for i in range(test_count):
- for mode in sleep_mode:
- result = self.sleep_current_measure(mode)
- pass
- elif "gpio_wakeup" in test_mode:
- # change GPIO to make sure target exit sleep mode, so it can process SSC commands
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(SLEEP_WAKEUP_DELAY)
- # set sleep mode
- self.serial_write_line("SSC1", "sleep -S -t %d" % SLEEP_MODE["light_sleep"])
- self.check_response("SSC1", "+SLEEP_MODE:OK")
-
- self.check_response("SSC2", "+GPIO_SET:OK")
- for i in range(test_count):
- result = self.light_sleep_wakeup()
- pass
- elif "sleep_exit_enter" in test_mode:
- ssid = "".join([random.choice(string.lowercase) for i in range(10)])
- password = "".join([random.choice(string.lowercase) for i in range(10)])
- self.serial_write_line("SSC2", "sta -D")
- self.check_response("SSC2", "+QAP")
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "op -S -o 3")
- self.check_response("SSC1", "+MODE:OK")
- self.check_response("SSC2", "+GPIO_SET:OK")
- self.serial_write_line("SSC1", "ap -S -s %s -p %s -t 3" % (ssid, password))
- self.check_response("SSC1", "+SAP:OK")
- self.serial_write_line("SSC2", "op -S -o 1")
- self.check_response("SSC2", "+MODE:OK")
-
- for mode in sleep_mode:
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "sleep -S -t %d" % SLEEP_MODE[mode])
- self.check_response("SSC1", "+SLEEP_MODE:OK")
- self.check_response("SSC2", "+GPIO_SET:OK")
-
- for i in range(test_count):
- result = self.sleep_exit_enter(mode, ssid, password)
- elif "ping" in test_mode:
- for mode in sleep_mode:
- for i in range(test_count):
- result = self.ping_test(mode)
- pass
-
-
-def main():
- pass
-
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import random
-import os
-import time
-
-from TCAction import TCActionBase, PerformanceTCBase
-from Utility import MakeFolder
-from Utility import MultimeterUtil
-from NativeLog import NativeLog
-
-LOG_PATH = os.path.join("AT_LOG", "SLEEP")
-
-DEEP_SLEEP_OPTION_LIST = ["up_to_bin", "normal", "no_rf_calibrate", "rf_off"]
-DEEP_SLEEP_OPTION = {
- "up_to_bin": 0,
- "normal": 1,
- "no_rf_calibrate": 2,
- "rf_off": 4,
-}
-
-SAMPLE_RATE = 0.001
-SAMPLE_NUM = 512
-MAX_VALUE = 0.1
-Y_AXIS_LABEL = "Current (mA)"
-
-
-MEASURE_FREQ = 3600
-
-GPIO_WAKE_UP = 15
-GPIO_CHIP_RESET = 14
-GPIO_EDGE_DELAY = 100 # 20 ms
-
-
-class DeepSleep(PerformanceTCBase.PerformanceTCBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- PerformanceTCBase.PerformanceTCBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.test_mode = "mode_change"
- self.test_count = 100
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.log_folder = MakeFolder.make_folder(os.path.join(LOG_PATH,
- "DEEP_SLEEP_%s_%s" % (self.test_mode,
- time.strftime("%d%H%M%S",
- time.localtime()))))
- self.sleep_time_log = os.path.join(self.log_folder, "deep_sleep_wakeup_time.log")
- self.multimeter = MultimeterUtil.MultimeterUtil(self.log_folder)
-
- def deep_sleep_stable(self):
- result = True
- RandomTime = random.randint(1, 100)
- self.serial_write_line("SSC1", "dsleep -S -t %s" % RandomTime)
- if self.check_response("SSC1", "+DSLEEP:OK") is False:
- result = False
- if self.check_response("SSC1", "ready!!!") is False:
- result = False
- NativeLog.add_trace_critical("[DeepSleep][Stable] wait ready err")
- else:
- NativeLog.add_trace_critical("[DeepSleep][Stable] SleepTime:%d" % RandomTime)
- time.sleep(1)
-
- RandomTime = random.randint(100000, 1000000)
- self.serial_write_line("SSC1", "dsleep -S -t %s" % RandomTime)
- if self.check_response("SSC1", "+DSLEEP:OK") is False:
- result = False
- if self.check_response("SSC1", "ready!!!") is False:
- result = False
- NativeLog.add_trace_critical("[DeepSleep][Stable] wait ready err")
- else:
- NativeLog.add_trace_critical("[DeepSleep][Stable] SleepTime:%d" % RandomTime)
- time.sleep(1)
- return result
-
- def deep_sleep_current_measure(self):
- result = True
- self.serial_write_line("SSC1", "")
- self.serial_write_line("SSC1", "dsleep -S -t 10000000")
- if self.check_response("SSC1", "+DSLEEP:OK") is False:
- result = False
- time.sleep(3)
- # measure current
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE,
- sample_num=SAMPLE_NUM,
- max_value=MAX_VALUE)
- average_current = float(0)
- for current in current_line:
- average_current += current
- average_current /= SAMPLE_NUM
-
- self.multimeter.draw_graph(current_line, SAMPLE_RATE,
- "deep_sleep_current", Y_AXIS_LABEL)
-
- if average_current > 1:
- NativeLog.add_trace_critical("[DeepSleep][CurrentMeasure] average current %f > 1mA" % average_current)
- else:
- NativeLog.add_trace_critical("[DeepSleep][CurrentMeasure] dsleep current ok, %f" % average_current)
-
- if self.check_response("SSC1", "ready!!!") is False:
- NativeLog.add_trace_critical("[DeepSleep][CurrentMeasure] CurrentMeasure wait ready err %f"
- % average_current)
- result = False
-
- NativeLog.add_trace_critical("[DeepSleep][CurrentMeasure] wait ready ok")
-
- return result
-
- ##########################################
- # gpio wake up
- ##########################################
- def deep_sleep_wakeup(self):
- result = True
-
- self.serial_write_line("SSC1", "dsleep -S -t 0")
- if self.check_response("SSC1", "+DSLEEP:OK") is False:
- result = False
-
- time.sleep(2)
-
- # measure current
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE,
- sample_num=SAMPLE_NUM,
- max_value=MAX_VALUE)
- average_current = float(0)
- for current in current_line:
- average_current += current
- average_current /= SAMPLE_NUM
-
- if average_current > 1:
- NativeLog.add_trace_critical("[DeepSleep][Wakeup] average current %f > 1mA" % average_current)
- self.multimeter.draw_graph(current_line, SAMPLE_RATE,
- "deep_sleep_current", Y_AXIS_LABEL)
-
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_CHIP_RESET, GPIO_EDGE_DELAY))
- self.check_response("SSC2", "+GPIO_SET:OK")
- if self.check_response("SSC1", "ready!!!") is False:
- NativeLog.add_trace_critical("[DeepSleep][Wakeup] target did not wakeup")
- result = False
- else:
- NativeLog.add_trace_critical("[DeepSleep][Wakeup] target wakeup")
-
- time.sleep(1)
- return result
-
- #########################################
- #test one hour, Verify RTC Clock timer
- #########################################
- def deep_sleep_timeout(self):
- result = True
- Timeout = 3600
-
- start_sleep_time = time.time()
- self.serial_write_line("SSC1", "")
- self.serial_write_line("SSC1", "dsleep -S -t %d" % (Timeout*1000000))
- if self.check_response("SSC1", "+DSLEEP:OK") is False:
- result = False
- self.check_response("SSC1", "ready!!!", timeout = Timeout*2)
- time_escaped = time.time() - start_sleep_time
- NativeLog.add_trace_critical("[DeepSleep][timeout] desired sleep timeout is %s, actual sleep timeout is %s" % (Timeout, time_escaped))
- with open(self.sleep_time_log, "ab+") as f:
- f.write("[DeepSleep] desired sleep timeout is %s, actual sleep timeout is %s" % (Timeout, time_escaped))
- return result
-
- ############################################
- # Capture current map, verify the process of power on
- # notice: option = "up_to_bin" up to byte108 in init.bin,
- ############################################
- def wake_option(self):
- result = True
- for option in DEEP_SLEEP_OPTION_LIST:
- for i in range(8):
- self.serial_write_line("SSC1", "dsleep -O -m %s" % DEEP_SLEEP_OPTION[option])
- if self.check_response("SSC1", "+DSLEEP:OK") is False:
- result = False
- self.serial_write_line("SSC1", "dsleep -S -t 1200000")
- if self.check_response("SSC1", "+DSLEEP:OK") is False:
- result = False
-
- # measure current
- current_line = self.multimeter.measure_current(sample_rate=0.002,
- sample_num=SAMPLE_NUM,
- max_value=1)
- self.multimeter.draw_graph(current_line, SAMPLE_RATE,
- "deep_sleep_wakeup_option_%s_%d"
- % (option, DEEP_SLEEP_OPTION[option]), Y_AXIS_LABEL)
-
- NativeLog.add_trace_critical("[DeepSleep][wake_option] target wakeup option:%d"
- % DEEP_SLEEP_OPTION[option])
- time.sleep(3)
-
- return result
-
- def deep_sleep_wakeup_flash_gpio_status(self):
- result = True
- RandomTime = random.randint(2000000, 2000000)
- self.serial_write_line("SSC1", "dsleep -S -t %s" % RandomTime)
- if self.check_response("SSC1", "+DSLEEP:OK") is False:
- result = False
- if self.check_response("SSC1", "ready!!!") is False:
- result = False
- NativeLog.add_trace_critical("[DeepSleep][Stable] wait ready err")
- else:
- NativeLog.add_trace_critical("[DeepSleep][Stable] SleepTime:%d" % RandomTime)
-
- self.serial_write_line("SSC1", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- self.check_response("SSC1", "+GPIO_SET:OK")
-
- time.sleep(1)
- return result
-
- def cleanup(self):
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_CHIP_RESET, GPIO_EDGE_DELAY))
- self.check_response("SSC2", "+GPIO_SET:OK")
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.serial_write_line("SSC2", "sta -D")
- self.check_response("SSC2", "+QAP")
- self.serial_write_line("SSC1", "sta -D")
- self.check_response("SSC1", "+QAP")
- try:
- test_mode = self.test_mode
- test_count = self.test_count
- except StandardError, e:
- return
-
- # self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_CHIP_RESET, GPIO_EDGE_DELAY))
- # self.check_response("SSC2", "+GPIO_SET:OK")
- # time.sleep(1)
-
- if "stable" in test_mode:
- for i in range(test_count):
- # result = self.deep_sleep_wakeup_flash_gpio_status()
- result = self.deep_sleep_stable()
- elif "measure_current" in test_mode:
- for i in range(test_count):
- result = self.deep_sleep_current_measure()
- elif "timeout" in test_mode:
- for i in range(test_count):
- result = self.deep_sleep_timeout()
- elif "wakeup" in test_mode:
- for i in range(test_count):
- result = self.deep_sleep_wakeup()
- elif "wake_option" in test_mode:
- for i in range(test_count):
- result = self.wake_option()
-
- self.set_result("Succeed")
- pass
-
-
-def main():
- pass
-
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import random
-import os
-import time
-
-from TCAction import TCActionBase, PerformanceTCBase
-from Utility import MakeFolder
-from Utility import MultimeterUtil
-from NativeLog import NativeLog
-
-LOG_PATH = os.path.join("AT_LOG", "SLEEP")
-
-SLEEP_MODE_LIST = ["none_sleep", "light_sleep", "modem_sleep"]
-SLEEP_MODE = dict(zip(SLEEP_MODE_LIST, range(len(SLEEP_MODE_LIST))))
-
-SAMPLE_RATE = 0.002
-SAMPLE_NUM = 512
-MAX_VALUE = 1
-Y_AXIS_LABEL = "Current (mA)"
-
-MEASURE_FREQ_HOUR = 3600
-
-GPIO_WAKE_UP = 15
-GPIO_EDGE_DELAY = 120 # 20 ms
-GPIO_CHIP_RESET = 14
-GPIO_CHIP_RESET_DELAY = 100
-
-NONE_SLEEP_MIN_CUR = 30
-LIGHT_SLEEP_MIN_CUR = 1.5
-MODEM_SLEEP_MIN_CUR = 20
-
-LIGHT_SLEEP_WAKEUP_DELAY = 0.01
-
-
-class ForceSleep(PerformanceTCBase.PerformanceTCBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- PerformanceTCBase.PerformanceTCBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.test_mode = "mode_change"
- self.test_count = 100
- self.sleep_mode = SLEEP_MODE_LIST
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.log_folder = MakeFolder.make_folder(os.path.join(LOG_PATH,
- "FORCE_SLEEP_%s_%s" % (self.test_mode,
- time.strftime("%d%H%M%S",
- time.localtime()))))
- self.multimeter = MultimeterUtil.MultimeterUtil(self.log_folder)
-
- @staticmethod
- def find_min_items(item_list, count):
- assert count < len(item_list)
- min_items = []
- for i in range(count):
- min_val = min(item_list)
- min_items.append(min_val)
- item_list.remove(min_val)
- return min_items
-
- def sleep_time_boundary_test(self):
- result = True
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(LIGHT_SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "op -S -o 0")
- self.check_response("SSC2", "+GPIO_SET:OK")
- if self.check_response("SSC1", "+MODE:OK") is False:
- result = False
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(LIGHT_SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "fsleep -S -t 1")
- self.check_response("SSC2", "+GPIO_SET:OK")
- if self.check_response("SSC1", "+FSLEEP_MODE:OK") is False:
- result = False
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(LIGHT_SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "fsleep -D -d 0")
- self.check_response("SSC2", "+GPIO_SET:OK")
- # if self.check_response("SSC1", "+FSLEEP_MODE:OK") is False:
- # result = False
- time.sleep(1)
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE,
- sample_num=SAMPLE_NUM,
- max_value=MAX_VALUE)
- min_items = self.find_min_items(current_line, 10)
- average_val = float(0)
- for val in min_items:
- average_val += val
- average_val /= 10
- if average_val > LIGHT_SLEEP_MIN_CUR:
- NativeLog.add_trace_critical("[ForceSleep][Boundary] did not enter light sleep %d" % average_val)
- result = False
- return result
- else:
- NativeLog.add_trace_critical("[ForceSleep][Boundary] enter light sleep")
-
- for i in range(3):
- time.sleep(MEASURE_FREQ_HOUR)
- for j in range(3):
- time.sleep(10)
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE,
- sample_num=SAMPLE_NUM,
- max_value=MAX_VALUE)
- self.multimeter.draw_graph(current_line, SAMPLE_RATE,
- "light_sleep_boundary_%s_%s" % (i, j), Y_AXIS_LABEL)
- pass
-
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- self.check_response("SSC2", "+GPIO_SET:OK")
- time.sleep(1)
- self.serial_write_line("SSC1", "reboot")
- self.check_response("SSC1", "ready!!!")
- self.serial_write_line("SSC1", "fsleep -S -t 1")
- if self.check_response("SSC1", "+FSLEEP_MODE:OK") is False:
- result = False
- self.serial_write_line("SSC1", "")
- self.serial_write_line("SSC1", "fsleep -B -t 1")
- if self.check_response("SSC1", "+FSLEEP_MODE:OK") is False:
- result = False
- time.sleep(MEASURE_FREQ_HOUR)
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_CHIP_RESET,GPIO_CHIP_RESET_DELAY))
- return result
-
- def force_sleep_current_measure(self, sleep_mode):
- result = True
- # choose sleep mode
- sleep_mode_enum = SLEEP_MODE[sleep_mode]
-
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(LIGHT_SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "op -S -o 0")
- if self.check_response("SSC1", "+MODE:OK") is False:
- result = False
- self.check_response("SSC2", "+GPIO_SET:OK")
-
- # set sleep mode
- self.serial_write_line("SSC1", "fsleep -S -t %s" % sleep_mode_enum)
- if self.check_response("SSC1", "+FSLEEP_MODE:OK") is False:
- result = False
- self.serial_write_line("SSC1", "fsleep -D -d 0")
- # if self.check_response("SSC1", "+FSLEEP_MODE:OK") is False:
- # result = False
-
- time.sleep(3)
-
- for i in range(10):
- time.sleep(10)
- # measure current
- current_line = self.multimeter.measure_current(sample_rate=SAMPLE_RATE,
- sample_num=SAMPLE_NUM,
- max_value=MAX_VALUE)
- self.multimeter.draw_graph(current_line, SAMPLE_RATE,
- "force_%s_sleep_current_%s" % (sleep_mode, i), Y_AXIS_LABEL)
- NativeLog.add_trace_critical("[ForceSleep][current_measure] force_%s_%d"% (sleep_mode,i))
-
- # self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP,GPIO_EDGE_DELAY))
- # self.check_response("SSC2", "+GPIO_SET:OK")
- # self.serial_write_line("SSC1", "reboot")
- # self.check_response("SSC1", "ready!!!")
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_CHIP_RESET, GPIO_CHIP_RESET_DELAY))
- self.check_response("SSC2", "+GPIO_SET:OK")
- if self.check_response("SSC1", "ready!!!") is False:
- result = False
- time.sleep(1)
- return result
-
- def force_sleep_illegal_enter(self):
- result = True
- # choose sleep mode
-
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(LIGHT_SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "op -S -o 2")
- if self.check_response("SSC1", "+MODE:OK") is False:
- result = False
- self.check_response("SSC2", "+GPIO_SET:OK")
-
- # set sleep mode
- self.serial_write_line("SSC1", "fsleep -D -d 0")
- if self.check_response("SSC1", "ready!!!", timeout=10) is False:
- result = False
- time.sleep(5)
- return result
-
- def force_sleep_stable_test(self):
- result = True
- # choose sleep mode
-
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(LIGHT_SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "fsleep -L")
- if self.check_response("SSC1", "+MODE:OK") is False:
- result = False
- self.check_response("SSC2", "+GPIO_SET:OK")
-
- time.sleep(3600)
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_CHIP_RESET, GPIO_CHIP_RESET_DELAY))
- time.sleep(5)
- return result
-
- def cleanup(self):
- self.serial_write_line("SSC2", "gpio -E -p %d -t 0 -d %d" % (GPIO_WAKE_UP, GPIO_EDGE_DELAY))
- time.sleep(LIGHT_SLEEP_WAKEUP_DELAY)
- self.serial_write_line("SSC1", "reboot")
- self.check_response("SSC1", "ready!!!")
- self.check_response("SSC2", "+GPIO_SET:OK")
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.serial_write_line("SSC2", "sta -D")
- self.check_response("SSC2", "+QAP")
- self.serial_write_line("SSC1", "sta -D")
- self.check_response("SSC1", "+QAP")
- try:
- test_mode = self.test_mode
- test_count = self.test_count
- sleep_mode = self.sleep_mode
- except StandardError, e:
- return
-
- # set gpio to input on sleep target
- self.serial_write_line("SSC1", "gpio -G -p %d" % GPIO_WAKE_UP)
- self.check_response("SSC1", "+GPIO_GET")
- self.serial_write_line("SSC1", "gpio -G -p %d" % GPIO_CHIP_RESET)
- self.check_response("SSC1", "+GPIO_GET")
-
- if test_mode == "boundary_test":
- for i in range(test_count):
- result = self.sleep_time_boundary_test()
- pass
- elif test_mode == "measure_current":
- for j in range(test_count):
- for mode in sleep_mode:
- result = self.force_sleep_current_measure(mode)
- pass
- elif test_mode == "illegal_enter":
- for i in range(test_count):
- result = self.force_sleep_illegal_enter()
- pass
- elif test_mode == "stable_test":
- for i in range(test_count):
- result = self.force_sleep_stable_test()
- pass
- pass
-
-
-def main():
- pass
-
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-__all__ = ["AutoSleep", "DeepSleep", "ForceSleep"]
+++ /dev/null
-import time
-import random
-import threading
-
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-
-
-class StableCase1(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.exit_event = threading.Event()
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def check_wifi_status(self, data):
- if data.find("+JAP:DISCONNECTED") != -1:
- self.exit_event.set()
- NativeLog.add_trace_critical("[Wifi] Disconnected")
- pass
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- try:
- # configurable params
- # target role
- target_role = self.target_role
- # enable tcp send/recv
- tcp_enable = self.tcp_enable
- # enable udp send/recv
- udp_enable = self.udp_enable
- # enable ping
- ping_enable = self.ping_enable
- # delay range
- delay_range = self.delay_range
- # test time in hours
- test_time = self.test_time * 3600
- # configurable params
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPTransparent script, error is %s" % e)
- raise StandardError("Error configuration")
-
- if target_role == "AP":
- pc_ip = "<pc_ip_wifi>"
- target_ip = "<target_ap_ip>"
- elif target_role == "STA":
- pc_ip = "<pc_ip>"
- target_ip = "<target_ip>"
- else:
- raise StandardError("target role only support AP or STA")
-
- # step 1, create UDP socket and TCP server
- checker_stings = ["R SSC1 A <udp_socket>:BIND:(\d+),OK"]
- test_action_string = ["SSC SSC1 soc -B -t UDP -p <test_udp_port1>"]
- fail_string = "Fail, Fail to create UDP socket"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R SSC1 A <tcp_server>:BIND:(\d+),OK"]
- test_action_string = ["SSC SSC1 soc -B -t TCP -p <random_port>"]
- fail_string = "Fail, Fail to create tcp server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R SSC1 RE LISTEN:(\d+),OK"]
- test_action_string = ["SSC SSC1 soc -L -s <tcp_server>"]
- fail_string = "Fail, Fail to listen"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step 2, PC connect to 8266 tcp server, PC create UDP socket
- checker_stings = ["R SOC_COM C OK"]
- test_action_string = ["SOC SOC1 BIND <test_udp_port1> %s" % pc_ip]
- fail_string = "Fail, Fail to create udp socket on PC"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["P SSC1 A <tcp_socket>:ACCEPT:(\d+),\d+", "P SOC_COM C OK"]
- test_action_string = ["SOC SOC2 CONNECT <random_port> %s 0 %s" % (target_ip, pc_ip)]
- fail_string = "Fail, Fail to create tcp socket on PC"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- start_time = time.time()
- total_test_count = ping_fail_count = tcp_fail_count = udp_fail_count = 0
-
- # step 3, start do tcp/udp/ping
- while time.time() - start_time < test_time and self.exit_event.isSet() is False:
- total_test_count += 1
- if ping_enable is True:
- # do ping
- checker_stings = ["P PC_COM RE \+PING:\d+ms"]
- test_action_string = ["PING %s -n 1 -w 1000" % target_ip]
- fail_string = "Fail, Fail to ping target"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- ping_fail_count += 1
- NativeLog.add_prompt_trace("[ping fail] fail/total = %s/%s"
- % (ping_fail_count, total_test_count))
- pass
-
- data_len = random.randint(1, 1460)
-
- if tcp_enable is True:
- # do tcp send/recv
- checker_stings = ["P SSC1 SL <tcp_socket>+%s" % data_len, "P SOC2 RL %s" % data_len]
- test_action_string = ["SSC SSC1 soc -S -s <tcp_socket> -l %s" % data_len,
- "SOC SOC2 SEND %s" % data_len]
- fail_string = "Fail, Fail to send/recv tcp"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- tcp_fail_count += 1
- NativeLog.add_prompt_trace("[tcp fail] fail/total = %s/%s"
- % (tcp_fail_count, total_test_count))
- # tcp fail, break
- self.exit_event.set()
- pass
-
- if udp_enable is True:
- # do udp send/recv
- checker_stings = ["P SSC1 SL <udp_socket>+%s" % data_len, "P SOC1 RL %s" % data_len]
- test_action_string = ["SSC SSC1 soc -S -s <udp_socket> "
- "-i %s -p <test_udp_port1> -l %s" % (pc_ip, data_len),
- "SOC SOC1 SENDTO %s <test_udp_port1> %s" % (data_len, target_ip)]
- fail_string = "Fail, Fail to sendto/recvfrom udp"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string, check_time=20) is False:
- udp_fail_count += 1
- NativeLog.add_prompt_trace("[udp fail] fail/total = %s/%s"
- % (udp_fail_count, total_test_count))
- pass
-
- # sleep
- time.sleep(random.randint(delay_range[0], delay_range[1]))
- pass
-
- # finally, execute done
- if self.exit_event.isSet() is False:
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- self.result_cntx.append_data(port_name, data)
- if port_name != "SOC1" and port_name != "SOC2":
- # socket received data do not need to be logged
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- if port_name == "SSC1":
- self.check_wifi_status(data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-__all__ = ["StableCase1"]
+++ /dev/null
-import time
-
-from NativeLog import NativeLog
-from TCAction import TCActionBase
-from comm.NIC import Adapter
-
-WARNING_COUNT = 5
-
-
-class ARPStress(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.adapter = None
- self.target_mode = "STA"
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def cleanup(self):
- self.adapter.close()
- del self.adapter
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- try:
- # configurable params
- test_time = self.test_time * 60
- # test frequency min should be 0.1s, otherwise reply could be missed
- test_freq = self.test_freq if self.test_freq > 0.1 else 0.1
- # test softAP or sta
- target_mode = self.target_mode
- # configurable params
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for ARPStress script, error is %s" % e)
- raise StandardError("Error configuration")
-
- # get parameters
- if target_mode == "STA":
- target_ip = self.get_parameter("target_ip")
- target_mac = self.get_parameter("target_mac")
- pc_mac = self.get_parameter("pc_nic_mac")
- pc_nic_name = self.get_parameter("pc_nic")
- elif target_mode == "SoftAP":
- target_ip = self.get_parameter("target_ap_ip")
- target_mac = self.get_parameter("target_ap_mac")
- pc_mac = self.get_parameter("pc_wifi_nic_mac")
- pc_nic_name = self.get_parameter("pc_wifi_nic")
- else:
- raise StandardError("Unsupported target mode: %s" % target_mode)
-
- time_start = time.time()
-
- # open device
- self.adapter = Adapter.Adapter(pc_nic_name, "capture+send")
- ret = self.adapter.set_filter("arp and ether src %s and ether dst %s" % (target_mac, pc_mac))
- if ret != "LIBPCAP_SUCCEED":
- NativeLog.add_trace_critical("ARP Stress test error: %s" % ret)
- return
-
- ret = self.adapter.start_capture()
- if ret != "LIBPCAP_SUCCEED":
- NativeLog.add_trace_critical("ARP Stress test error: %s" % ret)
- return
-
- arp_pdu = self.adapter.create_pdu("ARP", self.adapter.create_payload(),
- arp_op_code="request", arp_target_proto_addr=target_ip,
- ethernet_dst_addr="ff:ff:ff:ff:ff:ff")
-
- data = arp_pdu.to_bytes()
-
- total_test_count = total_fail_count = successive_fail_count = most_successive_fail_count = 0
-
- while (time.time() - time_start) < test_time:
- # send arp req
- ret = self.adapter.ether_send(data)
- if ret != "LIBNET_SUCCEED":
- NativeLog.add_prompt_trace("libnet send fail, %s" % ret)
- continue
- total_test_count += 1
- # wait for reply
- time.sleep(test_freq)
- # should get one arp reply
- pdu_list = self.adapter.get_packets()
-
- if len(pdu_list) == 0:
- # failed to get arp reply
- total_fail_count += 1
- successive_fail_count += 1
- if successive_fail_count > WARNING_COUNT:
- NativeLog.add_trace_critical("ARP Fail: successive fail %u times, total tested %u times"
- % (successive_fail_count, total_test_count))
- else:
- most_successive_fail_count = most_successive_fail_count \
- if most_successive_fail_count > successive_fail_count \
- else successive_fail_count
- successive_fail_count = 0
- pass
- NativeLog.add_trace_critical("ARP stress test, total %s times, failed %s times, most successive fail count %s"
- % (total_test_count, total_fail_count, most_successive_fail_count))
- self.result_cntx.set_result("Succeed")
-
- # finally, execute done
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import time
-
-from NativeLog import NativeLog
-from TCAction import TCActionBase
-from comm.NIC import Adapter
-
-WARNING_COUNT = 2
-
-
-class PingStress(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.adapter = None
- self.target_mode = "STA"
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def cleanup(self):
- self.adapter.close()
- del self.adapter
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- try:
- # configurable params
- test_time = self.test_time * 60
- # ping data len
- ping_len = self.ping_len
- # test frequency min should be 0.1s, otherwise reply could be missed
- test_freq = self.test_freq if self.test_freq > 0.1 else 0.1
- # target mode
- target_mode = self.target_mode
- # configurable params
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for PingStress script, error is %s" % e)
- raise StandardError("Error configuration")
-
- if target_mode == "STA":
- target_ip = self.get_parameter("target_ip")
- target_mac = self.get_parameter("target_mac")
- pc_mac = self.get_parameter("pc_nic_mac")
- pc_nic_name = self.get_parameter("pc_nic")
- elif target_mode == "SoftAP":
- target_ip = self.get_parameter("target_ap_ip")
- target_mac = self.get_parameter("target_ap_mac")
- pc_mac = self.get_parameter("pc_wifi_nic_mac")
- pc_nic_name = self.get_parameter("pc_wifi_nic")
- else:
- raise StandardError("Unsupported target mode: %s" % target_mode)
-
- time_start = time.time()
- # open device
- self.adapter = Adapter.Adapter(pc_nic_name, "capture+send")
-
- ret = self.adapter.set_filter("icmp[icmpcode]=icmp-echoreply and ether src %s and ether dst %s"
- % (target_mac, pc_mac))
- if ret != "LIBPCAP_SUCCEED":
- NativeLog.add_trace_critical("PING Stress test error: %s" % ret)
- return
-
- ret = self.adapter.start_capture()
- if ret != "LIBPCAP_SUCCEED":
- NativeLog.add_trace_critical("PING Stress test error: %s" % ret)
- return
-
- total_test_count = total_fail_count = successive_fail_count = most_successive_fail_count = 0
-
- while (time.time() - time_start) < test_time:
-
- ping_pdu = self.adapter.create_pdu("ICMP", self.adapter.create_payload("A" * ping_len),
- icmp_type="echo-request", ipv4_protocol="ICMP",
- ipv4_dst_ip=target_ip, ethernet_dst_addr=target_mac)
- # send ping req
- ret = self.adapter.ether_send(ping_pdu.to_bytes())
- if ret != "LIBNET_SUCCEED":
- NativeLog.add_prompt_trace("libnet send fail, %s" % ret)
- continue
- total_test_count += 1
- # wait for reply
- time.sleep(test_freq)
- # should get one ping reply
- pdu_list = self.adapter.get_packets()
-
- if len(pdu_list) == 0:
- # failed to get ping reply
- total_fail_count += 1
- successive_fail_count += 1
- if successive_fail_count > WARNING_COUNT:
- NativeLog.add_trace_critical("Ping Fail: successive fail %u times, total tested %u times"
- % (successive_fail_count, total_test_count))
- pass
- else:
- most_successive_fail_count = most_successive_fail_count \
- if most_successive_fail_count > successive_fail_count \
- else successive_fail_count
- successive_fail_count = 0
- pass
- pass
- NativeLog.add_trace_critical("Ping stress test, total %s times, failed %s times, most successive fail count %s"
- % (total_test_count, total_fail_count, most_successive_fail_count))
- self.result_cntx.set_result("Succeed")
- # finally, execute done
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-__all__ = ["ARPStress", "PingStress"]
+++ /dev/null
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-import copy
-import time
-import random
-import string
-
-
-class TCPAP4STAResultCheckCntx(TCActionBase.ResultCheckContext):
-
- def __init__(self, test_action, test_env, name):
- TCActionBase.ResultCheckContext.__init__(self, test_action, test_env, name)
- self.failed_port = []
- pass
-
- def run(self):
-
- while True:
- exit_flag = self.wait_exit_event(1)
- # force exit
- if exit_flag is True:
- break
- try:
- self.lock_data()
- temp_cache = copy.deepcopy(self.data_cache)
- self.data_cache = []
- finally:
- self.unlock_data()
-
- for _cache in temp_cache:
- _data = _cache[1]
- if _data.find("user_test_tcpclient_recon_cb") != -1 or _data.find("discon") != -1 \
- or _data.find("No heap available") != -1:
- self.failed_port.append(_cache[0])
- NativeLog.add_trace_critical("TCPAP4STA failed, failed on %s" % _cache[0])
- pass
- if len(self.failed_port) != 0:
- # disconnect happen
- break
-
- def get_test_results(self):
- return self.failed_port
-
-
-class TCPAP4STA(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- try:
- # configurable params
- send_len = self.send_len
- # test count
- test_count = self.test_count
- # server port
- server_port = self.server_port
- # ap ip
- ap_ip = self.ap_ip
- # server echo
- server_echo = self.server_echo
- # station number
- sta_number = self.sta_number
- # pass standard
- pass_standard = self.pass_standard
- # send delay
- send_delay = self.send_delay
- # configurable params
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPTransparent script, error is %s" % e)
- raise StandardError("Error configuration")
-
- # step0 reboot
- checker_stings = []
- test_action_string = []
-
- for i in range(sta_number+1):
- checker_stings.append("P SSC%d C !!!ready!!!" % (i+1))
- test_action_string.append("SSCC SSC%d reboot" % (i+1))
-
- fail_string = "Fail, Fail to reboot"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step1 set ap on SSC1, create server
- ssid = "".join([random.choice(string.lowercase) for m in range(10)])
- password = "".join([random.choice(string.lowercase) for m in range(10)])
- checker_stings = ["R SSC1 C dhcp%20server%20start"]
- test_action_string = ["SSCC SSC1 ap -S -s %s -p %s -n 10 -t 0 -m 8" % (ssid, password)]
- fail_string = "Fail, Fail set ap"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R SSC1 C server%20starts%20at%20port"]
- if server_echo is True:
- test_action_string = ["SSCC SSC1 tcp -S -p %s -b 1" % server_port]
- else:
- test_action_string = ["SSCC SSC1 tcp -S -p %s" % server_port]
- fail_string = "Fail, Fail create server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step 2, 4 SSC target(SSC2 - SSC5) join SSC1 soft AP
- checker_stings = []
- test_action_string = []
-
- for i in range(sta_number):
- checker_stings.append("P SSC%d C ip C mask C gw C get%%20ip%%20of" % (i+2))
- test_action_string.append("SSCC SSC%d ap -C -s %s -p %s" % (i+2, ssid, password))
-
- fail_string = "Fail, Fail to connect to server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- start_time = time.time()
-
- # step 3, create client on SSC2 - SSC5
- checker_stings = []
- test_action_string = []
-
- for i in range(sta_number):
- checker_stings.append("P SSC%d C tcp%%20client%%20connect%%20with%%20server" % (i+2))
- test_action_string.append("SSCC SSC%d tcp -W -i %s -p %s -c %s -n 1 -l %s -d %d"
- % ((i+2), ap_ip, server_port, test_count, send_len, send_delay))
-
- fail_string = "Fail, Fail to connect to server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # switch to new result context
- self.result_cntx.stop_thread()
- self.result_cntx.join()
- self.result_cntx = TCPAP4STAResultCheckCntx(self, self.test_env, self.tc_name)
- self.result_cntx.start()
-
- self.result_cntx.join()
-
- failed_port = self.result_cntx.get_test_results()
- if (time.time() - start_time) > pass_standard:
- self.result_cntx.set_result("Succeed")
- else:
- self.result_cntx.set_result("Failed")
- NativeLog.add_trace_critical("Failed port: %s" % failed_port)
-
- # finally, execute done
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
-
+++ /dev/null
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-import time
-import random
-import string
-
-
-TEST_COUNT_ONE_ROUND = 500
-
-
-class TCPAPNSTA(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- try:
- # configurable params
- send_len = self.send_len
- # test count
- test_count = self.test_count
- # server port
- server_port = self.server_port
- # ap ip
- ap_ip = self.ap_ip
- # server echo
- server_echo = self.server_echo
- # station number
- sta_number = self.sta_number
- # pass standard
- pass_standard = self.pass_standard
- # send delay
- send_delay = self.send_delay
- # configurable params
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPTransparent script, error is %s" % e)
- raise StandardError("Error configuration")
-
- # step0 reboot
- checker_stings = []
- test_action_string = []
-
- for i in range(sta_number+1):
- checker_stings.append("P SSC%d C !!!ready!!!" % (i+1))
- test_action_string.append("SSCC SSC%d reboot" % (i+1))
-
- fail_string = "Fail, Fail to reboot"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step1 set ap on SSC1, create server
- checker_stings = ["R SSC1 C +MODE:OK"]
- test_action_string = ["SSCC SSC1 op -S -o 2"]
- fail_string = "Fail, Fail set mode"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- ssid = "".join([random.choice(string.lowercase) for m in range(10)])
- password = "".join([random.choice(string.lowercase) for m in range(10)])
- checker_stings = ["R SSC1 C +SAP:OK"]
- test_action_string = ["SSCC SSC1 ap -S -s %s -p %s -n 10 -t 0 -m 8" % (ssid, password)]
- fail_string = "Fail, Fail set ap"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R SSC1 A <server_sock>:BIND:(\d+),OK"]
- test_action_string = ["SSCC SSC1 soc -B -t TCP -p %s" % server_port]
- fail_string = "Fail, Fail create server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R SSC1 RE LISTEN:(\d+),OK"]
- test_action_string = ["SSCC SSC1 soc -L -s <server_sock>"]
- fail_string = "Fail, Fail create server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step 2, 8 SSC target(SSC2 - SSC9) join SSC1 soft AP
- checker_stings = []
- test_action_string = []
- for i in range(sta_number):
- checker_stings.append("P SSC%d C +MODE:OK" % (i+2))
- test_action_string.append("SSCC SSC%d op -S -o 1" % (i+2))
- fail_string = "Fail, Fail set mode"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = []
- test_action_string = []
- for i in range(sta_number):
- checker_stings.append("P SSC%d C +JAP:CONNECTED,%s" % (i+2, ssid))
- test_action_string.append("SSCC SSC%d ap -C -s %s -p %s" % (i+2, ssid, password))
- fail_string = "Fail, Fail to connect to server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- start_time = time.time()
-
- # step 3, create client on SSC2 - SSC9
- checker_stings = []
- test_action_string = []
- for i in range(sta_number):
- checker_stings.append("P SSC%d A <client_sock%d>:BIND:(\d+),OK" % (i+2, i+2))
- test_action_string.append("SSCC SSC%d soc -B -t TCP" % (i+2))
- fail_string = "Fail, Fail to connect to server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- for i in range(sta_number):
- checker_stings = ["P SSC%d RE CONNECT:(\d+),OK" % (i+2),
- "P SSC1 A <accept_sock%d>:ACCEPT:(\d+),.+" % (i+2)]
- test_action_string = ["SSCC SSC%d soc -C -s <client_sock%d> -i %s -p %s" %
- (i+2, i+2, ap_ip, server_port)]
- fail_string = "Fail, Fail to connect to server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step 4, do send/recv
- while test_count > 0:
- _tmp_count = TEST_COUNT_ONE_ROUND if test_count - TEST_COUNT_ONE_ROUND > 0 else test_count
- test_count -= TEST_COUNT_ONE_ROUND
-
- checker_stings = []
- test_action_string = []
- for i in range(sta_number):
- checker_stings.append("P SSC%d RE \+SEND:\d+,OK NC CLOSED" % (i+2))
- test_action_string.append("SSC SSC%d soc -S -s <client_sock%d> -l %d -n %d -j %d" %
- (i+2, i+2, send_len, _tmp_count, send_delay))
- if server_echo is True:
- test_action_string.append("SSC SSC1 soc -S -s <accept_sock%d> -l %d -n %d -j %d" %
- (i+2, send_len, _tmp_count, send_delay))
- checker_stings.append("P SSC1 RE \"\+SEND:%%%%s,OK\"%%%%(<accept_sock%d>) NC CLOSED)" %
- (i+2))
-
- fail_string = "Fail, Failed to send/recv data"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string,
- check_freq=1, check_time=300) is False:
- break
- pass
-
- if (time.time() - start_time) > pass_standard:
- self.result_cntx.set_result("Succeed")
- else:
- checker_stings = []
- test_action_string = []
- for i in range(sta_number + 1):
- checker_stings.append("P SSC%d C CLOSEALL" % (i + 1))
- test_action_string.append("SSCC SSC%d soc -T" % (i + 1))
- fail_string = "Fail, Fail to close socket"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- server_port = random.randint(20000, 30000)
- checker_stings = ["R SSC1 A <server_sock>:BIND:(\d+),OK"]
- test_action_string = ["SSCC SSC1 soc -B -t TCP -p %s" % server_port]
- fail_string = "Fail, Fail to bind socket"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R SSC1 RE LISTEN:(\d+),OK"]
- test_action_string = ["SSCC SSC1 soc -L -s <server_sock>"]
- fail_string = "Fail, Fail to listen"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = []
- test_action_string = []
- for i in range(sta_number):
- checker_stings.append("P SSC%d A <client_sock%d>:BIND:(\d+),OK" % (i + 2, i + 2))
- test_action_string.append("SSCC SSC%d soc -B -t TCP" % (i + 2))
- fail_string = "Fail, Fail to connect to server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- for i in range(sta_number):
- checker_stings = ["P SSC%d RE CONNECT:(\d+),OK" % (i + 2),
- "P SSC1 A <accept_sock%d>:ACCEPT:(\d+),.+" % (i + 2)]
- test_action_string = ["SSCC SSC%d soc -C -s <client_sock%d> -i %s -p %s" %
- (i + 2, i + 2, ap_ip, server_port)]
- fail_string = "Fail, Fail to connect to server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- self.result_cntx.set_result("Failed")
-
- # finally, execute done
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
-
+++ /dev/null
-import random
-import re
-import sys
-import threading
-import time
-
-import TCPConnUtility
-from NativeLog import NativeLog
-from TCAction import TCActionBase
-
-reload(sys)
-sys.setdefaultencoding('iso-8859-1') # # use encoding that with 1 Byte length and contain 256 chars
-
-
-DEFAULT_MAX_CONN_ALLOWED = 5
-
-
-# complicated design because I want to make this script applied for all TCP connect/close test scenarios
-# basic flow: try to create max connections, send/recv data if possible, close all connections
-# connect:
-# 1. find available (target_link_id, socket_id) list,
-# notice that target_link_id maybe not correct if PC is client
-# (during that time, some link may timeout and got disconnected from FIN_WAIT or other state)
-# 2. choose one method from method set, try to connect
-# 3. update state table: a)check result and destination state, b)find real target_link_id, c)update
-# send/recv data:
-# 1. find channels that are possible to send data on all connections
-# 2. send data on possible channels
-# disconnect:
-# 1. find available connections
-# 2. choose one method from disconnect set, try to disconnect
-# 3. update state table (phase 1)
-# async process:
-# listen on AT UART port, record all "x,CONNECT" and "x,CLOSE" command
-# for "x,CONNECT", append them to self.target_link_id_list, used when need to find real target_link_id
-# for "x,CLOSE", update state table (phase 2), if matching connection is pending on wait state,
-# close them and remove from state table
-class TCPConnStressTC(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.__at1_buff = ""
- self.max_conn_allowed = test_env.get_variable_by_name("max_conn")
- self.enable_log = True
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
-
- # connection_state_dict: {target_link_id: [socket_id, target_state, socket_state, is_closed]}
- # is_closed: found "x,CLOSE" in AT UART port
- self.connection_state_dict = dict(zip(range(self.max_conn_allowed), [None] * self.max_conn_allowed))
- self.created_link_id_list = []
-
- self.__available_soc_id = range(2, 2+self.max_conn_allowed)
- self.__available_link_id = range(self.max_conn_allowed)
-
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- self.utility = TCPConnUtility.TCPConnUtility(self)
- self.state_lock = threading.Lock()
- self.link_id_lock = threading.Lock()
- self.available_id_lock = threading.Lock()
- pass
-
- def __add_log(self, log_str):
- if self.enable_log is True:
- NativeLog.add_trace_info(log_str)
-
- def __get_created_target_link_id(self):
- self.link_id_lock.acquire()
- try:
- link_id = self.created_link_id_list[-1]
- self.created_link_id_list = []
- finally:
- self.link_id_lock.release()
- return link_id
- pass
-
- def __set_created_target_link_id(self, link_id):
- self.link_id_lock.acquire()
- try:
- self.created_link_id_list.append(link_id)
- finally:
- self.link_id_lock.release()
- pass
-
- def __find_channel_list(self):
- channel_list = [] # # [(socket_id, able_to_send, link_id, able_to_send), ]
- self.state_lock.acquire()
- try:
- for link_id in self.connection_state_dict:
- state = self.connection_state_dict[link_id]
- if state is not None:
- channel_list.append([state[0], self.utility.is_able_to_send_data(state[2]),
- link_id, self.utility.is_able_to_send_data(state[1])])
- finally:
- self.state_lock.release()
- return channel_list
- pass
-
- def __established_connection_list(self):
- conn_list = [] # # [(socket_id, link_id), ]
- self.state_lock.acquire()
- try:
- for link_id in self.connection_state_dict:
- state = self.connection_state_dict[link_id]
- if state is not None:
- if self.utility.is_established_connection([state[1], state[2]]) is True:
- conn_list.append([state[0], link_id])
- finally:
- self.state_lock.release()
- return conn_list
- pass
-
- # find free socket_id, target_link_id pair
- def __get_available_id_list(self):
- self.available_id_lock.acquire()
- try:
- id_list = zip(self.__available_soc_id, self.__available_link_id)
- finally:
- self.available_id_lock.release()
- return id_list
- pass
-
- def __update_available_id_list(self, soc_id, link_id, action="ADD"):
- self.available_id_lock.acquire()
- try:
- if action == "ADD":
- self.__available_link_id.append(link_id)
- self.__available_soc_id.append(soc_id)
- self.__add_log("[AVAILABLE ID]soc %d link %d is available" % (soc_id, link_id))
- elif action == "REMOVE":
- self.__available_link_id.remove(link_id)
- self.__available_soc_id.remove(soc_id)
- self.__add_log("[AVAILABLE ID]soc %d link %d is used" % (soc_id, link_id))
- finally:
- self.available_id_lock.release()
-
- def __update_connection_state_item(self, target_link_id, socket_id=None,
- target_state=None, socket_state=None, is_closed=None):
- self.state_lock.acquire()
- try:
- state = self.connection_state_dict[target_link_id]
- if state is None:
- state = [None] * 4
- if socket_id is not None:
- state[0] = socket_id
- if target_state is not None:
- state[1] = target_state
- if socket_state is not None:
- state[2] = socket_state
- if is_closed is not None:
- state[3] = is_closed
-
- # remove closed connections
- closed = self.utility.is_closed_state(state[1]) and (state[3] is True)
- if closed is True:
- self.__update_available_id_list(state[0], target_link_id)
- state = None
- # if new connection created
- if self.connection_state_dict[target_link_id] is None:
- created = self.utility.is_created_state(state[1])
- if created is True:
- self.__update_available_id_list(state[0], target_link_id, "REMOVE")
- else:
- # connection did not created, do not add them to connection state table
- state = None
-
- # set new connection_state
- self.connection_state_dict[target_link_id] = state
- self.__add_log("[STATE] link id is %d, state is %s" % (target_link_id, state))
- except StandardError, e:
- pass
- finally:
- self.state_lock.release()
- pass
-
- # update state table: if result is false, return, if result is true:
- # for connect, find real link id, update table according to destination state
- # for disconnect, if target in SOC_CLOSE_STATE && catch "x,CLOSE" from AT, remove the item
- def update_connection_state_table(self, conn_id, destination_state=None):
- if isinstance(conn_id, list) is True or isinstance(conn_id, tuple) is True:
- socket_id = conn_id[0]
- try:
- target_link_id = self.__get_created_target_link_id()
- except IndexError:
- target_link_id = conn_id[1]
- self.__add_log("[STATE]fail to get link id, state is %s, %s"
- % (destination_state[0], destination_state[1]))
- self.__update_connection_state_item(target_link_id, socket_id,
- destination_state[0], destination_state[1])
- pass
- else: # # called when recv CLOSED
- target_link_id = conn_id
- self.__update_connection_state_item(target_link_id, is_closed=True)
- pass
- pass
-
- def process_at_data(self, data):
- pos1 = 0
- pos2 = 0
- connect = re.compile("\d,CONNECT\r\n")
- close = re.compile("\d,CLOSED\r\n")
- connect_match = connect.findall(data)
- close_match = close.findall(data)
- close = re.compile("\d,CONNECT FAIL\r\n")
- close_match += close.findall(data)
- if len(connect_match) != 0:
- pos1 = data.find(connect_match[-1]) + 9
- # append last connected link id
- self.__set_created_target_link_id(int(connect_match[-1][:1]))
- pass
- if len(close_match) != 0:
- pos2 = data.find(close_match[-1]) + 7
- # update for all closed links
- for close_str in close_match:
- self.update_connection_state_table(int(close_str[:1]))
- pass
- pos = pos1 if pos1 > pos2 else pos2
-
- return data[pos:]
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- # configurable params
- # mandatory params
- try:
- connect_method_set = self.connect_method_set
- test_count = self.test_count
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPConnSingleMode script, error is %s" % e)
- raise StandardError("Error configuration")
- # optional params
- try:
- disconn_method_set = self.disconn_method_set
- except StandardError:
- disconn_method_set = ["D_05"]
- pass
- try:
- delay = self.delay
- except StandardError:
- delay = 0
- pass
- try:
- check_data_len = self.check_data_len
- except StandardError:
- check_data_len = [0, 0]
- pass
- if isinstance(check_data_len, list) is False:
- check_data_len = [check_data_len] * 2
- # configurable params
-
- # step1 use <test_tcp_port1> to create server on both PC and target side
- checker_stings = ["SOCP SOC_COM L OK", "ATP AT1 L OK"]
- test_action_string = ["SOC SOC1 LISTEN <test_tcp_port1>", "ATC AT1 CIPSERVER 1 <test_tcp_port1>"]
- fail_string = "Fail, Fail on create server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- for tested_count in xrange(test_count):
- # step2 do connect
- available_id_list = self.__get_available_id_list()
-
- for conn_id in available_id_list:
- connect_method = random.choice(connect_method_set)
- # ret, destination_state = self.utility.execute_tcp_method(connect_method, conn_id)
- try:
- self.__add_log("[ACTION]connect method is %s, connect id is %s"
- % (connect_method, conn_id))
- ret, destination_state = self.utility.execute_tcp_method(connect_method, conn_id)
- except StandardError, e:
- NativeLog.add_trace_critical("Error in connect, error is %s" % e)
- raise StandardError("Exception happen when connect")
- if ret is False:
- # connect fail, should terminate TC and mark as fail
- return
- else:
- # succeed, append to table
- self.update_connection_state_table(conn_id, destination_state)
- if delay != 0:
- time.sleep(delay)
-
- # step 3 send/recv test data
- # # [(socket_id, able_to_send, link_id, able_to_send)]
- self.__add_log("[ACTION]SEND/RECV data")
- channel_list = self.__find_channel_list()
- for channel in channel_list:
- _check_data_len = [0, 0]
- if channel[1] is True:
- _check_data_len[0] = check_data_len[0]
- if channel[3] is True:
- _check_data_len[1] = check_data_len[1]
- ret = self.utility.send_test_data(channel[0],
- channel[2],
- _check_data_len)
- if ret is False:
- # send/recv fail, should terminate TC and mark as fail
- return
- if delay != 0:
- time.sleep(delay)
-
- # step 4 close all established connections
- # (socket_id, link_id)
- conn_list = self.__established_connection_list()
- for conn_id in conn_list:
- disconn_method = random.choice(disconn_method_set)
- try:
- self.__add_log("[ACTION]disconnect method is %s, connect id is %s"
- % (disconn_method, conn_id))
- ret, destination_state = self.utility.execute_tcp_method(disconn_method, conn_id)
- except StandardError, e:
- NativeLog.add_trace_critical("Error in disconnect, error is %s" % e)
- raise StandardError("Exception happen when disconnect")
- if ret is False:
- # connect fail, should terminate TC and mark as fail
- return
- else:
- # succeed, append to table
- self.update_connection_state_table(conn_id, destination_state)
- if delay != 0:
- time.sleep(delay)
-
- # finally, execute done
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
- # find "x,CONNECT" and "x,CLOSE"
- if port_name.find("AT") != -1:
- self.__at1_buff += data
- self.__at1_buff = self.process_at_data(self.__at1_buff)
-
-
-def main():
- at1_buff = ""
- pos1 = 0
- pos2 = 0
- data = "dafgajglajdfg0,CLOSEjdalghalksdg1,CONNECT\r\n\r\n3,CONNECT4,CLOSEadfaasdf"
- at1_buff += data
- connect = re.compile("\d,CONNECT")
- close = re.compile("\d,CLOSE")
- connect_match = connect.findall(at1_buff)
- close_match = close.findall(at1_buff)
- if len(connect_match) != 0:
- pos1 = at1_buff.find(connect_match[-1]) + 9
- pass
- if len(close_match) != 0:
- pos2 = at1_buff.find(close_match[-1]) + 7
- pass
- pos = pos1 if pos1 > pos2 else pos2
-
- at1_buff = at1_buff[pos:]
-
- pass
-
-if __name__ == '__main__':
- main()
-
+++ /dev/null
-from NativeLog import NativeLog
-
-# make sure target do not listen on this port
-ERROR_PORT = 23333
-
-
-def unused_param(param):
- return param
-
-
-class TCPUtilError(StandardError):
- pass
-
-
-class TCPConnUtility(object):
- METHOD_RESULT = {"C_01": ("ESTABLISHED", "ESTABLISHED"), # target TCP peer state, PC TCP peer state
- "C_02": ("SYNC_SENT", "CLOSED"),
- "C_03": ("CLOSED", "CLOSED"),
- "C_04": ("SYN_RCVD", "ESTABLISHED"),
- "C_05": ("ESTABLISHED", "ESTABLISHED"),
- "C_06": ("CLOSED", "CLOSED"),
- "C_07": ("CLOSED", "CLOSED"),
- "C_08": ("CLOSED", "CLOSED"),
- "D_01": ("TIME_WAIT", "CLOSED"),
- "D_02": ("TIME_WAIT", "TIME_WAIT"),
- "D_03": ("FIN_WAIT_2", "CLOSE_WAIT"),
- "D_04": ("FIN_WAIT_1", "CLOSE_WAIT"),
- "D_05": ("CLOSED", "TIME_WAIT"),
- "D_06": ("CLOSED", "CLOSED"),
- "D_07": ("CLOSE_WAIT", "FIN_WAIT2"),
- "D_08": ("TIME_WAIT", "CLOSED"), }
-
- SOC_CLOSED_STATE = ("FIN_WAIT_1", "FIN_WAIT_2", "CLOSING", "TIME_WAIT", "LAST_ACK", "CLOSED")
- SOC_CREATED_STATE = ("SYNC_RCVD", "SYNC_SENT", "ESTABLISHED")
- SOC_SEND_DATA_STATE = ("ESTABLISHED", "CLOSE_WAIT")
- SOC_ESTABLISHED_STATE = ("ESTABLISHED", )
-
- def __init__(self, tc_action):
- self.tc_action = tc_action
- self.pc_server_port = "<test_tcp_port1>"
- self.target_server_port = "<test_tcp_port1>"
- self.pc_ip = "<pc_ip>"
- self.target_ip = "<target_ip>"
- pass
-
- def config_parameters(self, pc_server_port=None, target_server_port=None, pc_ip=None, target_ip=None):
- if pc_ip is not None:
- self.pc_ip = pc_ip
- if target_ip is not None:
- self.target_ip = target_ip
- if pc_server_port is not None:
- self.pc_server_port = pc_server_port
- if target_server_port is not None:
- self.target_server_port = target_server_port
- pass
-
- def __connect_c_01(self, conn_id):
- checker_stings = ["SOCR SOC1 C +ACCEPT", "ATR AT1 NC CLOSE L OK"]
- test_action_strings = ["ATC AT1 CIPSTART %d \"TCP\" %s %s" %
- (conn_id[1], self.pc_ip, self.pc_server_port)]
- fail_string = "Fail, Target failed on connect to PC server"
- ret = self.tc_action.load_and_exe_one_step(checker_stings, test_action_strings, fail_string)
- if ret is False:
- return ret
-
- checker_stings = ["SOCR SOC_COM L OK"]
- test_action_strings = ["SOC SOC1 ACCEPT SOC%d" % conn_id[0]]
- return self.tc_action.load_and_exe_one_step(checker_stings, test_action_strings, fail_string)
- pass
-
- def __connect_c_02(self, conn_id):
- checker_stings = ["ATR AT1 C ERROR"]
- test_action_strings = ["ATC AT1 CIPSTART %d \"TCP\" %s %s" %
- (conn_id[1], self.pc_ip, ERROR_PORT)]
- fail_string = "Fail, Target fail on connect to port not listened"
- return self.tc_action.load_and_exe_one_step(checker_stings, test_action_strings, fail_string)
- pass
-
- def __connect_c_03(self, conn_id):
- pass
-
- def __connect_c_04(self, conn_id):
- pass
-
- def __connect_c_05(self, conn_id):
- checker_stings = ["SOCP SOC_COM OK", "ATP AT1 C CONNECT"]
- test_action_strings = ["SOC SOC%d CONNECT %s %s" %
- (conn_id[0], self.target_server_port, self.target_ip)]
- fail_string = "Fail, PC fail on connect to target server"
- return self.tc_action.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=200, check_freq=0.01)
- pass
-
- def __connect_c_06(self, conn_id):
- pass
-
- def __connect_c_07(self, conn_id):
- # no checker strings, only try to create
- # while connect is a blocking function, will return till target reply RST
- checker_stings = ["SOCR SOC_COM C CLOSE"]
- test_action_strings = ["SOC SOC%d CONNECT %s %s" %
- (conn_id[0], ERROR_PORT, self.target_ip)]
- fail_string = "Fail, PC fail on connect to target server"
- return self.tc_action.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=2000, check_freq=0.01)
- pass
-
- def __connect_c_08(self, conn_id):
- pass
-
- def __close_d_01(self, conn_id):
- checker_stings = ["ATP AT1 C %d,CLOSED" % conn_id[1], "SOCP SOC_COM C CLOSE"]
- test_action_strings = ["SOC SOC%d SETOPT CLOSE_OPT IMM_SEND_FIN" % conn_id[0],
- "ATS AT1 AT+CIPCLOSE=%d" % conn_id[1]]
- fail_string = "Fail, Fail to close socket using D_01"
- return self.tc_action.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=200, check_freq=0.01)
- pass
-
- def __close_d_02(self, conn_id):
- pass
-
- def __close_d_03(self, conn_id):
- checker_stings = []
- test_action_strings = ["SOC SOC%d SETOPT CLOSE_OPT WAIT_TO" % conn_id[0],
- "ATS AT1 AT+CIPCLOSE=%d" % conn_id[1]]
- fail_string = "Fail, Fail to close socket using D_01"
- return self.tc_action.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=500, check_freq=0.01)
- pass
-
- def __close_d_04(self, conn_id):
- pass
-
- def __close_d_05(self, conn_id):
- checker_stings = ["ATP AT1 C %d,CLOSED" % conn_id[1]]
- test_action_strings = ["SOC SOC%d SETOPT CLOSE_OPT IMM_SEND_FIN" % conn_id[0],
- "SOC SOC%d CLOSE" % conn_id[0]]
- fail_string = "Fail, Fail to close socket using D_05"
- return self.tc_action.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=200, check_freq=0.01)
- pass
-
- def __close_d_06(self, conn_id):
- # 1. set PC socket close option, stop calling recv; send in target
- checker_stings = ["ATP AT1 C >"]
- test_action_strings = ["SOC SOC%d STOPRECV" % conn_id[0],
- "SOC SOC%d SETOPT CLOSE_OPT IMM_SEND_RST" % conn_id[0],
- "ATS AT1 AT+CIPSEND=%d,5" % conn_id[1]]
- fail_string = "Fail, Fail to close socket using D_06"
- ret = self.tc_action.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=200, check_freq=0.01)
- if ret is False:
- return ret
-
- # 2. send 5 bytes to socket
- checker_stings = ["ATP AT1 C OK"]
- test_action_strings = ["ATSN AT1 5"]
- fail_string = "Fail, Fail to close socket using D_06"
- ret = self.tc_action.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=200, check_freq=0.01)
- if ret is False:
- return ret
-
- # 3. close socket
- checker_stings = ["ATP AT1 OR 2 C %d,CONNECT C %d,CLOSED" % (conn_id[1], conn_id[1])]
- test_action_strings = ["SOC SOC%d CLOSE" % conn_id[0]]
- fail_string = "Fail, Fail to close socket using D_06"
- return self.tc_action.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=200, check_freq=0.01)
- pass
-
- def __close_d_07(self, conn_id):
- pass
-
- def __close_d_08(self, conn_id):
- pass
-
- def send_test_data(self, socket_id, target_link_id, check_data_len):
- # check_data_len[0] for socket data len, check_data_len[1] for target link data len
- fail_string = "Fail, Fail on send and recv data"
-
- ret = True
-
- for i in range(1):
- if check_data_len[1] != 0:
- checker_stings = ["ATP AT1 C >"]
- test_action_strings = ["ATS AT1 AT+CIPSEND=%d,%d" % (target_link_id, check_data_len[1])]
- if self.tc_action.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=20) is False:
- NativeLog.add_trace_critical("Fail on target send command for link %d" % target_link_id)
- ret = False
- break
- checker_stings = ["SOCP SOC%d RL %d" % (socket_id, check_data_len[1]), "ATP AT1 C OK"]
- test_action_strings = ["ATSN AT1 %d" % check_data_len[1]]
- if self.tc_action.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=20) is False:
- NativeLog.add_trace_critical("Fail on target send for link %d, send or recv error" % target_link_id)
- ret = False
- break
-
- if check_data_len[0] != 0:
- checker_stings = ["ATP AT1 DL %d+%d" % (target_link_id, check_data_len[0])]
- test_action_strings = ["SOC SOC%d SEND %d" % (socket_id, check_data_len[0])]
-
- if self.tc_action.load_and_exe_one_step(checker_stings, test_action_strings,
- fail_string, check_time=20) is False:
- NativeLog.add_trace_critical("Fail to receive PC SOC%d sent data" % socket_id)
- ret = False
- break
-
- # return ret
- # for now do not validate data
- return True
-
- TCP_ACTION_DICT = {"C_01": __connect_c_01,
- "C_02": __connect_c_02,
- "C_03": __connect_c_03,
- "C_04": __connect_c_04,
- "C_05": __connect_c_05,
- "C_06": __connect_c_06,
- "C_07": __connect_c_07,
- "C_08": __connect_c_08,
- "D_01": __close_d_01,
- "D_02": __close_d_02,
- "D_03": __close_d_03,
- "D_04": __close_d_04,
- "D_05": __close_d_05,
- "D_06": __close_d_06,
- "D_07": __close_d_07,
- "D_08": __close_d_08,
- }
-
- def get_method_destination_state(self, method):
- return self.METHOD_RESULT[method]
-
- def execute_tcp_method(self, method, conn_id):
- if method in self.METHOD_RESULT:
- return self.TCP_ACTION_DICT[method](self, conn_id), self.get_method_destination_state(method)
- else:
- raise TCPUtilError("Not TCP connection method")
- pass
-
- def is_created_state(self, state):
- if state in self.SOC_CREATED_STATE:
- return True
- else:
- return False
-
- def is_closed_state(self, state):
- if state in self.SOC_CLOSED_STATE:
- return True
- else:
- return False
-
- def is_able_to_send_data(self, state):
- if state in self.SOC_SEND_DATA_STATE:
- return True
- else:
- return False
-
- def is_established_connection(self, state):
- if state[0] in self.SOC_ESTABLISHED_STATE and state[1] in self.SOC_ESTABLISHED_STATE:
- return True
- else:
- return False
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import random
-import re
-import socket
-import threading
-import time
-
-import TCPConnectionUtility
-from NativeLog import NativeLog
-from TCAction import PerformanceTCBase
-
-DELAY_RANGE = [10, 3000]
-CONNECTION_STRUCTURE = ("Connection handler", "PC socket", "Target socket id",
- "Target port", "PC port", "PC state", "Target state")
-
-
-class CheckerBase(threading.Thread):
-
- CHECK_ITEM = ("CONDITION", "NOTIFIER", "ID", "DATA")
- SLEEP_TIME = 0.1 # sleep 100ms between each check action
-
- def __init__(self):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.exit_event = threading.Event()
- self.sync_lock = threading.Lock()
- self.check_item_list = []
- self.check_item_id = 0
-
- def run(self):
- while self.exit_event.isSet() is False:
- self.process()
- pass
-
- def process(self):
- pass
-
- def add_check_item(self, condition, notifier):
- with self.sync_lock:
- check_item_id = self.check_item_id
- self.check_item_id += 1
- self.check_item_list.append(dict(zip(self.CHECK_ITEM, (condition, notifier, check_item_id, str()))))
- return check_item_id
-
- def remove_check_item(self, check_item_id):
- ret = None
- with self.sync_lock:
- check_items = filter(lambda x: x["ID"] == check_item_id, self.check_item_list)
- if len(check_items) > 0:
- self.check_item_list.remove(check_items[0])
- ret = check_items[0]["DATA"]
- return ret
-
- def exit(self):
- self.exit_event.set()
- pass
-
-
-# check on serial port
-class SerialPortChecker(CheckerBase):
- def __init__(self, serial_reader):
- CheckerBase.__init__(self)
- self.serial_reader = serial_reader
- pass
-
- # check condition for serial is compiled regular expression pattern
- @staticmethod
- def do_check(check_item, data):
- match = check_item["CONDITION"].search(data)
- if match is not None:
- pos = data.find(match.group()) + len(match.group())
- # notify user
- check_item["NOTIFIER"]("serial", match)
- else:
- pos = -1
- return pos
-
- def process(self):
- # do check
- with self.sync_lock:
- # read data
- new_data = self.serial_reader()
- # NativeLog.add_trace_info("[debug][read data] %s" % new_data)
- # do check each item
- for check_item in self.check_item_list:
- # NativeLog.add_trace_info("[debug][read data][ID][%s]" % check_item["ID"])
- check_item["DATA"] += new_data
- self.do_check(check_item, check_item["DATA"])
- time.sleep(self.SLEEP_TIME)
-
-
-# handle PC TCP server accept and notify user
-class TCPServerChecker(CheckerBase):
- def __init__(self, server_sock):
- CheckerBase.__init__(self)
- self.server_sock = server_sock
- server_sock.settimeout(self.SLEEP_TIME)
- self.accepted_socket_list = []
-
- # check condition for tcp accepted sock is tcp source port
- @staticmethod
- def do_check(check_item, data):
- for sock_addr_pair in data:
- addr = sock_addr_pair[1]
- if addr[1] == check_item["CONDITION"]:
- # same port, so this is the socket that matched, notify and remove it from list
- check_item["NOTIFIER"]("tcp", sock_addr_pair[0])
- data.remove(sock_addr_pair)
-
- def process(self):
- # do accept
- try:
- client_sock, addr = self.server_sock.accept()
- self.accepted_socket_list.append((client_sock, addr))
- except socket.error:
- pass
- # do check
- with self.sync_lock:
- check_item_list = self.check_item_list
- for check_item in check_item_list:
- self.do_check(check_item, self.accepted_socket_list)
- pass
-
-
-# this thread handles one tcp connection.
-class ConnectionHandler(threading.Thread):
- CHECK_FREQ = CheckerBase.SLEEP_TIME/2
-
- def __init__(self, utility, serial_checker, tcp_checker, connect_method, disconnect_method):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.utility = utility
- self.connect_method = connect_method
- self.disconnect_method = disconnect_method
- self.exit_event = threading.Event()
- # following members are used in communication with checker threads
- self.serial_checker = serial_checker
- self.tcp_checker = tcp_checker
- self.serial_notify_event = threading.Event()
- self.tcp_notify_event = threading.Event()
- self.serial_result = None
- self.tcp_result = None
- self.serial_check_item_id = None
- self.tcp_check_item_id = None
- self.data_cache = None
- pass
-
- def new_connection_structure(self):
- connection = dict.fromkeys(CONNECTION_STRUCTURE, None)
- connection["Connection handler"] = self
- return connection
-
- def run(self):
- while self.exit_event.isSet() is False:
- connection = self.new_connection_structure()
- # do connect
- connect_method_choice = random.choice(self.connect_method)
- self.utility.execute_tcp_method(connect_method_choice, connection)
- # check if established
- if self.utility.is_established_state(connection) is True:
- time.sleep(float(random.randint(DELAY_RANGE[0], DELAY_RANGE[1]))/1000)
- # do disconnect if established
- disconnect_method_choice = random.choice(self.disconnect_method)
- self.utility.execute_tcp_method(disconnect_method_choice, connection)
- # make sure target socket closed
- self.utility.close_connection(connection)
- time.sleep(float(random.randint(DELAY_RANGE[0], DELAY_RANGE[1]))/1000)
- pass
-
- # serial_condition: re string
- # tcp_condition: target local port
- def add_checkers(self, serial_condition=None, tcp_condition=None):
- # cleanup
- self.serial_result = None
- self.tcp_result = None
- self.serial_notify_event.clear()
- self.tcp_notify_event.clear()
- # serial_checker
- if serial_condition is not None:
- pattern = re.compile(serial_condition)
- self.serial_check_item_id = self.serial_checker.add_check_item(pattern, self.notifier)
- else:
- # set event so that serial check always pass
- self.serial_notify_event.set()
- if tcp_condition is not None:
- self.tcp_check_item_id = self.tcp_checker.add_check_item(tcp_condition, self.notifier)
- else:
- # set event so that tcp check always pass
- self.tcp_notify_event.set()
- # NativeLog.add_trace_info("[Debug] add check item %s, connection is %s" % (self.serial_check_item_id, self))
- pass
-
- def get_checker_results(self, timeout=5):
- time1 = time.time()
- while time.time() - time1 < timeout:
- # if one type of checker is not set, its event will be set in add_checkers
- if self.serial_notify_event.isSet() is True and self.tcp_notify_event.isSet() is True:
- break
- time.sleep(self.CHECK_FREQ)
- # do cleanup
- # NativeLog.add_trace_info("[Debug] remove check item %s, connection is %s" % (self.serial_check_item_id, self))
- self.data_cache = self.serial_checker.remove_check_item(self.serial_check_item_id)
- self.tcp_checker.remove_check_item(self.tcp_check_item_id)
- # self.serial_check_item_id = None
- # self.tcp_check_item_id = None
- return self.serial_result, self.tcp_result
-
- def notifier(self, typ, result):
- if typ == "serial":
- self.serial_notify_event.set()
- self.serial_result = result
- elif typ == "tcp":
- self.tcp_notify_event.set()
- self.tcp_result = result
-
- def exit(self):
- self.exit_event.set()
- pass
-
-
-class TCPConnection(PerformanceTCBase.PerformanceTCBase):
- def __init__(self, name, test_env, cmd_set, timeout=120, log_path=None):
- PerformanceTCBase.PerformanceTCBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.max_connection = 5
- self.execute_time = 120 # execute time default 120 minutes
- self.pc_ip = "pc_ip"
- self.target_ip = "target_ip"
- self.connect_method = ["C_01"]
- self.disconnect_method = ["D_05"]
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
-
- self.error_event = threading.Event()
- self.serial_lock = threading.Lock()
- pass
-
- def serial_reader(self):
- return self.serial_read_data("SSC1")
-
- def send_ssc_command(self, data):
- with self.serial_lock:
- time.sleep(0.05)
- self.serial_write_line("SSC1", data)
-
- def error_detected(self):
- self.error_event.set()
-
- def process(self):
- # parameters
- max_connection = self.max_connection
- execute_time = self.execute_time * 60
- pc_ip = self.get_parameter(self.pc_ip)
- target_ip = self.get_parameter(self.target_ip)
- connect_method = self.connect_method
- disconnect_method = self.disconnect_method
- server_port = random.randint(30000, 50000)
-
- # step 1, create TCP server on target and PC
- # create TCP server on target
- self.serial_write_line("SSC1", "soc -B -t TCP -p %s" % server_port)
- match = self.check_regular_expression("SSC1", re.compile("BIND:(\d+),OK"))
- if match is None:
- NativeLog.add_prompt_trace("Failed to create TCP server on target")
- return
- target_sock_id = match.group(1)
-
- self.serial_write_line("SSC1", "soc -L -s %s" % target_sock_id)
- if self.check_response("SSC1", "+LISTEN:%s,OK" % target_sock_id) is False:
- NativeLog.add_prompt_trace("Failed to create TCP server on target")
- return
-
- # create TCP server on PC
- try:
- server_sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
- server_sock.bind((pc_ip, server_port))
- server_sock.listen(5)
- except StandardError:
- NativeLog.add_prompt_trace("Failed to create TCP server on PC")
- return
-
- # step 2, create checker
- serial_port_checker = SerialPortChecker(self.serial_reader)
- tcp_server_checker = TCPServerChecker(server_sock)
- serial_port_checker.start()
- tcp_server_checker.start()
-
- # step 3, create 5 thread and do connection
- utility = TCPConnectionUtility.Utility(self, server_port, server_port, pc_ip, target_ip)
- work_thread = []
- for i in range(max_connection):
- t = ConnectionHandler(utility, serial_port_checker, tcp_server_checker,
- connect_method, disconnect_method)
- work_thread.append(t)
- t.start()
-
- # step 4, wait and exit
- self.error_event.wait(execute_time)
- # close all threads
- for t in work_thread:
- t.exit()
- t.join()
- serial_port_checker.exit()
- tcp_server_checker.exit()
- serial_port_checker.join()
- tcp_server_checker.join()
-
- if self.error_event.isSet() is False:
- # no error detected
- self.set_result("Succeed")
- pass
-
-
-def main():
- pass
-
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import random
-import socket
-import threading
-
-from NativeLog import NativeLog
-
-# from NativeLog import NativeLog
-
-# make sure target do not listen on this port
-ERROR_PORT = 62685
-
-
-class Utility(object):
- METHOD_RESULT = {"C_01": ("ESTABLISHED", "ESTABLISHED"), # target TCP peer state, PC TCP peer state
- "C_02": ("SYNC_SENT", "CLOSED"),
- "C_03": ("CLOSED", "CLOSED"),
- "C_04": ("SYN_RCVD", "ESTABLISHED"),
- "C_05": ("ESTABLISHED", "ESTABLISHED"),
- "C_06": ("CLOSED", "CLOSED"),
- "C_07": ("CLOSED", "CLOSED"),
- "C_08": ("CLOSED", "CLOSED"),
- "D_01": ("TIME_WAIT", "CLOSED"),
- "D_02": ("TIME_WAIT", "TIME_WAIT"),
- "D_03": ("FIN_WAIT_2", "CLOSE_WAIT"),
- "D_04": ("FIN_WAIT_1", "CLOSE_WAIT"),
- "D_05": ("CLOSED", "TIME_WAIT"),
- "D_06": ("CLOSED", "CLOSED"),
- "D_07": ("CLOSE_WAIT", "FIN_WAIT2"),
- "D_08": ("TIME_WAIT", "CLOSED"), }
-
- SOC_CLOSED_STATE = ("FIN_WAIT_1", "FIN_WAIT_2", "CLOSING", "TIME_WAIT", "LAST_ACK", "CLOSED")
- SOC_CREATED_STATE = ("SYNC_RCVD", "ESTABLISHED")
- SOC_SEND_DATA_STATE = ("ESTABLISHED", "CLOSE_WAIT")
- SOC_ESTABLISHED_STATE = ("ESTABLISHED", )
-
- def __init__(self, tc_action, pc_server_port, target_server_port, pc_ip, target_ip):
- self.tc_action = tc_action
- self.pc_server_port = pc_server_port
- self.target_server_port = target_server_port
- self.pc_ip = pc_ip
- self.target_ip = target_ip
- self.pc_close_wait_socket_list = []
- self.sync_lock = threading.Lock()
- pass
-
- # create a tcp socket, return True or False
- def __create_tcp_socket(self, connection):
- connection_handler = connection["Connection handler"]
- connection["Target port"] = random.randint(10000, 60000)
- connection_handler.add_checkers("BIND:(\d+),OK,%s,%s"
- % (self.target_ip, connection["Target port"]))
- self.tc_action.send_ssc_command("soc -B -t TCP -i %s -p %s" % (self.target_ip, connection["Target port"]))
- serial_result, tcp_result = connection_handler.get_checker_results()
- if serial_result is not None:
- connection["Target socket id"] = serial_result.group(1)
- return True
- else:
- return False
-
- # target do connect, return True or False
- def __target_do_connect(self, connection, dest_ip, dest_port, timeout=20):
- connection_handler = connection["Connection handler"]
- connection_handler.add_checkers("CONNECT:%s,OK" % connection["Target socket id"],
- connection["Target port"])
- self.tc_action.send_ssc_command("soc -C -s %s -i %s -p %s"
- % (connection["Target socket id"], dest_ip, dest_port))
- serial_result, tcp_result = connection_handler.get_checker_results(timeout)
- if serial_result is not None and tcp_result is not None:
- connection["PC socket"] = tcp_result
- return True
- else:
- return False
- pass
-
- # pc do connect, return True or False
- def __pc_do_connect(self, connection, dest_ip, dest_port, timeout=20):
- connection_handler = connection["Connection handler"]
- sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
- while True:
- connection["PC port"] = random.randint(10000, 60000)
- try:
- sock.bind((self.pc_ip, connection["PC port"]))
- break
- except socket.error, e:
- if e.errno == 10048: # socket port reuse
- continue
- sock.settimeout(timeout)
- connection["PC socket"] = sock
- connection_handler.add_checkers("ACCEPT:(\d+),\d+,%s,%s"
- % (self.pc_ip, connection["PC port"]))
- try:
- sock.connect((dest_ip, dest_port))
- except socket.error:
- pass
- serial_result, tcp_result = connection_handler.get_checker_results()
- if serial_result is not None:
- connection["Target socket id"] = serial_result.group(1)
- return True
- else:
- return False
- pass
-
- def connect_c_01(self, connection):
- if self.__create_tcp_socket(connection) is True:
- return self.__target_do_connect(connection, self.pc_ip, self.pc_server_port)
- else:
- return False
-
- def connect_c_02(self, connection):
- if self.__create_tcp_socket(connection) is True:
- return not self.__target_do_connect(connection, self.pc_ip, ERROR_PORT, timeout=5)
- else:
- return False
-
- def connect_c_03(self, connection):
- return False
-
- def connect_c_04(self, connection):
- return False
-
- def connect_c_05(self, connection):
- return self.__pc_do_connect(connection, self.target_ip, self.target_server_port)
-
- def connect_c_06(self, connection):
- return False
-
- def connect_c_07(self, connection):
- return not self.__pc_do_connect(connection, self.target_ip, ERROR_PORT)
-
- def connect_c_08(self, connection):
- return False
-
- def __target_socket_close(self, connection):
- connection_handler = connection["Connection handler"]
- if connection["Target socket id"] is not None:
- connection_handler.add_checkers("CLOSE:%s" % connection["Target socket id"])
- self.tc_action.send_ssc_command("soc -T -s %s" % connection["Target socket id"])
- serial_result, tcp_result = connection_handler.get_checker_results()
- connection["Target socket id"] = None
- else:
- serial_result = None
- return True if serial_result is not None else False
-
- @staticmethod
- def __pc_socket_close(connection):
- connection_handler = connection["Connection handler"]
- if connection["PC socket"] is not None:
- connection_handler.add_checkers("CLOSED:%s" % connection["Target socket id"])
- connection["PC socket"].close()
- serial_result, tcp_result = connection_handler.get_checker_results()
- connection["PC socket"] = None
- else:
- serial_result = None
- return True if serial_result is not None else False
-
- def close_d_01(self, connection):
- connection["PC socket"] = None
- return self.__target_socket_close(connection)
-
- def close_d_02(self, connection):
- pass
-
- def close_d_03(self, connection):
- with self.sync_lock:
- self.pc_close_wait_socket_list.append(connection["PC socket"])
- return self.__target_socket_close(connection)
- pass
-
- def close_d_04(self, connection):
- pass
-
- def close_d_05(self, connection):
- return self.__pc_socket_close(connection)
-
- def close_d_06(self, connection):
- # target send data to PC, PC don't recv and close socket
- connection_handler = connection["Connection handler"]
- connection_handler.add_checkers("SEND:%s,OK" % connection["Target socket id"])
- self.tc_action.send_ssc_command("soc -S -s %s -l 100" % connection["Target socket id"])
- serial_result, tcp_result = connection_handler.get_checker_results()
- if serial_result is None:
- return False
- return self.__pc_socket_close(connection)
-
- def close_d_07(self, connection):
- # PC shutdown WR
- result = False
- try:
- connection["PC socket"].shutdown(socket.SHUT_WR)
- result = True
- except StandardError:
- pass
- return result
-
- def close_d_08(self, connection):
- pass
-
- def close_connection(self, connection):
- self.__target_socket_close(connection)
- pass
-
- TCP_ACTION_DICT = {"C_01": connect_c_01,
- "C_02": connect_c_02,
- "C_03": connect_c_03,
- "C_04": connect_c_04,
- "C_05": connect_c_05,
- "C_06": connect_c_06,
- "C_07": connect_c_07,
- "C_08": connect_c_08,
- "D_01": close_d_01,
- "D_02": close_d_02,
- "D_03": close_d_03,
- "D_04": close_d_04,
- "D_05": close_d_05,
- "D_06": close_d_06,
- "D_07": close_d_07,
- "D_08": close_d_08,
- }
-
- def get_method_destination_state(self, method):
- return self.METHOD_RESULT[method]
-
- def execute_tcp_method(self, method, connection):
- if method in self.METHOD_RESULT:
- result = self.TCP_ACTION_DICT[method](self, connection)
- if result is True:
- state = self.get_method_destination_state(method)
- connection["Target state"] = state[0]
- connection["PC state"] = state[1]
- else:
- NativeLog.add_prompt_trace("[TCPConnection] tcp method %s fail, connection is %s"
- % (method, connection))
- NativeLog.add_trace_info("[TCPConnection][data cache][check item %s] %s"
- % (connection["Connection handler"].serial_check_item_id,
- connection["Connection handler"].data_cache))
- else:
- raise StandardError("Not TCP connection method")
- return result
-
- def is_established_state(self, connection):
- return True if connection["Target state"] in self.SOC_CREATED_STATE else False
-
- def is_closed_state(self, connection):
- return True if connection["Target state"] in self.SOC_CLOSED_STATE else False
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import os
-import random
-import threading
-import socket
-import time
-import re
-
-from TCAction import TCActionBase
-from TCAction import PerformanceTCBase
-from NativeLog import NativeLog
-
-
-LOG_FOLDER = os.path.join("AT_LOG", "Performance", "Throughput")
-
-
-AP_PROP_KEY = ("ssid", "password", "apc")
-
-
-def calc_hash(index):
- return (index & 0xffffffff) % 83 + (index & 0xffffffff) % 167
-
-
-def verify_data(data, start_index):
- for i, c in enumerate(data):
- if ord(c) != calc_hash(start_index + i):
- NativeLog.add_trace_critical("[Data Validation Error] target sent data index %u is error."
- " Sent data is %x, should be %x"
- % (start_index + i, ord(c), calc_hash(start_index + i)))
- return False
- return True
-
-
-def make_validation_data(length, start_index):
- return bytes().join([chr(calc_hash(start_index + i)) for i in range(length)])
-
-
-class SendThread(threading.Thread):
- def __init__(self, sock, send_len):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.sock = sock
- self.send_len = send_len
- self.exit_event = threading.Event()
- pass
-
- def exit(self):
- self.exit_event.set()
-
- def run(self):
- index = 0
- while self.exit_event.isSet() is False:
- data = make_validation_data(self.send_len, index)
- try:
- self.sock.send(data)
- index += self.send_len
- except StandardError:
- # pass but not exit thread
- time.sleep(1)
- continue
- pass
-
-
-class RecvThread(threading.Thread):
- def __init__(self, sock):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.sock = sock
- self.exit_event = threading.Event()
-
- def exit(self):
- self.exit_event.set()
-
- def run(self):
- index = 0
- while self.exit_event.isSet() is False:
- if self.sock is not None:
- try:
- data = self.sock.recv(8*1024)
- except StandardError, e:
- NativeLog.add_exception_log(e)
- NativeLog.add_trace_critical("recv error, connection closed")
- break
- if verify_data(data, index) is not True:
- break
- index += len(data)
- else:
- time.sleep(1)
- pass
-
-
-class ValidationThread(threading.Thread):
- def __init__(self, tc_action):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.tc_action = tc_action
- self.exit_event = threading.Event()
-
- def exit(self):
- self.exit_event.set()
-
- def run(self):
- while self.exit_event.isSet() is False:
- if self.tc_action.check_response("SSC1", "DATA_ERROR", 5) is True:
- NativeLog.add_trace_critical("[Data Validation Error] target recv data error")
- break
- pass
-
-
-class TCPDataValidation(PerformanceTCBase.PerformanceTCBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- PerformanceTCBase.PerformanceTCBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.send_len = 1460
- self.tx_enable = True
- self.rx_enable = True
- self.conn_num = 1
- self.test_time = 300
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- pass
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
-
- try:
- # configurable params
- send_len = self.send_len
- tx_enable = self.tx_enable
- rx_enable = self.rx_enable
- conn_num = self.conn_num
- test_time = self.test_time * 60 # convert minutes to seconds
- # configurable params
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPThroughput script, error is %s" % e)
- raise StandardError("Error configuration")
-
- # init throughput result data
- test_item = ""
- if tx_enable is True:
- test_item += "Tx"
- if rx_enable is True:
- test_item += "Rx"
- if test_item == "":
- raise StandardError("no throughput test item")
-
- pc_ip = self.get_parameter("pc_ip")
- tcp_port = random.randint(10000, 50000)
-
- # disable recv print during throughput test
- self.serial_write_line("SSC1", "soc -R -o 0")
- if self.check_response("SSC1", "+RECVPRINT", 2) is False:
- NativeLog.add_trace_critical("Fail, Fail to disable recv print")
-
- # create server
- server_sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
- server_sock.bind((pc_ip, tcp_port))
- server_sock.settimeout(5)
- server_sock.listen(5)
-
- sock_id_list = []
- send_thread_list = []
- recv_thread_list = []
-
- # step 4 create tcp connection
- for i in range(conn_num):
- self.serial_write_line("SSC1", "soc -B -t TCP")
- match = self.check_regular_expression("SSC1", re.compile("\+BIND:(\d+),OK"), 2)
- if match is None:
- NativeLog.add_trace_critical("Fail, Fail to bind")
- return
- else:
- sock_id_list.append(int(match.group(1)))
-
- self.serial_write_line("SSC1", "soc -V -s %s -o 3" % sock_id_list[-1])
- if self.check_regular_expression("SSC1", re.compile("\+DATA_VALIDATION:\d+,OK"), 2) is None:
- NativeLog.add_trace_critical("Fail, Failed to enable validation")
- return
-
- self.serial_write_line("SSC1", "soc -C -s %s -i %s -p %s" % (sock_id_list[-1], pc_ip, tcp_port))
- try:
- sock, addr = server_sock.accept()
- except socket.error, e:
- NativeLog.add_trace_critical("%s" % e)
- raise e
-
- if self.check_regular_expression("SSC1", re.compile("\+CONNECT:\d+,OK"), 5) is None:
- NativeLog.add_trace_critical("Fail, Failed to connect")
- return
-
- sock.settimeout(10)
-
- send_thread_list.append(SendThread(sock if rx_enable is True else None, send_len))
- recv_thread_list.append(RecvThread(sock if tx_enable is True else None))
- recv_thread_list[-1].start()
-
- # step 5 do test
- validation_thread = ValidationThread(self)
- validation_thread.start()
-
- for send_thread in send_thread_list:
- send_thread.start()
-
- if tx_enable is True:
- # do send from target
- for sock_id in sock_id_list:
- self.serial_write_line("SSC1", "soc -S -s %s -l %s -n 10000000" % (sock_id, send_len))
-
- time1 = time.time()
- exit_flag = False
-
- while time.time() - time1 < test_time and exit_flag is False:
- for i in sock_id_list:
- send_thread_list[i].join(0.5)
- recv_thread_list[i].join(0.5)
- validation_thread.join(0.5)
- if send_thread_list[i].isAlive() is False \
- or recv_thread_list[i].isAlive() is False \
- or validation_thread.isAlive() is False:
- NativeLog.add_trace_critical("validation error found")
- exit_flag = True
- break
- else:
- self.set_result("Succeed")
-
- # exit all thread
- for i in sock_id_list:
- send_thread_list[i].exit()
- recv_thread_list[i].exit()
- send_thread_list[i].join()
- send_thread_list[i].join()
-
- validation_thread.exit()
- validation_thread.join()
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import os
-import time
-import random
-import threading
-import socket
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-from NativeLog import ThroughputResult
-
-
-class TCPRandomSend(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.send_len_config = range(1460)
- self.delay_config = [0, 0.01, 0.1, 0.5, 1]
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- try:
- # configurable params
- send_len_config = self.send_len_config
- delay_config = self.delay_config
- send_count = self.send_count
- test_time = self.test_time * 60
- # configurable params
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPThroughput script, error is %s" % e)
- raise StandardError("Error configuration")
-
- # disable recv print during random send test
- checker_stings = ["R SSC1 C +RECVPRINT"]
- test_action_string = ["SSC SSC1 soc -R -o 0"]
- fail_string = "Fail, Fail to disable recv print"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- pc_ip = self.test_env.get_variable_by_name("pc_ip")[1]
- tcp_port = random.randint(50000, 60000)
-
- # step 0 create tcp connection
-
- server_sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
- server_sock.bind((pc_ip, tcp_port))
- server_sock.settimeout(1)
- server_sock.listen(5)
-
- checker_stings = ["R SSC1 A <client_sock>:\+BIND:(\d+),OK"]
- test_action_string = ["SSC SSC1 soc -B -t TCP"]
- fail_string = "Fail, Fail bind"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["P SSC1 RE \+CONNECT:\d+,OK"]
- test_action_string = ["SSC SSC1 soc -C -s <client_sock> -i %s -p %s" % (pc_ip, tcp_port)]
- fail_string = "Fail, Fail to connect"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- sock, addr = server_sock.accept()
- sock.settimeout(10)
- # set no delay so that tcp segment will be send as soon as send called
- sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
-
- # step 1 start send
- start_time = time.time()
- while time.time() - start_time < test_time:
- for delay in delay_config:
- for i in xrange(send_count):
- send_len = random.choice(send_len_config)
- data = "A" * (send_len+1)
- try:
- sock.send(data)
- except socket.error, e:
- NativeLog.add_exception_log(e)
- return
- pass
- time.sleep(delay)
-
- self.result_cntx.set_result("Succeed")
-
- # finally, execute done
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-import time
-import random
-import string
-
-TEST_COUNT_ONE_ROUND = 1000
-
-
-class TCPSendRecv(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def cleanup(self):
- # step 0 turn on recv print
- checker_stings = ["R SSC1 C +RECVPRINT:1"]
- test_action_string = ["SSC SSC1 soc -R -o 1"]
- fail_string = "Fail, Fail to turn on recv print"
- self.load_and_exe_one_step(checker_stings, test_action_string, fail_string)
- pass
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- try:
- # configurable params
- send_len = self.send_len
- test_time = self.test_time * 60
- duplex = self.duplex
- conn_num = self.conn_num
- send_delay = self.send_delay
- # configurable params
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPSendRecv script, error is %s" % e)
- raise StandardError("Error configuration")
-
- ssid = "".join([random.choice(string.lowercase) for m in range(10)])
- password = "".join([random.choice(string.lowercase) for m in range(10)])
-
- # step 0 set ap
- checker_stings = ["R SSC1 C +SAP:OK"]
- test_action_string = ["SSC SSC1 ap -S -s %s -p %s -t 3" % (ssid, password)]
- fail_string = "Fail, Fail to set ap"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step 1 connect to ap and turn off recv print
- checker_stings = ["R SSC2 C +JAP:CONNECTED"]
- test_action_string = ["SSC SSC2 sta -C -s %s -p %s" % (ssid, password)]
- fail_string = "Fail, Fail to connect to server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string, check_time=200) is False:
- return
-
- checker_stings = ["P SSC1 C +RECVPRINT:0", "P SSC2 C +RECVPRINT:0"]
- test_action_string = ["SSC SSC1 soc -R -o 0", "SSC SSC2 soc -R -o 0"]
- fail_string = "Fail, Fail to turn off recv print"
- self.load_and_exe_one_step(checker_stings, test_action_string, fail_string)
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string, check_time=200) is False:
- return
-
- # step 2 create server on AP
- checker_stings = ["R SSC1 A <server_sock>:\+BIND:(\d+),OK"]
- test_action_string = ["SSC SSC1 soc -B -t TCP -p <random_port>"]
- fail_string = "Fail, Fail to create server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R SSC1 A <server_sock>:\+LISTEN:(\d+),OK"]
- test_action_string = ["SSC SSC1 soc -L -s <server_sock>"]
- fail_string = "Fail, Fail to create server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step 3 create conn_num tcp connections
- for i in range(conn_num):
- checker_stings = ["R SSC2 A <client_sock%s>:\+BIND:(\d+),OK" % i]
- test_action_string = ["SSC SSC2 soc -B -t TCP"]
- fail_string = "Fail, Fail to bind"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["P SSC1 A <accept_sock%s>:\+ACCEPT:(\d+),\d+" % i,
- "P SSC2 RE \+CONNECT:\d+,OK"]
- test_action_string = ["SSC SSC2 soc -C -s <client_sock%s> -i <target_ap_ip> -p <random_port>" % i]
- fail_string = "Fail, Fail to connect"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- start_time = time.time()
- # step 4, do send/recv
- while time.time()-start_time < test_time:
-
- checker_stings = ["P SSC1 NC ERROR NC CLOSE"]
- for i in range(conn_num):
- test_action_string = ["SSC SSC2 soc -S -s <client_sock%d> -l %d -n %d -j %d" %
- (i, send_len, TEST_COUNT_ONE_ROUND, send_delay)]
- checker_stings.append("P SSC2 RE \"\+SEND:%%%%s,OK\"%%%%(<client_sock%d>) NC ERROR NC CLOSE" % i)
-
- if duplex is True:
- checker_stings.append("P SSC1 RE \"\+SEND:%%%%s,OK\"%%%%(<accept_sock%d>)" % i)
- test_action_string.append("SSC SSC1 soc -S -s <accept_sock%d> -l %d -n %d -j %d" %
- (i, send_len, TEST_COUNT_ONE_ROUND, send_delay))
-
- fail_string = "Fail, Failed on send command"
- if self.load_and_exe_one_step([], test_action_string, fail_string) is False:
- break
- # if self.load_and_exe_one_step([], ["SSC SSC1 ram -H", "SSC SSC2 ram -H"], fail_string) is False:
- # break
- # time.sleep(0.1)
-
- fail_string = "Fail, Failed to send/recv data"
- if self.load_and_exe_one_step(checker_stings, ["DELAY 0.1"], fail_string,
- check_freq=1, check_time=300) is False:
- break
- pass
-
- NativeLog.add_prompt_trace("time escape: %s" % (time.time() - start_time))
- self.result_cntx.set_result("Succeed")
-
- # finally, execute done
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
-
-
+++ /dev/null
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-import time
-import random
-import string
-
-TEST_COUNT_ONE_ROUND = 500
-
-
-class TCPSoftAPSTASendRecv(TCActionBase.CommonTCActionBase):
- def __init__(self, name, test_env, cmd_set, timeout=45, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- try:
- # configurable params
- send_len = self.send_len
- # test count
- test_count = self.test_count
- # server port
- server_port = self.server_port
- server_port_t = self.server_port_2
- # ap ip
- # ap_ip = self.ap_ip
- # server echo
- server_echo = self.server_echo
- # station number
- sta_number = self.sta_number
- # pass standard
- pass_standard = self.pass_standard
- # send delay
- send_delay = self.send_delay
- # configurable params
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPTransparent script, error is %s" % e)
- raise StandardError("Error configuration")
-
- # step0 reboot
- checker_stings = []
- test_action_string = []
-
- for i in range(sta_number + 2):
- checker_stings.append("P SSC%d C !!!ready!!!" % (i + 1))
- test_action_string.append("SSCC SSC%d reboot" % (i + 1))
-
- fail_string = "Fail, Fail to reboot"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step1, set ap/STA mode on all target
- for i in range(sta_number + 2):
- checker_stings = ["R SSC%d C +MODE:OK" % (i + 1)]
- test_action_string = ["SSCC SSC%d op -S -o 3" % (i + 1)]
- fail_string = "Fail, Fail to set mode on SSC%d" % (i + 1)
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # set different getway for SSC1 softAP
- checker_stings = ["R SSC1 C +DHCP:AP,OK"]
- test_action_string = ["SSCC SSC1 dhcp -E -o 2"]
- fail_string = "Fail, SSC1 Fail to disable DHCP"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R SSC1 C +IP:OK"]
- test_action_string = ["SSCC SSC1 ip -S -o 2 -i 192.168.6.1"]
- fail_string = "Fail, SSC1 Fail to set IP"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R SSC1 C +DHCP:AP,OK"]
- test_action_string = ["SSCC SSC1 dhcp -S -o 2"]
- fail_string = "Fail, SSC1 Fail to enable DHCP"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # set different getway for SSC2 softAP
- checker_stings = ["R SSC2 C +DHCP:AP,OK"]
- test_action_string = ["SSCC SSC2 dhcp -E -o 2"]
- fail_string = "Fail, SSC2 Fail to disable DHCP"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R SSC2 C +IP:OK"]
- test_action_string = ["SSCC SSC2 ip -S -o 2 -i 192.168.5.1"]
- fail_string = "Fail, SSC2 Fail to set IP"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R SSC2 C +DHCP:AP,OK"]
- test_action_string = ["SSCC SSC2 dhcp -S -o 2"]
- fail_string = "Fail, SSC2 Fail to enable DHCP"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step2, set ssid/password on SSC1
- ssid = "".join([random.choice(string.lowercase) for m in range(10)])
- password = "".join([random.choice(string.lowercase) for m in range(10)])
- checker_stings = ["R SSC1 C +SAP:OK"]
- test_action_string = ["SSCC SSC1 ap -S -s %s -p %s -n 10 -t 0 -m 8" % (ssid, password)]
- fail_string = "Fail, Fail to set ssid/password on SSC1"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step3, set ssid/password on SSC2
- ssid_1 = "".join([random.choice(string.lowercase) for m in range(10)])
- password_1 = "".join([random.choice(string.lowercase) for m in range(10)])
- checker_stings = ["R SSC2 C +SAP:OK"]
- test_action_string = ["SSCC SSC2 ap -S -s %s -p %s -n 10 -t 0 -m 8" % (ssid_1, password_1)]
- fail_string = "Fail, Fail to set ap ssid/password on SSC2"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step4, SSC2 join SSC1(soft AP)
- checker_stings = []
- test_action_string = []
- checker_stings.append("P SSC2 C +JAP:CONNECTED,%s" % ssid)
- test_action_string.append("SSCC SSC2 ap -C -s %s -p %s" % (ssid, password))
- fail_string = "Fail, Fail to connect to SSC1 SoftAP"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
- # step5, create server on SSC1
- checker_stings = ["R SSC1 A <server_sock>:BIND:(\d+),OK"]
- test_action_string = ["SSCC SSC1 soc -B -t TCP -p %s" % server_port]
- fail_string = "Fail, Fail to create server on SSC1 while binding"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R SSC1 RE LISTEN:(\d+),OK"]
- test_action_string = ["SSCC SSC1 soc -L -s <server_sock>"]
- fail_string = "Fail, Fail to create server on SSC1 while listening"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step6, create client on SSC2
- checker_stings = []
- test_action_string = []
- checker_stings.append("P SSC2 A <client_sock>:BIND:(\d+),OK")
- test_action_string.append("SSCC SSC2 soc -B -t TCP")
- fail_string = "Fail, SSC2 Fail to connect to server while binding"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["P SSC2 RE CONNECT:(\d+),OK", "P SSC1 A <accept_sock>:ACCEPT:(\d+),.+"]
- test_action_string = ["SSCC SSC2 soc -C -s <client_sock> -i %s -p %s" % ("192.168.6.1", server_port)]
- fail_string = "Fail, SSC2 Fail to connect to server while connecting"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step7, SSC3 - SSC5 join SSC2
- checker_stings = []
- test_action_string = []
- for i in range(sta_number):
- checker_stings.append("P SSC%d C +JAP:CONNECTED,%s" % (i + 3, ssid_1))
- test_action_string.append("SSCC SSC%d ap -C -s %s -p %s" % (i + 3, ssid_1, password_1))
- fail_string = "Fail, SSC%d Fail to connect to SSC2" % (i + 3)
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string, check_time=450) is False:
- return
-
- # step8, create server on SSC2
- checker_stings = ["R SSC2 A <server_sock_t>:BIND:(\d+),OK"]
- test_action_string = ["SSCC SSC2 soc -B -t TCP -p %s -i 192.168.5.1" % server_port_t]
- fail_string = "Fail, Fail to create server one SSC2 while binding"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R SSC2 RE LISTEN:(\d+),OK"]
- test_action_string = ["SSCC SSC2 soc -L -s <server_sock_t>"]
- fail_string = "Fail, Fail to create server one SSC2 while listening"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step9, create client on SSC3 - SSC5
- checker_stings = []
- test_action_string = []
- for i in range(sta_number):
- checker_stings.append("P SSC%d A <client_sock%d>:BIND:(\d+),OK" % (i + 3, i + 3))
- test_action_string.append("SSCC SSC%d soc -B -t TCP" % (i + 3))
- fail_string = "Fail, Fail to connect to SSC2 server while binding"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- for i in range(sta_number):
- checker_stings = ["P SSC%d RE CONNECT:(\d+),OK" % (i + 3),
- "P SSC2 A <accept_sock%d>:ACCEPT:(\d+),.+" % (i + 3)]
- test_action_string = ["SSCC SSC%d soc -C -s <client_sock%d> -i %s -p %s" %
- (i + 3, i + 3, "192.168.5.1", server_port_t)]
- fail_string = "Fail, Fail to connect to SSC2 server while connecting"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- start_time = time.time()
- # step 10, do send/recv
- while test_count > 0:
- _tmp_count = TEST_COUNT_ONE_ROUND if test_count - TEST_COUNT_ONE_ROUND > 0 else test_count
- test_count -= TEST_COUNT_ONE_ROUND
-
- checker_stings = []
- test_action_string = []
- if server_echo is True:
- test_action_string.append("SSC SSC1 soc -S -s <accept_sock> -l %d -n %d -j %d" %
- (send_len, _tmp_count, send_delay))
- checker_stings.append("P SSC1 RE \+SEND:\d+,OK NC CLOSED")
- test_action_string.append("SSC SSC2 soc -S -s <server_sock> -l %d -n %d -j %d" %
- (send_len, _tmp_count, send_delay))
- checker_stings.append("P SSC2 RE \+SEND:\d+,OK NC CLOSED")
-
- for i in range(sta_number):
- checker_stings.append("P SSC%d RE \+SEND:\d+,OK NC CLOSED" % (i + 3))
- test_action_string.append("SSC SSC%d soc -S -s <client_sock%d> -l %d -n %d -j %d" %
- (i + 3, i + 3, send_len, _tmp_count, send_delay))
- for i in range(sta_number):
- test_action_string.append("SSC SSC2 soc -S -s <accept_sock%d> -l %d -n %d -j %d" %
- (i + 3, send_len, _tmp_count, send_delay))
- checker_stings.append("P SSC2 RE \+SEND:\d+,OK NC CLOSED")
-
- fail_string = "Fail, Failed to send/recv data"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string,
- check_freq=1, check_time=300) is False:
- break
- pass
-
- if (time.time() - start_time) > pass_standard:
- self.result_cntx.set_result("Succeed")
- else:
- checker_stings = []
- test_action_string = []
- for i in range(sta_number + 2):
- checker_stings.append("P SSC%d C CLOSEALL" % (i + 1))
- test_action_string.append("SSCC SSC%d soc -T" % (i + 1))
- fail_string = "Fail, Fail to close socket"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
- # re-set server on SSC1
- server_port = random.randint(20000, 30000)
- checker_stings = ["R SSC1 A <server_sock>:BIND:(\d+),OK"]
- test_action_string = ["SSCC SSC1 soc -B -t TCP -p %s" % server_port]
- fail_string = "Fail, Fail to bind socket"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["R SSC1 RE LISTEN:(\d+),OK"]
- test_action_string = ["SSCC SSC1 soc -L -s <server_sock>"]
- fail_string = "Fail, Fail to listen"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
- # SSC2 connnect SSC1
- checker_stings = []
- test_action_string = []
- checker_stings.append("P SSC2 A <client_sock>:BIND:(\d+),OK")
- test_action_string.append("SSCC SSC2 soc -B -t TCP")
- fail_string = "Fail, SSC2 Fail to bind sock"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- checker_stings = ["P SSC2 RE CONNECT:(\d+),OK", "P SSC1 A <accept_sock>:ACCEPT:(\d+),.+"]
- test_action_string = ["SSCC SSC2 soc -C -s <client_sock> -i %s -p %s" % ("192.168.6.1", server_port)]
- fail_string = "Fail, SSC2 Fail to connect to SSC1 server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
- #create server on SSC2
- checker_stings = []
- test_action_string = []
- checker_stings.append("P SSC2 A <server_sock>:BIND:(\d+),OK")
- test_action_string.append("SSCC SSC2 soc -B -t TCP -p %s -i 192.168.5.1" % server_port_t)
- fail_string = "Fail, SSC2 Fail to bind"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
- checker_stings = ["R SSC2 RE LISTEN:(\d+),OK"]
- test_action_string = ["SSCC SSC2 soc -L -s <server_sock>"]
- fail_string = "Fail, SSC2 Fail to listen"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
- #create client on SSC3-SSC5
- checker_stings = []
- test_action_string = []
- for i in range(sta_number):
- checker_stings.append("P SSC%d A <client_sock%d>:BIND:(\d+),OK" % (i + 3, i + 3))
- test_action_string.append("SSCC SSC%d soc -B -t TCP" % (i + 3))
- fail_string = "Fail, Fail to connect to SSC2 server while binding"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- for i in range(sta_number):
- checker_stings = ["P SSC%d RE CONNECT:(\d+),OK" % (i + 3),
- "P SSC2 A <accept_sock%d>:ACCEPT:(\d+),.+" % (i + 3)]
- test_action_string = ["SSCC SSC%d soc -C -s <client_sock%d> -i %s -p %s" %
- (i + 3, i + 3, "192.168.5.1", server_port_t)]
- fail_string = "Fail, Fail to connect to server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- self.result_cntx.set_result("Failed")
-
- # finally, execute done
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import os
-import time
-import random
-import threading
-import socket
-
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-from NativeLog import ThroughputResult
-from Utility import RSSICalibrator
-from Utility import MakeFolder
-
-
-LOG_FOLDER = os.path.join("AT_LOG", "Performance", "Throughput")
-
-
-AP_PROP_KEY = ("ssid", "password", "apc")
-
-
-class SendThread(threading.Thread):
- def __init__(self, sock, send_len):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.sock = sock
- self.send_len = send_len
- self.exit_event = threading.Event()
- self.calc_event = threading.Event()
- self.bytes_sent = 0
- pass
-
- def start_calc(self):
- self.calc_event.set()
-
- def stop_calc(self):
- self.calc_event.clear()
- self.exit_event.set()
-
- def run(self):
- data = "A" * self.send_len
- if self.sock is None:
- return
- while True:
- if self.exit_event.isSet() is True:
- break
- try:
- self.sock.send(data)
- except StandardError:
- break
- if self.calc_event.isSet() is True:
- self.bytes_sent += self.send_len
-
- def get_bytes_sent(self):
- return self.bytes_sent
- pass
-
-
-class RecvThread(threading.Thread):
- def __init__(self, sock):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.sock = sock
- self.exit_event = threading.Event()
- self.calc_event = threading.Event()
- self.bytes_recv = 0
-
- def start_calc(self):
- self.calc_event.set()
-
- def stop_calc(self):
- self.calc_event.clear()
- self.exit_event.set()
-
- def run(self):
- if self.sock is None:
- return
- while True:
- if self.exit_event.isSet() is True:
- break
- try:
- data = self.sock.recv(8*1024)
- except StandardError:
- break
- if self.calc_event.isSet() is True:
- self.bytes_recv += len(data)
-
- def get_bytes_recv(self):
- return self.bytes_recv
- pass
-
-
-class TCPThroughput(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.att_test_list = range(60)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- # read AP list
- self.ap_list = []
- for i in range(1, len(cmd_set)):
- for j in range(len(cmd_set[i][1])):
- if cmd_set[i][1][j] != "":
- cmd_string = "self.ap_list.append(dict(zip(AP_PROP_KEY, " + cmd_set[i][1][j] + ")))"
- exec cmd_string
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- try:
- # configurable params
- ap_list = self.ap_list
- send_len = self.send_len
- att_test_list = self.att_test_list
- tx_enable = self.tx_enable
- rx_enable = self.rx_enable
- measure_period = self.measure_period
- # configurable params
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPThroughput script, error is %s" % e)
- raise StandardError("Error configuration")
-
- # find local ip and generate local port
- local_ip_list = socket.gethostbyname_ex(socket.gethostname())[2]
- for local_ip in local_ip_list:
- if local_ip.find("192.168.1.") != -1:
- pc_ip = local_ip
- break
- else:
- raise StandardError("Can't find local IP.")
-
- tcp_port = random.randint(40000, 50000)
-
- # init throughput result data
- test_item = ""
- if tx_enable is True:
- test_item += "Tx"
- if rx_enable is True:
- test_item += "Rx"
- if test_item == "":
- raise StandardError("no throughput test item")
-
- folder_path = MakeFolder.make_folder(LOG_FOLDER)
- file_name = os.path.join(folder_path,
- "TCPThroughput_%s_%s" % (test_item, time.strftime("%d%H%M%S", time.localtime())))
-
- result = ThroughputResult.ThroughputResult(file_name, standard_required=True)
-
- # restart before executing throughput
- checker_stings = ["R SSC1 C !!!ready!!!"]
- test_action_string = ["SSC SSC1 reboot"]
- fail_string = "Fail, Fail to reboot"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # disable recv print during throughput test
- checker_stings = ["R SSC1 C +RECVPRINT"]
- test_action_string = ["SSC SSC1 soc -R -o 0"]
- fail_string = "Fail, Fail to disable recv print"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- for ap_prop in ap_list:
- if ap_prop["password"] == "":
- # set a default string for open ap
- ap_prop["password"] = "1"
-
- # switch off all outlet, switch on AP outlet
- outlet_config_dict = dict.fromkeys(range(1, 9), "OFF")
- outlet_config_dict[ap_prop["apc"]] = "ON"
- apc_cmd = "APC <APC1>"
- for outlet in outlet_config_dict:
- apc_cmd += " %s %s" % (outlet_config_dict[outlet], outlet)
- checker_stings = ["P PC_COM L OK"]
- fail_string = "Fail, Fail to switch apc"
- if self.load_and_exe_one_step(checker_stings, [apc_cmd], fail_string) is False:
- return
-
- # wait AP ready
- time.sleep(20)
-
- # create server
- server_sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
- server_sock.bind((pc_ip, tcp_port))
- server_sock.settimeout(5)
- server_sock.listen(5)
-
- if tx_enable is True:
- result.add_test_item(ap_prop["ssid"] + "_tx")
- if rx_enable is True:
- result.add_test_item(ap_prop["ssid"] + "_rx")
-
- # create RSSI Calibrator
- calibrator = RSSICalibrator.Calibrator()
-
- for att_value in att_test_list:
- # step 0 set att value
- checker_stings = ["R PC_COM L OK"]
- test_action_string = ["ATT <att_port> %s" % att_value]
- fail_string = "Fail, Fail to set att value"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- continue
- # step 1 connect to AP
- checker_stings = ["R SSC1 C +JAP:CONNECTED"]
- test_action_string = ["SSC SSC1 sta -C -s %s -p %s" % (ap_prop["ssid"], ap_prop["password"])]
- fail_string = "Fail, Fail to JAP"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string,
- check_freq=1, check_time=30) is False:
- continue
- # step 2 get AP RSSI
- checker_stings = ["R SSC1 A <rssi>:\+SCAN:%s,[:\d\w]+,\d+,\d+,([-\d]+)" % ap_prop["ssid"]]
- test_action_string = ["SSC SSC1 sta -S -s %s" % ap_prop["ssid"]]
- fail_string = "Fail, Fail to scan"
- rssi = scan_count = 0
- for i in range(3):
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- continue
- rssi += int(self.test_env.get_variable_by_name("rssi")[1])
- scan_count += 1
-
- rssi = calibrator.calibrate_rssi(float(rssi)/scan_count if scan_count > 0 else 0, att_value)
-
- # step 3 close all connections
- checker_stings = ["R SSC1 C +CLOSEALL"]
- test_action_string = ["SSC SSC1 soc -T"]
- fail_string = "Fail, Fail to create server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- continue
-
- # step 4 create tcp connection
-
- checker_stings = ["R SSC1 A <client_sock>:\+BIND:(\d+),OK"]
- test_action_string = ["SSC SSC1 soc -B -t TCP"]
- fail_string = "Fail, Fail bind"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- continue
-
- checker_stings = ["P SSC1 RE \+CONNECT:\d+,OK"]
- test_action_string = ["SSC SSC1 soc -C -s <client_sock> -i %s -p %s" % (pc_ip, tcp_port)]
- fail_string = "Fail, Fail to connect"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- continue
-
- try:
- sock, addr = server_sock.accept()
- except socket.error, e:
- NativeLog.add_trace_critical("%s" % e)
- continue
- sock.settimeout(measure_period)
-
- # step 5 do throughput test
- send_thread = SendThread(sock if rx_enable is True else None, send_len)
- send_thread.start()
-
- recv_thread = RecvThread(sock if tx_enable is True else None)
- recv_thread.start()
-
- if tx_enable is True:
- # do send from target
- test_action_string = ["SSC SSC1 soc -S -s <client_sock> -l %s -n 10000000" % send_len]
- fail_string = "Fail, Fail to send"
- if self.load_and_exe_one_step([], test_action_string, fail_string) is False:
- pass
-
- # start throughput calculate
- send_thread.start_calc()
- recv_thread.start_calc()
-
- # sleep for measure period
- time.sleep(measure_period)
-
- # stop throughput calculate
- send_thread.stop_calc()
- recv_thread.stop_calc()
-
- send_thread.join()
- recv_thread.join()
-
- sock.close()
-
- # output throughput result
- # in Mbps
- if send_thread.get_bytes_sent() > 0:
- result.log_throughput(ap_prop["ssid"] + "_rx", rssi, att_value,
- float(send_thread.get_bytes_sent() * 8) / (measure_period * 1000000))
-
- if recv_thread.get_bytes_recv() > 0:
- result.log_throughput(ap_prop["ssid"] + "_tx", rssi, att_value,
- float(recv_thread.get_bytes_recv() * 8) / (measure_period * 1000000))
-
- result.output_to_file()
- pass
-
- server_sock.close()
-
- self.result_cntx.set_result("Succeed")
-
- # finally, execute done
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-__all__ = ["TCPConnUtility", "TCPConnSingleMode", "TCPConnMixedMode"]
\ No newline at end of file
+++ /dev/null
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-import time
-import random
-import string
-
-TEST_COUNT_ONE_ROUND = 1000
-
-
-class UDPSendRecv(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def cleanup(self):
- # step 0 turn on recv print
- checker_stings = ["R SSC1 C +RECVPRINT:1"]
- test_action_string = ["SSC SSC1 soc -R -o 1"]
- fail_string = "Fail, Fail to turn on recv print"
- self.load_and_exe_one_step(checker_stings, test_action_string, fail_string)
- pass
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- try:
- # configurable params
- send_len = self.send_len
- test_time = self.test_time * 60
- duplex = self.duplex
- conn_num = self.conn_num
- send_delay = self.send_delay
- # configurable params
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for UDPSendRecv script, error is %s" % e)
- raise StandardError("Error configuration")
-
- ssid = "".join([random.choice(string.lowercase) for m in range(10)])
- password = "".join([random.choice(string.lowercase) for m in range(10)])
-
- # step 0 set ap
- checker_stings = ["R SSC1 C +SAP:OK"]
- test_action_string = ["SSC SSC1 ap -S -s %s -p %s -t 3" % (ssid, password)]
- fail_string = "Fail, Fail to set ap"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # step 1 connect to ap and turn off recv print
- checker_stings = ["R SSC2 C +JAP:CONNECTED"]
- test_action_string = ["SSC SSC2 sta -C -s %s -p %s" % (ssid, password)]
- fail_string = "Fail, Fail to connect to server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string, check_time=200) is False:
- return
-
- checker_stings = ["R SSC2 A <sta_ip>:\+STAIP:(\d+\.\d+\.\d+\.\d+)\r"]
- test_action_string = ["SSC SSC2 ip -Q -o 1"]
- fail_string = "Fail, Fail to connect to server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string, check_time=200) is False:
- return
-
- checker_stings = ["P SSC1 C +RECVPRINT:0", "P SSC2 C +RECVPRINT:0"]
- test_action_string = ["SSC SSC1 soc -R -o 0", "SSC SSC2 soc -R -o 0"]
- fail_string = "Fail, Fail to turn off recv print"
- self.load_and_exe_one_step(checker_stings, test_action_string, fail_string)
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string, check_time=200) is False:
- return
-
- # step 2 create conn_num udp socket
- for i in range(1, conn_num+1):
- checker_stings = ["R SSC1 A <t1_sock%d>:\+BIND:(\d+),OK" % i,
- "R SSC2 A <t2_sock%d>:\+BIND:(\d+),OK" % i]
- test_action_string = ["SSC SSC1 soc -B -t UDP -p <test_udp_port%i>" % i,
- "SSC SSC2 soc -B -t UDP -p <test_udp_port%i>" % i]
- fail_string = "Fail, Fail to create socket"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- start_time = time.time()
- # step 3, do send/recv
- while time.time()-start_time < test_time:
-
- checker_stings = ["P SSC1 NC ERROR NC CLOSE"]
- for i in range(1, conn_num+1):
- test_action_string = ["SSC SSC2 soc -S -s <t2_sock%d> -l %d -n %d -j %d "
- "-i <target_ap_ip> -p <test_udp_port%d>" %
- (i, send_len, TEST_COUNT_ONE_ROUND, send_delay, i)]
- checker_stings.append("P SSC2 RE \"\+SEND:%%%%s,OK\"%%%%(<t2_sock%d>) NC ERROR NC CLOSE" % i)
- if duplex is True:
- test_action_string.append("SSC SSC1 soc -S -s <t1_sock%d> -l %d -n %d -j %d"
- " -i <sta_ip> -p <test_udp_port%d>" %
- (i, send_len, TEST_COUNT_ONE_ROUND, send_delay, i))
- checker_stings.append("P SSC1 RE \"\+SEND:%%%%s,OK\"%%%%(<t1_sock%d>)" % i)
-
- fail_string = "Fail, Failed on send command"
- if self.load_and_exe_one_step([], test_action_string, fail_string) is False:
- break
- time.sleep(1)
-
- fail_string = "Fail, Failed to send/recv data"
- if self.load_and_exe_one_step(checker_stings, ["DELAY 0.1"], fail_string,
- check_freq=1, check_time=300) is False:
- break
- pass
-
- NativeLog.add_prompt_trace("time escape: %s" % (time.time() - start_time))
- self.result_cntx.set_result("Succeed")
-
- # finally, execute done
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
-
-
+++ /dev/null
-import os
-import time
-import random
-import threading
-import socket
-
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-from NativeLog import ThroughputResult
-from Utility import RSSICalibrator
-from Utility import MakeFolder
-
-
-LOG_FOLDER = os.path.join("AT_LOG", "Performance", "Throughput")
-
-
-AP_PROP_KEY = ("ssid", "password", "apc")
-
-
-class SendThread(threading.Thread):
- def __init__(self, sock, send_len, target_addr):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.sock = sock
- self.send_len = send_len
- self.target_addr = target_addr
- self.exit_event = threading.Event()
- pass
-
- def exit(self):
- self.exit_event.set()
-
- def run(self):
- data = "A" * self.send_len
- if self.sock is None:
- return
- while True:
- if self.exit_event.isSet() is True:
- break
- try:
- self.sock.sendto(data, self.target_addr)
- except StandardError:
- break
- pass
-
-
-class RecvThread(threading.Thread):
- def __init__(self, sock):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.sock = sock
- self.exit_event = threading.Event()
- self.calc_event = threading.Event()
- self.bytes_recv = 0
-
- def start_calc(self):
- self.calc_event.set()
-
- def stop_calc(self):
- self.calc_event.clear()
- self.exit_event.set()
-
- def run(self):
- if self.sock is None:
- return
- while True:
- if self.exit_event.isSet() is True:
- break
- try:
- data, addr = self.sock.recvfrom(65535)
- except StandardError:
- break
- if self.calc_event.isSet() is True:
- self.bytes_recv += len(data)
-
- def get_bytes_recv(self):
- return self.bytes_recv
- pass
-
-
-class UDPThroughput(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.att_test_list = range(60)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- # read AP list
- self.ap_list = []
- for i in range(1, len(cmd_set)):
- for j in range(len(cmd_set[i][1])):
- if cmd_set[i][1][j] != "":
- cmd_string = "self.ap_list.append(dict(zip(AP_PROP_KEY, " + cmd_set[i][1][j] + ")))"
- exec cmd_string
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- try:
- # configurable params
- ap_list = self.ap_list
- send_len = self.send_len
- att_test_list = self.att_test_list
- tx_enable = self.tx_enable
- rx_enable = self.rx_enable
- measure_period = self.measure_period
- # configurable params
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for TCPThroughput script, error is %s" % e)
- raise StandardError("Error configuration")
-
- # find local ip and generate local port
- local_ip_list = socket.gethostbyname_ex(socket.gethostname())[2]
- for local_ip in local_ip_list:
- if local_ip.find("192.168.1.") != -1:
- pc_ip = local_ip
- break
- else:
- raise StandardError("Can't find local IP.")
-
- udp_port = random.randint(40000, 50000)
-
- # init throughput result data
- test_item = ""
- if tx_enable is True:
- test_item += "Tx"
- if rx_enable is True:
- test_item += "Rx"
- if test_item == "":
- raise StandardError("no throughput test item")
-
- folder_path = MakeFolder.make_folder(LOG_FOLDER)
- file_name = os.path.join(folder_path,
- "UDPThroughput_%s_%s" % (test_item, time.strftime("%d%H%M%S", time.localtime())))
-
- result = ThroughputResult.ThroughputResult(file_name)
-
- # restart before executing throughput
- checker_stings = ["R SSC1 C !!!ready!!!"]
- test_action_string = ["SSC SSC1 reboot"]
- fail_string = "Fail, Fail to reboot"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- # disable recv print during throughput test
- checker_stings = ["R SSC1 C +RECVPRINT"]
- test_action_string = ["SSC SSC1 soc -R -o 0"]
- fail_string = "Fail, Fail to disable recv print"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- return
-
- for ap_prop in ap_list:
- if ap_prop["password"] == "":
- # set a default string for open ap
- ap_prop["password"] = "1"
-
- # switch off all outlet, switch on AP outlet
- outlet_config_dict = dict.fromkeys(range(1, 9), "OFF")
- outlet_config_dict[ap_prop["apc"]] = "ON"
- apc_cmd = "APC <APC1>"
- for outlet in outlet_config_dict:
- apc_cmd += " %s %s" % (outlet_config_dict[outlet], outlet)
- checker_stings = ["P PC_COM L OK"]
- fail_string = "Fail, Fail to switch apc"
- if self.load_and_exe_one_step(checker_stings, [apc_cmd], fail_string) is False:
- return
-
- # wait AP ready
- time.sleep(20)
-
- # create server
- udp_sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_DGRAM)
- udp_sock.bind((pc_ip, udp_port))
- udp_sock.settimeout(1)
-
- if tx_enable is True:
- result.add_test_item(ap_prop["ssid"] + "_tx")
- if rx_enable is True:
- result.add_test_item(ap_prop["ssid"] + "_rx")
-
- # create RSSI Calibrator
- calibrator = RSSICalibrator.Calibrator()
-
- for att_value in att_test_list:
- # step 0 set att value
- checker_stings = ["R PC_COM L OK"]
- test_action_string = ["ATT <att_port> %s" % att_value]
- fail_string = "Fail, Fail to set att value"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- continue
- # step 1 connect to AP
- checker_stings = ["R SSC1 C +JAP:CONNECTED"]
- test_action_string = ["SSC SSC1 sta -C -s %s -p %s" % (ap_prop["ssid"], ap_prop["password"])]
- fail_string = "Fail, Fail to JAP"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string,
- check_freq=1, check_time=30) is False:
- continue
- checker_stings = ["R SSC1 A <target_ip>:STAIP:(\d+\.\d+\.\d+\.\d+)"]
- test_action_string = ["SSC SSC1 ip -Q"]
- fail_string = "Fail, Fail to get ip"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string,
- check_freq=1, check_time=30) is False:
- continue
- target_ip = self.get_parameter("target_ip")
- # step 2 get AP RSSI
- checker_stings = ["R SSC1 A <rssi>:\+SCAN:%s,[:\d\w]+,\d+,\d+,([-\d]+)\r" % ap_prop["ssid"]]
- test_action_string = ["SSC SSC1 sta -S -s %s" % ap_prop["ssid"]]
- fail_string = "Fail, Fail to scan"
- rssi = scan_count = 0
- for i in range(3):
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- continue
- rssi += int(self.test_env.get_variable_by_name("rssi")[1])
- scan_count += 1
-
- rssi = calibrator.calibrate_rssi(float(rssi)/scan_count if scan_count > 0 else 0, att_value)
-
- # step 3 close all connections
- checker_stings = ["R SSC1 C +CLOSEALL"]
- test_action_string = ["SSC SSC1 soc -T"]
- fail_string = "Fail, Fail to create server"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- continue
-
- # step 4 create UDP socket
- checker_stings = ["R SSC1 A <client_sock>:\+BIND:(\d+),OK"]
- test_action_string = ["SSC SSC1 soc -B -t UDP -i %s -p %s" % (target_ip, udp_port)]
- fail_string = "Fail, Fail bind"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- continue
-
- # step 5 do throughput test
- send_thread = SendThread(udp_sock if rx_enable is True else None,
- send_len, (target_ip, udp_port))
- send_thread.start()
-
- recv_thread = RecvThread(udp_sock if tx_enable is True else None)
- recv_thread.start()
-
- if tx_enable is True:
- # do send from target
- test_action_string = ["SSC SSC1 soc -S -s <client_sock> -l %s -n 10000000 -i %s -p %s"
- % (send_len, pc_ip, udp_port)]
- fail_string = "Fail, Fail to send"
- if self.load_and_exe_one_step([], test_action_string, fail_string) is False:
- pass
-
- # start throughput calculate
- recv_thread.start_calc()
-
- # sleep for measure period
- time.sleep(measure_period)
-
- # stop throughput calculate
- recv_thread.stop_calc()
- send_thread.exit()
-
- send_thread.join()
- recv_thread.join()
-
- # output throughput result
- # in Mbps
- if rx_enable is True:
- # get received data len from PC
- self.load_and_exe_one_step(["R SSC1 A <recv_len>:RECVLEN:(\d+)"],
- ["SSC SSC1 soc -Q -s <client_sock> -o 1"],
- "Fail, Fail to get recv data len")
- try:
- rx_data_len = int(self.get_parameter("recv_len"))
- except StandardError:
- rx_data_len = 0
-
- result.log_throughput(ap_prop["ssid"] + "_rx", rssi, att_value,
- float(rx_data_len * 8) / (measure_period * 1000000))
-
- if recv_thread.get_bytes_recv() > 0:
- result.log_throughput(ap_prop["ssid"] + "_tx", rssi, att_value,
- float(recv_thread.get_bytes_recv() * 8) / (measure_period * 1000000))
-
- result.output_to_file()
- pass
-
- udp_sock.close()
-
- self.result_cntx.set_result("Succeed")
-
- # finally, execute done
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-__all__ = ["UDPSendRecv", ]
+++ /dev/null
-import random
-import time
-import string
-import threading
-
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-from TCAction import PerformanceTCBase
-from Utility import Encoding
-
-
-class STAJAPThread(threading.Thread):
- def __init__(self, test_action, port_name, ssid, password, delay1, delay2, change_mac):
- threading.Thread.__init__(self)
- self.setDaemon(True)
- self.test_action = test_action
- self.port_name = port_name
- self.ssid = ssid
- self.password = password
- self.delay1 = delay1
- self.delay2 = delay2
- self.change_mac = change_mac
- self.exit_flag = threading.Event()
- pass
-
- def exit(self):
- self.exit_flag.set()
- pass
-
- def run(self):
- total_test_count = 0
- fail_count = 0
- while self.exit_flag.isSet() is False:
- # change mac
- if self.change_mac is True:
- mac = Encoding.generate_random_mac()
- self.test_action.serial_write_line(self.port_name, "mac -S -o 1 -m %s" % mac)
- self.test_action.check_response(self.port_name, "+MAC:STA,OK")
-
- time.sleep(1)
-
- # JAP
- total_test_count += 1
- # flush current port data
- self.test_action.flush_data(self.port_name)
- self.test_action.serial_write_line(self.port_name, "sta -C -s %s -p %s" % (self.ssid, self.password))
- if self.test_action.check_response(self.port_name, "+JAP:CONNECTED", 45) is False:
- fail_count += 1
- NativeLog.add_trace_critical("[%s] Failed to JAP, Failed/Total : %d/%d"
- % (self.port_name, fail_count, total_test_count))
- continue
- time.sleep(random.randint(self.delay1[0], self.delay1[1]))
-
- # QAP
- self.test_action.serial_write_line(self.port_name, "sta -D")
- if self.test_action.check_response(self.port_name, "+QAP:OK", 5) is False:
- NativeLog.add_trace_critical("[%s] Failed to QAP" % self.port_name)
- time.sleep(random.randint(self.delay2[0], self.delay2[1]))
-
- # make sure quit AP
- self.test_action.serial_write_line(self.port_name, "sta -D")
- pass
- pass
-
-
-class SoftAPNSTA(PerformanceTCBase.PerformanceTCBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- PerformanceTCBase.PerformanceTCBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.sta_num = 0
- self.max_sta = 4
- self.test_time = 60
- self.delay1 = [5, 30]
- self.delay2 = [5, 10]
- self.change_mac = True
- self.channel = 11
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy" and cmd_set[i][0] != "":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- pass
-
- def process(self):
- # configurable parameters
- try:
- sta_num = self.sta_num
- max_sta = self.max_sta
- test_time = self.test_time
- # delay between JAP succeed and QAP
- delay1 = self.delay1
- # delay between QAP and JAP
- delay2 = self.delay2
- # if change mac each time before JAP
- change_mac = self.change_mac
- # channel
- channel = self.channel
- except StandardError, e:
- raise StandardError("miss mandatory parameters")
-
- # step 0, set op mode and enable dhcp
- self.serial_write_line("SSC1", "op -S -o 2")
- if self.check_response("SSC1", "+MODE:OK", 2) is False:
- NativeLog.add_trace_critical("Failed to set ap mode")
- return
- self.serial_write_line("SSC1", "dhcp -E -o 2")
- if self.check_response("SSC1", "+DHCP:AP,OK", 2) is False:
- NativeLog.add_trace_critical("Failed to enable ap dhcp")
- return
- self.serial_write_line("SSC1", "dhcp -L -s 192.168.4.2 -e 192.168.4.100 -t 1")
- if self.check_response("SSC1", "+DHCP:LEASE,OK", 2) is False:
- NativeLog.add_trace_critical("Failed to enable ap dhcp")
- return
- self.serial_write_line("SSC1", "dhcp -S -o 2")
- if self.check_response("SSC1", "+DHCP:AP,OK", 2) is False:
- NativeLog.add_trace_critical("Failed to enable ap dhcp")
- return
-
- for i in range(sta_num):
- self.serial_write_line("SSC%d" % (i+2), "op -S -o 1")
- if self.check_response("SSC%d" % (i+2), "+MODE:OK", 2) is False:
- NativeLog.add_trace_critical("Failed to set sta mode")
- return
- self.serial_write_line("SSC%d" % (i+2), "dhcp -S -o 1")
- if self.check_response("SSC%d" % (i+2), "+DHCP:STA,OK", 2) is False:
- NativeLog.add_trace_critical("Failed to enable sta dhcp")
-
- # step 1, set ap config and load
- ap_ssid = "".join([random.choice(string.uppercase) for m in range(15)])
- ap_password = "".join([random.choice(string.lowercase) for m in range(15)])
-
- self.serial_write_line("SSC1", "ap -S -s %s -p %s -t 3 -m %s -n %s"
- % (ap_ssid, ap_password, max_sta, channel))
- if self.check_response("SSC1", "+SAP:OK", 2) is False:
- NativeLog.add_trace_critical("Failed to set AP")
- return
-
- # step 2, start thread to let STA JAP
- sta_thread_list = []
- for i in range(sta_num):
- sta_thread_list.append(STAJAPThread(self, "SSC%d" % (i+2),
- ap_ssid, ap_password, delay1, delay2, change_mac))
- for sta_thread in sta_thread_list:
- sta_thread.start()
-
- # step 3, sleep for test time
- for i in range(test_time):
- self.flush_data("SSC1")
- time.sleep(60)
-
- # step 4, close all thread, will disconnect when exit thread
- for sta_thread in sta_thread_list:
- sta_thread.exit()
- for sta_thread in sta_thread_list:
- sta_thread.join()
- # wait and make sure disconnect done
- time.sleep(1)
-
- # step 5, join AP and check
- sta_num_temp = max_sta if sta_num > max_sta else sta_num
-
- for i in range(sta_num_temp):
- self.serial_write_line("SSC%d" % (i+2), "sta -C -s %s -p %s" % (ap_ssid, ap_password))
- if self.check_response("SSC%d" % (i+2), "+JAP:CONNECTED", 45) is False:
- self.set_result("Fail")
- break
- pass
- else:
- self.set_result("Succeed")
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
-
+++ /dev/null
-from NativeLog import NativeLog
-import time
-import random
-
-
-ERROR_AP_PROP = {"ssid": "123456789012345678901234567890",
- "ssid_len": 30,
- "pwd": "12345678901234567890",
- "pwd_len": 20,
- "channel": 10,
- "enc": 3,
- "apc": 9, # invalid apc count
- }
-
-
-class WifiConnUtilError(StandardError):
- pass
-
-
-class WifiConnUtility(object):
-
- def __init__(self, tc_action):
- self.tc_action = tc_action
- self.target_type = tc_action.target_type
- pass
-
- def set_mode(self, mode):
- ret = True
- fail_string = "set mode fail"
- cmd = []
- checker_stings = []
- for i in range(2):
- if self.target_type[0] == "SSC":
- cmd.append("SSCC SSC%d op -S -o %d" % (i+1, mode[i]))
- checker_stings.append("SSCP SSC%d C +MODE:OK" % (i+1))
- pass
- else:
- cmd.append("ATC AT%d CWMODE %d" % (i+1, mode[i]))
- checker_stings.append("ATP AT%d L OK" % (i+1))
- pass
- if self.tc_action.load_and_exe_one_step(checker_stings, cmd,
- fail_string, check_time=50) is False:
- NativeLog.add_trace_critical("Failed to set mode")
- ret = False
- return ret
- pass
-
- def _apc_switch(self, outlet_list, action_list):
- checker_stings = ["R PC_COM C OK"]
- switch_cmd = "APC <APC1>"
- fail_string = "Error when switching APC"
- ret = True
-
- for [_outlet, _action] in zip(action_list, outlet_list):
- switch_cmd += " %s %d" % (_action, _outlet)
-
- if self.tc_action.load_and_exe_one_step(checker_stings, [switch_cmd],
- fail_string, check_time=50) is False:
- NativeLog.add_trace_critical("Error when switching APC")
- ret = False
- return ret
- pass
-
- def _set_target_ap(self, ap_prop):
- ret = True
- fail_string = "set target ap fail, %s, %s" % (ap_prop["ssid"], ap_prop["pwd"])
- if self.target_type[1] == "SSC":
- if ap_prop["pwd"] == "":
- cmd = ["SSCC SSC2 ap -S -s %s -t %d" % (ap_prop["ssid"],
- ap_prop["enc"])
- ]
- else:
- cmd = ["SSCC SSC2 ap -S -s %s -p %s -t %d" % (ap_prop["ssid"],
- ap_prop["pwd"],
- ap_prop["enc"])
- ]
- checker_stings = ["SSCP SSC2 C +SAP:OK"]
- pass
- else:
- cmd = ["ATC AT2 CWSAP \"%s\" \"%s\" %d %d" % (ap_prop["ssid"],
- ap_prop["pwd"],
- ap_prop["channel"],
- ap_prop["enc"])
- ]
- checker_stings = ["ATR AT2 L OK"]
- pass
- if self.tc_action.load_and_exe_one_step(checker_stings, cmd,
- fail_string, check_time=50) is False:
- NativeLog.add_trace_critical("set target ap fail")
- ret = False
- return ret
- pass
-
- def setup_ap(self, ap_type, ap_prop):
- if ap_type == "target":
- ret = self._set_target_ap(ap_prop)
- pass
- else:
- ret = self._apc_switch(["ON"], [ap_prop["apc"]])
- # delay for 5 seconds, wait AP ready
- time.sleep(5)
- pass
- return ret
-
- def do_scan(self, ap_prop):
- fail_string = "Scan fail"
- ret = True
- # do not check if the set AP can be scanned
- if self.target_type[1] == "SSC":
- cmd = ["SSCC SSC1 sta -S"]
- checker_stings = ["SSCR SSC1 C +SCANDONE"]
- pass
- else:
- cmd = ["ATS AT1 AT+CWLAP"]
- checker_stings = ["ATR AT1 L OK"]
- pass
- if self.tc_action.load_and_exe_one_step(checker_stings, cmd,
- fail_string, check_time=100) is False:
- NativeLog.add_trace_critical("Scan fail")
- ret = False
- return ret
- pass
-
- def _switch_off_target_ap(self, delay):
- time.sleep(delay)
- self._set_target_ap(ERROR_AP_PROP)
- pass
-
- def _switch_on_target_ap(self, ap_prop, delay):
- time.sleep(delay)
- self._set_target_ap(ap_prop)
- pass
-
- def _switch_off_ap(self, ap_type, ap_prop, delay_range):
- delay = random.randint(delay_range[0]*10, delay_range[1]*10)/10
- if ap_type == "target":
- self._switch_off_target_ap(delay)
- else:
- delay -= 1.5
- time.sleep(delay if delay > 0 else 0)
- self._apc_switch(["OFF"], [ap_prop["apc"]])
- pass
-
- def _switch_on_ap(self, ap_type, ap_prop, delay_range):
- delay = random.randint(delay_range[0]*10, delay_range[1]*10)/10
- if ap_type == "target":
- self._switch_on_target_ap(ap_prop, delay)
- else:
- delay -= 1.5
- time.sleep(delay if delay > 0 else 0)
- self._apc_switch(["ON"], [ap_prop["apc"]])
- pass
-
- def _join_ap(self, ap_prop, test_method):
- fail_string = "join target ap fail, %s, %s" % (ap_prop["ssid"], ap_prop["pwd"])
- if self.target_type[1] == "SSC":
- cmd = ["SSCC SSC1 ap -C -s %s -p %s" % (ap_prop["ssid"],
- ap_prop["pwd"],)
- ]
- checker_stings = ["SSCR SSC1 C +JAP:CONNECTED"]
- pass
- else:
- cmd = ["ATC AT1 CWJAP \"%s\" \"%s\"" % (ap_prop["ssid"],
- ap_prop["pwd"])
- ]
- checker_stings = ["ATR AT1 NC ERROR NC FAIL L OK"]
- pass
- if test_method == "Normal":
- ret = self.tc_action.load_and_exe_one_step(checker_stings, cmd,
- fail_string, check_freq=0.1, check_time=350)
- if ret is not False:
- ret *= 0.1
- else:
- ret = self.tc_action.load_and_exe_one_step([], cmd, fail_string)
- return ret
- pass
-
- def _check_join_ap_result(self, ap_prop):
- ret = False
- fail_string = "join ap fail, %s, %s" % (ap_prop["ssid"], ap_prop["pwd"])
-
- if self.target_type[1] == "SSC":
- checker_stings = ["SSCR SSC1 C +JAP:CONNECTED"]
- ret = self.tc_action.load_and_exe_one_step(checker_stings, ["DELAY 0"],
- fail_string, check_freq=1, check_time=120)
- pass
- else:
- cmd = ["ATS AT1 AT+CWJAP?"]
- checker_stings = ["ATR AT1 NC busy NC No%20AP C +CWJAP"]
- for i in range(3):
- ret = self.tc_action.load_and_exe_one_step(checker_stings, cmd,
- fail_string, check_freq=1, check_time=2)
- if ret is not False:
- break
- time.sleep(15)
-
- return ret
- pass
-
- def join_ap(self, join_test_method, ap_type, ap_prop, delay):
-
- if join_test_method == "WRONG_PROP":
- _prop = ERROR_AP_PROP
- else:
- _prop = ap_prop
-
- ret = self._join_ap(_prop, join_test_method)
-
- if join_test_method == "OFF_ON":
- self._switch_off_ap(ap_type, ap_prop, delay[0])
- self._switch_on_ap(ap_type, ap_prop, delay[1])
- ret = self._check_join_ap_result(_prop)
- pass
- elif join_test_method == "OFF":
- self._switch_off_ap(ap_type, ap_prop, delay[0])
- time.sleep(25)
- pass
-
- return ret
- pass
-
- def do_reconnect(self, reconnect_test_method, ap_type, ap_prop, delay):
- ret = True
- if reconnect_test_method == "OFF_ON":
- self._switch_off_ap(ap_type, ap_prop, delay[0])
- self._switch_on_ap(ap_type, ap_prop, delay[1])
- ret = self._check_join_ap_result(ap_prop)
- pass
- elif reconnect_test_method == "OFF":
- self._switch_off_ap(ap_type, ap_prop, delay[0])
- pass
- return ret
- pass
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import os
-import random
-import time
-
-import WifiConnUtility
-from NativeLog import NativeLog
-from TCAction import TCActionBase
-from Utility import Encoding
-from Utility import MakeFolder
-
-STEPS = {"SCAN1": 0x01, "JAP": 0x02, "SCAN2": 0x04, "RECONNECT": 0x08}
-
-AP_PROP = ("ssid", "ssid_len", "pwd",
- "pwd_len", "channel", "enc", "apc")
-
-JAP_TEST_METHOD = ("Normal", "OFF_ON", "OFF", "WRONG_PROP")
-
-RECONNECT_TEST_METHOD = ("OFF_ON", "OFF")
-
-LOG_FOLDER = os.path.join("AT_LOG", "Performance", "JAP")
-
-
-SSID_LEN_RANGE = (1, 32) # in bytes
-ENC_TYPE = (0, 2, 3, 4) # do not support WEP for 8266 soft AP
-PWD_RANGE = {0: [0, 0],
- 1: [5, 5],
- 2: [8, 63],
- 3: [8, 63],
- 4: [8, 63],
- }
-
-
-class WifiJAP(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # default value for optional configurable params
- self.pwd_len = [8, 64]
- self.step_config = [0x03, 0x01, 0x02, 0x0B, 0x0F]
- self.join_test_method = ["Normal"]
- self.join_delay = [[1.5, 5], [1.5, 5]]
- self.reconnect_test_method = ["OFF_ON"]
- self.reconnect_delay = [[1.5, 5], [1.5, 6]]
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy" and cmd_set[i][0] != "":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- # read AP list
- self.ap_list = []
- for i in range(1, len(cmd_set)):
- for j in range(len(cmd_set[i][1])):
- if cmd_set[i][1][j] != "":
- cmd_string = "self.ap_list.append(dict(zip(AP_PROP, " + cmd_set[i][1][j] + ")))"
- exec cmd_string
-
- folder_path = MakeFolder.make_folder(LOG_FOLDER)
- file_name = "JAP_log_%s.log" % (time.strftime("%m%d%H%M%S", time.localtime()))
- self._performance_log_file = os.path.join(folder_path, file_name)
-
- # test statistics
- self._succeed_count = self._fail_count = self._time_cost_count = 0
- self._total_time = self._longest_time = 0
-
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- # get target type "SSC" or "AT"
- self.target_type = ["SSC" if test_env.get_port_by_name("AT1") is None else "AT"]
- self.target_type.append("SSC" if test_env.get_port_by_name("AT2") is None else "AT")
- self._utility = WifiConnUtility.WifiConnUtility(self)
- pass
-
- def _generate_random_ap_prop(self):
- ap_prop = dict.fromkeys(AP_PROP)
- # generate target ap_value
- ap_prop["ssid_len"] = random.randint(SSID_LEN_RANGE[0], SSID_LEN_RANGE[1])
- ap_prop["channel"] = random.choice(range(1, 14))
- ap_prop["enc"] = random.choice(ENC_TYPE)
- ap_prop["pwd_len"] = random.randint(PWD_RANGE[ap_prop["enc"]][0], PWD_RANGE[ap_prop["enc"]][1])
- # generate string
- if self.target_type[0] == self.target_type[1] == "AT":
- ap_prop["ssid"] = Encoding.generate_random_utf8_str(ap_prop["ssid_len"])
- ap_prop["pwd"] = Encoding.generate_random_utf8_str(ap_prop["pwd_len"])
- # NativeLog.add_trace_info("ssid hex is : %x" % ap_prop["ssid"])
- # NativeLog.add_trace_info("pwd hex is : %x" % ap_prop["pwd"])
- else:
- ap_prop["ssid"] = Encoding.generate_random_printable_str(ap_prop["ssid_len"])
- ap_prop["pwd"] = Encoding.generate_random_printable_str(ap_prop["pwd_len"])
-
- return ap_prop
-
- def _logging_performance(self, ssid, join_method="Normal", time_cost=0):
- # log performance to performance log file
- with open(self._performance_log_file, "ab+") as f:
- # log time and ssid
- f.write("\r\n[%s]:\r\n[AP name] %s\r\n" %
- (time.strftime("%m-%d %H:%M:%S", time.localtime()), ssid))
- if join_method == "Normal" or join_method == "OFF_ON":
- if time_cost is not False:
- self._succeed_count += 1
- if join_method == "Normal":
- f.write("[Succeed][%f]\r\n" % time_cost)
- self._longest_time = (time_cost > self._longest_time and
- [time_cost] or [self._longest_time])[0]
- self._time_cost_count += 1
- self._total_time += time_cost
- else:
- f.write("[Succeed][%s]\r\n" % join_method)
- else:
- self._fail_count += 1
- f.write("[Fail][%s]\r\n" % join_method)
- pass
-
- def _logging_fail_step(self, ssid, step):
- with open(self._performance_log_file, "ab+") as f:
- f.write("\r\n[%s]:\r\n[AP name] %s\r\n" %
- (time.strftime("%m-%d %H:%M:%S", time.localtime()), ssid))
- f.write("[Fail][%s]\r\n" % step)
- pass
-
- def _generate_performance_report(self):
- with open(self._performance_log_file, "ab+") as f:
- f.write("[Test report] Succeed: %d\r\n" % self._succeed_count)
- f.write("[Test report] Failed: %d\r\n" % self._fail_count)
- if self._succeed_count > 0 or self._fail_count > 0:
- f.write("[Test report] Pass Rate: %f\r\n" %
- (self._succeed_count/(self._fail_count+self._succeed_count)))
- if self._time_cost_count > 0:
- f.write("[Test report] Average time: %f\r\n" % (self._total_time/self._time_cost_count))
- f.write("[Test report] Longest time: %f\r\n" % self._longest_time)
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- # mandatory configurable params
- try:
- target_ap_num = self.target_ap_num
- test_count = self.test_count
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for WifiJAP script, error is %s" % e)
- raise StandardError("Error configuration")
-
- # prepare ap list
- _ap_list = [["target", None]] * target_ap_num
- for _ap_prop in self.ap_list:
- _ap_list.append(["AP", _ap_prop])
-
- # set to correct mode first
- self._utility.set_mode([1, 2])
-
- for i in xrange(test_count):
- _ap = random.choice(_ap_list)
- # arrange ap
- _ap_type = _ap[0]
- _ap_prop = _ap[1]
- if _ap_type == "target":
- _ap_prop = self._generate_random_ap_prop()
- pass
-
- # step 1 : mandatory step, set up AP
- if self._utility.setup_ap(_ap_type, _ap_prop) is False:
- self._logging_fail_step(_ap_prop["ssid"], "Set AP")
- NativeLog.add_prompt_trace("[Step1] setup AP Fail")
- continue
- step_config = random.choice(self.step_config)
- NativeLog.add_prompt_trace("[Step1] setup AP succeed")
-
- # step 2 : optional step, do scan before connect
- if step_config & STEPS["SCAN1"] != 0: # check option
- if self._utility.do_scan(_ap_prop) is False:
- self._logging_fail_step(_ap_prop["ssid"], "Scan before JAP")
- NativeLog.add_prompt_trace("[Step2] Scan Done")
-
- # step 3 : mandatory step, join AP
- if step_config & STEPS["JAP"] != 0: # check option
- _join_test_method = random.choice(self.join_test_method)
- time_cost = self._utility.join_ap(_join_test_method, _ap_type, _ap_prop, self.join_delay)
- # log performance to performance log file
- self._logging_performance(_ap_prop["ssid"], _join_test_method, time_cost)
- if time_cost is False:
- # do scan once to check if AP exist
- self._utility.do_scan(_ap_prop)
- continue
- NativeLog.add_prompt_trace("[Step3] Join AP done")
-
- # step 4 : optional step, scan after join AP
- if step_config & STEPS["SCAN2"] != 0: # check option
- if self._utility.do_scan(_ap_prop) is False:
- self._logging_fail_step(_ap_prop["ssid"], "Scan after JAP")
- NativeLog.add_prompt_trace("[Step4] Scan done")
-
- # step 5 : optional step, reconnect test
- if step_config & STEPS["RECONNECT"] != 0: # check option
- _reconnect_test_method = random.choice(self.reconnect_test_method)
- if self._utility.do_reconnect(_reconnect_test_method,
- _ap_type, _ap_prop, self.reconnect_delay) is False:
- self._logging_fail_step(_ap_prop["ssid"], "Reconnect")
-
- NativeLog.add_prompt_trace("[Step5] Reconnect done")
- # continue to next loop
- NativeLog.add_prompt_trace("[WifiJAP] Test count %d done" % i)
-
- # generate report and cleanup
- self._generate_performance_report()
-
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import os
-import time
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-from Utility import RSSICalibrator
-from Utility import MakeFolder
-
-MAX_RSSI = 0
-MIN_RSSI = -110
-MAX_ATT = 60
-LOG_FOLDER = os.path.join("AT_LOG", "Performance", "JAP")
-AP_PROP_KEY = ("ssid", "password", "apc")
-
-
-class Performance(object):
- def __init__(self):
- self.succeed_rssi = dict.fromkeys(range(MIN_RSSI, MAX_RSSI), 0)
- self.failed_rssi = dict.fromkeys(range(MIN_RSSI, MAX_RSSI), 0)
- self.failed_att = dict.fromkeys(range(MAX_ATT), 0)
- pass
-
- def log_performance(self, result, att, rssi):
- if result == "Succeed":
- self.succeed_rssi[rssi] += 1
- else:
- if rssi == 0:
- self.failed_att[att] += 1
- else:
- self.failed_rssi[rssi] += 1
- pass
-
- def __str__(self):
- data = "Succeed:\r\n"
- for rssi in self.succeed_rssi:
- if self.succeed_rssi[rssi] > 0:
- data += "\tRSSI%4d: %2d times\r\n" % (rssi, self.succeed_rssi[rssi])
-
- data += "Failed during scan:\r\n"
- for att in self.failed_att:
- if self.failed_att[att] > 0:
- data += "\tATT%3d: %2d times\r\n" % (att, self.failed_att[att])
-
- data += "Failed during JAP:\r\n"
- for rssi in self.failed_rssi:
- if self.failed_rssi[rssi] > 0:
- data += "\tRSSI%4d: %2d times\r\n" % (rssi, self.failed_rssi[rssi])
-
- return data
- pass
-
-
-class WifiJAPAtt(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- self.att_test_list = range(60)
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
- # read AP list
- self.ap_list = []
- for i in range(1, len(cmd_set)):
- for j in range(len(cmd_set[i][1])):
- if cmd_set[i][1][j] != "":
- cmd_string = "self.ap_list.append(dict(zip(AP_PROP_KEY, " + cmd_set[i][1][j] + ")))"
- exec cmd_string
-
- self.performance = dict([(ap_prop["ssid"], Performance()) for ap_prop in self.ap_list])
- # create log file
- folder_path = MakeFolder.make_folder(LOG_FOLDER)
- self.performance_log = os.path.join(folder_path,
- "JAP_Att_%s.log" % time.strftime("%d%H%M%S", time.localtime()))
-
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def log_performance(self, att, rssi, ssid, result):
- NativeLog.add_prompt_trace("[%s][ssid %s] [att %s] [rssi %s]" % (result, ssid, att, rssi))
- data = ""
- self.performance[ssid].log_performance(result, att, rssi)
- for _ssid in self.performance:
- data += "[ssid] %s\r\n%s\r\n" % (_ssid, self.performance[_ssid])
- with open(self.performance_log, "wb+") as f:
- f.write(data)
- pass
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- try:
- # configurable params
- ap_list = self.ap_list
- att_test_list = self.att_test_list
- test_count = self.test_count
- # configurable params
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for JAPAtt script, error is %s" % e)
- raise StandardError("Error configuration")
-
- for x in xrange(test_count):
- for ap_prop in ap_list:
- if ap_prop["password"] == "":
- # set a default string for open ap
- ap_prop["password"] = "1"
-
- # switch off all outlet, switch on AP outlet
- outlet_config_dict = dict.fromkeys(range(1, 9), "OFF")
- outlet_config_dict[ap_prop["apc"]] = "ON"
- apc_cmd = "APC <APC1>"
- for outlet in outlet_config_dict:
- apc_cmd += " %s %s" % (outlet_config_dict[outlet], outlet)
- checker_stings = ["P PC_COM L OK"]
- fail_string = "Fail, Fail to switch apc"
- if self.load_and_exe_one_step(checker_stings, [apc_cmd], fail_string) is False:
- return
-
- # wait AP ready
- time.sleep(20)
-
- # create RSSI Calibrator
- calibrator = RSSICalibrator.Calibrator()
-
- for att_value in att_test_list:
- # step 0 set att value
- checker_stings = ["R PC_COM L OK"]
- test_action_string = ["ATT <att_port> %s" % att_value]
- fail_string = "Fail, Fail to set att value"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string) is False:
- continue
-
- # step 1 get AP RSSI
- checker_stings = ["R SSC1 A <rssi>:\+SCAN:%s,[:\d\w]+,\d+,\d+,([-\d]+)" % ap_prop["ssid"]]
- test_action_string = ["SSC SSC1 sta -S -s %s" % ap_prop["ssid"]]
- fail_string = "Fail, Fail to scan"
- rssi = scan_count = 0
- for i in range(3):
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string,
- check_freq=1, check_time=5) is False:
- self.log_performance(att_value, 0, ap_prop["ssid"], "Failed to measure RSSI")
- continue
- rssi += int(self.test_env.get_variable_by_name("rssi")[1])
- scan_count += 1
-
- rssi = calibrator.calibrate_rssi(float(rssi)/scan_count if scan_count > 0 else 0, att_value)
-
- # step 2 connect to AP
- checker_stings = ["R SSC1 C +JAP:CONNECTED"]
- test_action_string = ["SSC SSC1 sta -C -s %s -p %s" % (ap_prop["ssid"], ap_prop["password"])]
- fail_string = "Fail, Fail to JAP"
- if self.load_and_exe_one_step(checker_stings, test_action_string, fail_string,
- check_freq=1, check_time=45) is False:
- self.log_performance(att_value, rssi, ap_prop["ssid"], "Failed to JAP")
- continue
-
- self.log_performance(att_value, rssi, ap_prop["ssid"], "Succeed")
-
- # finally, execute done
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-import random
-import os
-import time
-import copy
-
-from TCAction import TCActionBase
-from NativeLog import NativeLog
-from Utility import Encoding
-from Utility import MakeFolder
-
-AP_PROP = ("ssid", "ssid_len", "pwd",
- "pwd_len", "channel", "enc", "apc")
-
-SMART_TYPE = ("esp-touch", "airkiss")
-
-TEST_METHOD = ("ssid_broadcast", "ssid_hidden")
-
-HT = ("ht20", "ht40")
-
-TEST_STAT = ("total count", "fail count", "total time", "longest time")
-
-_TEST_STAT_INIT_DICT = {"total count": 0,
- "fail count": 0,
- "total time": 0,
- "longest time": 0,
- }
-
-LOG_FOLDER = os.path.join("AT_LOG", "Performance", "SmartConfig")
-
-
-SSID_LEN_RANGE = (1, 32) # in bytes
-ENC_TYPE = (0, 2, 3, 4) # do not support WEP for 8266 soft AP
-PWD_RANGE = {0: [0, 0],
- 1: [5, 5],
- 2: [8, 32],
- 3: [8, 32],
- 4: [8, 32],
- }
-
-
-class WifiSmartConfig(TCActionBase.CommonTCActionBase):
-
- def __init__(self, name, test_env, cmd_set, timeout=30, log_path=TCActionBase.LOG_PATH):
- TCActionBase.CommonTCActionBase.__init__(self, name, test_env, cmd_set=cmd_set,
- timeout=timeout, log_path=log_path)
- # default value for optional configurable params
- self.test_method = ["ssid_hidden", "ssid_broadcast"]
- self.bssid = "ff:ff:ff:ff:ff:ff"
- self.ht_ap = dict(zip(HT, [("<ht20_ap_ssid>", "<ht20_ap_password>"),
- ("<ht40_ap_ssid>", "<ht40_ap_password>")]))
- self.ap_channel = {"ht20": 1, "ht40": 1}
- self.delay_time = 3 # default 3s, wait for scan done
- # load param from excel
- for i in range(1, len(cmd_set)):
- if cmd_set[i][0] != "dummy" and cmd_set[i][0] != "":
- cmd_string = "self." + cmd_set[i][0]
- exec cmd_string
-
- folder_path = MakeFolder.make_folder(LOG_FOLDER)
- file_name = "SmartConfig_log_%s.log" % (time.strftime("%m%d%H%M%S", time.localtime()))
- self._performance_log_file = os.path.join(folder_path, file_name)
-
- # type
- self.target_type = ["SSC" if test_env.get_port_by_name("AT1") is None else "AT"]
- self.target_type.append("SSC" if test_env.get_port_by_name("AT2") is None else "AT")
-
- # test statistics
- # better ways to create?
- _test_stat = dict.fromkeys(TEST_STAT, 0)
- _test_method = dict.fromkeys(TEST_METHOD)
- _test_ht = dict.fromkeys(HT)
- self.test_stat = dict.fromkeys(SMART_TYPE)
- for i in SMART_TYPE:
- self.test_stat[i] = copy.deepcopy(_test_ht)
- for j in HT:
- self.test_stat[i][j] = copy.deepcopy(_test_method)
- for k in TEST_METHOD:
- self.test_stat[i][j][k] = copy.deepcopy(_test_stat)
-
- self.result_cntx = TCActionBase.ResultCheckContext(self, test_env, self.tc_name)
- pass
-
- def _generate_random_ap_prop(self, ht_type):
- ap_prop = dict.fromkeys(AP_PROP)
- # generate target ap_value
- ap_prop["ssid_len"] = random.randint(SSID_LEN_RANGE[0], SSID_LEN_RANGE[1])
- ap_prop["channel"] = self.ap_channel[ht_type]
- ap_prop["enc"] = random.choice(ENC_TYPE)
- ap_prop["pwd_len"] = random.randint(PWD_RANGE[ap_prop["enc"]][0], PWD_RANGE[ap_prop["enc"]][1])
- ap_prop["ssid"] = Encoding.generate_random_printable_str(ap_prop["ssid_len"])
- ap_prop["pwd"] = Encoding.generate_random_printable_str(ap_prop["pwd_len"])
-
- return ap_prop
-
- def _logging_performance(self, time_cost, ssid, password, smart_type, test_method, ht_type):
- # update test statistics
- stat = self.test_stat[smart_type][ht_type][test_method]
- stat["total count"] += 1
- # log performance to performance log file
- with open(self._performance_log_file, "ab+") as f:
- # log time and ssid
- if time_cost is not False:
- time_tmp = float(time_cost)/10
- f.write("\r\n[%s]:\r\n[Succeed] [%.2f]\r\n" %
- (time.strftime("%m-%d %H:%M:%S", time.localtime()), time_tmp))
- stat["total time"] += time_tmp
- stat["longest time"] = time_tmp if time_tmp > stat["longest time"] else stat["longest time"]
- else:
- f.write("\r\n[%s]:\r\n[Fail]\r\n" %
- time.strftime("%m-%d %H:%M:%S", time.localtime()))
- stat["fail count"] += 1
-
- f.write("[%s] [%s] [%s]\r\n" %
- (smart_type, test_method, ht_type))
- f.write("[ssid] %s \r\n[password] %s\r\n" %
- (ssid, password))
- pass
-
- def _generate_performance_report(self):
- with open(self._performance_log_file, "ab+") as f:
- for i in SMART_TYPE:
- for j in HT:
- for k in TEST_METHOD:
- stat = self.test_stat[i][j][k]
- f.write("\r\n[Test report] [%s] [%s] [%s]\r\n" % (i, j, k))
- if stat["total count"] > 0:
- f.write("[Total]: %d\r\n" % stat["total count"])
- f.write("[Failed]: %d\r\n" % stat["fail count"])
- f.write("[Fail ratio]: %.2f%%\r\n" %
- (float(stat["fail count"])/stat["total count"] * 100))
- f.write("[Longest time cost]: %.2f\r\n" % stat["longest time"])
- if (stat["total count"] - stat["fail count"]) > 0:
- f.write("[Average time cost]: %.2f\r\n" %
- (stat["total time"]/(stat["total count"]-stat["fail count"])))
-
- @staticmethod
- def cmd_exception_catcher(e):
- raise e
- pass
-
- def execute(self):
- TCActionBase.TCActionBase.execute(self)
- self.result_cntx.start()
-
- # mandatory configurable params
- try:
- test_count = self.test_count
- delay_time = self.delay_time
- except StandardError, e:
- NativeLog.add_trace_critical("Error configuration for WifiJAP script, error is %s" % e)
- raise StandardError("Error configuration")
-
- # step 0 : set AT1 mode
- fail_string = "Fail to restore init condition"
- if self.target_type[0] == "AT":
- cmd = ["ATS AT1 AT+CWMODE=1"]
- checker_stings = ["R AT1 L OK"]
- else:
- cmd = ["SSC SSC1 op -S -o 1"]
- checker_stings = ["R SSC1 C +MODE:OK"]
- if self.target_type[1] == "AT":
- cmd.append("ATS AT2 AT+CWMODE=2")
- checker_stings.append("R AT2 L OK")
- else:
- cmd.append("SSC SSC2 op -S -o 2")
- checker_stings.append("R SSC2 C +MODE:OK")
-
- if self.load_and_exe_one_step(checker_stings, cmd,
- fail_string, check_time=150) is False:
- NativeLog.add_trace_critical(fail_string)
- return
-
- for i in xrange(test_count):
- _method = random.choice(self.test_method)
- _ht = random.choice(self.ht)
- _ap_prop = self._generate_random_ap_prop(_ht)
- _smart_type = random.choice(self.smart_type)
- _ht_ap = self.ht_ap[_ht]
- is_hidden = 0 if _method == "ssid_broadcast" else 1
- # get ip and
-
- # step 1 : restore init condition
- fail_string = "Fail to restore init condition"
- if self.target_type[0] == "AT":
- cmd = ["ATS AT1 AT+CWSTOPSMART", "WIFI <pc_wifi_nic> CONN %s %s <pc_ip_sc>" % (_ht_ap[0], _ht_ap[1])]
- checker_stings = ["P AT1 L OK", "P PC_COM L OK"]
- else:
- cmd = ["SSC SSC1 smart -E", "WIFI <pc_wifi_nic> CONN %s %s <pc_ip_sc>" % (_ht_ap[0], _ht_ap[1])]
- checker_stings = ["P SSC1 C +SC:OK", "P PC_COM L OK"]
-
- if self.load_and_exe_one_step(checker_stings, cmd,
- fail_string, check_time=200) is False:
- NativeLog.add_trace_critical(fail_string)
- continue
- NativeLog.add_prompt_trace("Step1 Done")
-
- # step 2 : test method is ssid_broadcast, then set AP on target 2
- if _method == "ssid_broadcast":
- fail_string = "Fail to set AP"
- if self.target_type[1] == "AT":
- cmd = ["ATS AT2 AT+CWSAP=\"%s\",\"%s\",%d,%d" % (_ap_prop["ssid"], _ap_prop["pwd"],
- _ap_prop["channel"], _ap_prop["enc"])]
- checker_stings = ["R AT2 L OK"]
- else:
- cmd = ["SSC SSC2 ap -S -s %s -p %s -n %d -t %d" % (_ap_prop["ssid"], _ap_prop["pwd"],
- _ap_prop["channel"], _ap_prop["enc"])]
- checker_stings = ["R SSC2 C +SAP:OK"]
-
- if self.load_and_exe_one_step(checker_stings, cmd,
- fail_string, check_time=50) is False:
- NativeLog.add_trace_critical(fail_string)
- continue
- NativeLog.add_prompt_trace("Step2 Done")
-
- # step 3 : start SMART
- fail_string = "Fail to start smart config"
- if self.target_type[0] == "AT":
- cmd = ["ATS AT1 AT+CWSTARTSMART"]
- checker_stings = ["R AT1 L OK"]
- else:
- cmd = ["SSC SSC1 smart -S -a 0"]
- checker_stings = ["R SSC1 C +SC:OK"]
-
- if self.load_and_exe_one_step(checker_stings, cmd,
- fail_string, check_time=50) is False:
- NativeLog.add_trace_critical(fail_string)
- continue
- # sleep for delay_time seconds to wait scan done or simulate delay config situation
- time.sleep(delay_time)
- NativeLog.add_prompt_trace("Step3 Done")
-
- # step 4 : do smart config
- fail_string = "Fail in smart config"
- cmd = ["SMART %s <pc_ip_sc> %s %s %s %d"
- % (_smart_type, _ap_prop["ssid"], _ap_prop["pwd"], self.bssid, is_hidden)]
- if self.target_type[0] == "AT":
- checker_stings = ["P AT1 C Smart%20get%20wifi%20info",
- "P LOG1 C %s C %s" % (_ap_prop["ssid"], _ap_prop["pwd"])]
- else:
- checker_stings = ["P SSC1 C %s C %s" % (_ap_prop["ssid"], _ap_prop["pwd"])]
-
- try:
- time_cost = self.load_and_exe_one_step(checker_stings, cmd,
- fail_string, check_time=400,
- cmd_exception_catcher=self.cmd_exception_catcher)
- except StandardError:
- NativeLog.add_prompt_trace("Exception occurred during executing cmd")
- continue
- pass
- self._logging_performance(time_cost, _ap_prop["ssid"], _ap_prop["pwd"],
- _smart_type, _method, _ht)
- if time_cost is False:
- NativeLog.add_prompt_trace(fail_string)
- continue
-
- # continue to next loop
- NativeLog.add_prompt_trace("[WifiSmartConfig] Test count %d done" % i)
-
- # generate report and cleanup
- self._generate_performance_report()
-
- self.result_cntx.set_result("Succeed")
-
- def result_check(self, port_name, data):
- TCActionBase.CommonTCActionBase.result_check(self, port_name, data)
- self.result_cntx.append_data(port_name, data)
-
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
+++ /dev/null
-__all__ = ["WifiJAP", ]
\ No newline at end of file
+++ /dev/null
-__all__ = ['ATFunc', "ATStress", "IOT", "MeshStress", "StableTest", "TCPIPStress"
- "TCPStress", "UDPStress", "WiFiStress"]