diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7834707fe..42dc78e9e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -115,7 +115,7 @@ test_report: 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 @@ -170,8 +170,8 @@ push_master_to_github: 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: @@ -217,144 +217,131 @@ push_master_to_github: # 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: - <<: *test_template - tags: - - ESP32_IDF - - SSC_T1_1 - - SSC_T1_2 - before_script: - - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_TCPIP_07.yml - -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 - -Function_TCPIP_09: - <<: *test_template - tags: - - ESP32_IDF - - SSC_T1_1 - before_script: - - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/Function_TCPIP_09.yml - -Function_TCPIP_10: +IT_Function_TCPIP_07: <<: *test_template tags: - ESP32_IDF @@ -362,21 +349,53 @@ Function_TCPIP_10: - 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_07.yml + - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test -Function_TCPIP_11: +IT_Function_TCPIP_08: <<: *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_08.yml + - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test -Function_TCPIP_12: +IT_Function_TCPIP_09: + <<: *test_template + tags: + - ESP32_IDF + - SSC_T1_1 + before_script: + - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_09.yml + - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test + +IT_Function_TCPIP_10: + <<: *test_template + tags: + - ESP32_IDF + - SSC_T1_1 + - SSC_T1_2 + - SSC_T2_1 + before_script: + - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_10.yml + - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test + +IT_Function_TCPIP_11: + <<: *test_template + tags: + - ESP32_IDF + - SSC_T1_1 + before_script: + - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_11.yml + - TEST_CASE_FILE_PATH=$TEST_CASE_FILE_PATH/integration_test + +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 diff --git a/components/idf_test/README.md b/components/idf_test/README.md new file mode 100644 index 000000000..f23153bca --- /dev/null +++ b/components/idf_test/README.md @@ -0,0 +1,61 @@ + +# 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 diff --git a/components/test/CIConfigs/Function_SYS_01.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_SYS_01.yml similarity index 100% rename from components/test/CIConfigs/Function_SYS_01.yml rename to components/idf_test/integration_test/CIConfigs/IT_Function_SYS_01.yml diff --git a/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_01.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_01.yml new file mode 100644 index 000000000..25a3ccda9 --- /dev/null +++ b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_01.yml @@ -0,0 +1,10 @@ +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] diff --git a/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_02.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_02.yml new file mode 100644 index 000000000..61adea982 --- /dev/null +++ b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_02.yml @@ -0,0 +1,10 @@ +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] diff --git a/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_03.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_03.yml new file mode 100644 index 000000000..9d64630e9 --- /dev/null +++ b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_03.yml @@ -0,0 +1,10 @@ +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] diff --git a/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_04.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_04.yml new file mode 100644 index 000000000..6be01f698 --- /dev/null +++ b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_04.yml @@ -0,0 +1,10 @@ +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] diff --git a/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_05.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_05.yml new file mode 100644 index 000000000..627d67c40 --- /dev/null +++ b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_05.yml @@ -0,0 +1,8 @@ +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] diff --git a/components/test/CIConfigs/Function_TCPIP_06.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_06.yml similarity index 100% rename from components/test/CIConfigs/Function_TCPIP_06.yml rename to components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_06.yml diff --git a/components/test/CIConfigs/Function_TCPIP_08.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_07.yml similarity index 53% rename from components/test/CIConfigs/Function_TCPIP_08.yml rename to components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_07.yml index 4ada8f3ee..9b3d943fe 100644 --- a/components/test/CIConfigs/Function_TCPIP_08.yml +++ b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_07.yml @@ -2,9 +2,9 @@ Config: {execute count: 1, execute order: in order} 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] diff --git a/components/test/CIConfigs/Function_TCPIP_09.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_08.yml similarity index 51% rename from components/test/CIConfigs/Function_TCPIP_09.yml rename to components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_08.yml index a4c1a5163..a2f8f0df0 100644 --- a/components/test/CIConfigs/Function_TCPIP_09.yml +++ b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_08.yml @@ -2,9 +2,9 @@ Config: {execute count: 1, execute order: in order} 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] diff --git a/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_09.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_09.yml new file mode 100644 index 000000000..146b98cf7 --- /dev/null +++ b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_09.yml @@ -0,0 +1,10 @@ +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] diff --git a/components/test/CIConfigs/Function_TCPIP_10.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_10.yml similarity index 66% rename from components/test/CIConfigs/Function_TCPIP_10.yml rename to components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_10.yml index 201f95eea..44b7bd189 100644 --- a/components/test/CIConfigs/Function_TCPIP_10.yml +++ b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_10.yml @@ -2,9 +2,9 @@ Config: {execute count: 1, execute order: in order} 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] diff --git a/components/test/CIConfigs/Function_TCPIP_11.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_11.yml similarity index 67% rename from components/test/CIConfigs/Function_TCPIP_11.yml rename to components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_11.yml index 1d083887c..86690db67 100644 --- a/components/test/CIConfigs/Function_TCPIP_11.yml +++ b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_11.yml @@ -2,9 +2,9 @@ Config: {execute count: 1, execute order: in order} 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] diff --git a/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_12.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_12.yml new file mode 100644 index 000000000..4e0495e44 --- /dev/null +++ b/components/idf_test/integration_test/CIConfigs/IT_Function_TCPIP_12.yml @@ -0,0 +1,6 @@ +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] diff --git a/components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_01.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_01.yml new file mode 100644 index 000000000..c22bc59bd --- /dev/null +++ b/components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_01.yml @@ -0,0 +1,10 @@ +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] diff --git a/components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_02.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_02.yml new file mode 100644 index 000000000..049054dba --- /dev/null +++ b/components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_02.yml @@ -0,0 +1,7 @@ +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] diff --git a/components/test/CIConfigs/Function_WIFI_03.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_03.yml similarity index 100% rename from components/test/CIConfigs/Function_WIFI_03.yml rename to components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_03.yml diff --git a/components/test/CIConfigs/Function_WIFI_04.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_04.yml similarity index 100% rename from components/test/CIConfigs/Function_WIFI_04.yml rename to components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_04.yml diff --git a/components/test/CIConfigs/Function_WIFI_05.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_05.yml similarity index 100% rename from components/test/CIConfigs/Function_WIFI_05.yml rename to components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_05.yml diff --git a/components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_06.yml b/components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_06.yml new file mode 100644 index 000000000..9d639f912 --- /dev/null +++ b/components/idf_test/integration_test/CIConfigs/IT_Function_WIFI_06.yml @@ -0,0 +1,7 @@ +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] diff --git a/components/test/InitialConditionAll.yml b/components/idf_test/integration_test/InitialConditionAll.yml similarity index 96% rename from components/test/InitialConditionAll.yml rename to components/idf_test/integration_test/InitialConditionAll.yml index 797ccad55..ba06af9f8 100644 --- a/components/test/InitialConditionAll.yml +++ b/components/idf_test/integration_test/InitialConditionAll.yml @@ -1,135 +1,195 @@ initial condition: - check cmd set: - '' - - - ASSERT - - [dummy] - - - SSC SSC[1-] mesh -Q -t 4 - - ['R SSC[1-] T '] - - - MESHTREE - - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] + - - SSC SSC1 op -Q + - ['R SSC1 C +CURMODE:2'] + - - SSC SSC1 ap -Q + - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(,)'] + - - SSC SSC1 dhcp -Q -o 2 + - ['R SSC1 C +DHCP:AP,STARTED'] + - - SSC SSC1 mac -Q -o 2 + - [R SSC1 P ] force restore cmd set: - '' - - - SSC SSC[1-] reboot - - ['P SSC[1-] C !!!ready!!!'] - - - SSC SSC[1-] mesh -I -g -a 4 -k -i - -p -h 5 - - ['P SSC[1-] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK'] - - - SSC SSC1 mesh -A -s -k - - ['P SSC1 C +MESHINIT:AP,OK'] - - - SSC SSC1 mesh -E -o 1 -t 1 - - ['P SSC1 C +MESH:ENABLED'] - - - SSC SSC[2-] mesh -E -o 1 -t 2 - - [''] - - - DELAY 60 - - ['P SSC[2-] C +MESH:ENABLED'] - - - SSC SSC[1-] mesh -C - - ['P SSC[1-] C +MESH:CONNECTED'] - - - SSC SSC[1-] mesh -Q -t 4 - - ['R SSC[1-] T '] - - - MESHTREE - - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] - initial condition detail: root as LOCAL, rest node as ONLINE, mesh network established + - - 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + initial condition detail: AP mode, DHCP on, will autogen a TC with initial condition + APSTA1 restore cmd set: - '' - - - SSC SSC[1-] mesh -E -o 0 - - ['P SSC[1-] C +MESH:DISABLED'] - - - SSC SSC[1-] mesh -I -g -a 4 -k -i - -p -h 5 - - ['P SSC[1-] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK'] - - - SSC SSC1 mesh -A -s -k - - ['P SSC1 C +MESHINIT:AP,OK'] - - - SSC SSC1 mesh -E -o 1 -t 1 - - ['P SSC1 C +MESH:ENABLED'] - - - SSC SSC[2-] mesh -E -o 1 -t 2 - - [''] - - - DELAY 60 - - ['P SSC[2-] C +MESH:ENABLED'] - - - SSC SSC[1-] mesh -C - - ['P SSC[1-] C +MESH:CONNECTED'] - - - SSC SSC[1-] mesh -Q -t 4 - - ['R SSC[1-] T '] - - - MESHTREE - - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] + - - 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] restore post cmd set: - '' + - - SSC SSC1 soc -T + - [R SSC1 C +CLOSEALL] - - SSC SSC1 ram - - ['R SSC1 A :(\d+)'] + - ['R SSC1 C +FREEHEAP:'] script path: InitCondBase.py - start: 24.0 - tag: ENABLED_2 + start: 31.0 + tag: APM1 test script: InitCondBase - check cmd set: - '' - - - ASSERT - - [dummy] - - - SSC SSC[1-] mesh -Q -t 4 - - ['R SSC[1-] T '] - - - MESHTREE - - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] + - - SSC SSC1 op -Q + - ['R SSC1 C +CURMODE:2'] + - - SSC SSC1 ap -Q + - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,\d+,\d+,4,"%%(,)'] + - - SSC SSC1 ap -L + - ['R SSC1 RE "\+LSTA:.+,%%s"%%()'] + - - SSC SSC1 dhcp -Q -o 2 + - ['R SSC1 C +DHCP:AP,STARTED'] + - - SSC SSC1 mac -Q -o 2 + - [R SSC1 P ] force restore cmd set: - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC[1-] mesh -E -o 0 - - ['P SSC[1-] C +MESH:DISABLED'] - - - SSC SSC[1-] mesh -I -g -a 4 -k -i - -p -h 5 - - ['P SSC[1-] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK'] - - - SSC SSC[1-] mesh -A -s -k - - ['P SSC[1-] 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-] mesh -E -o 1 -t 2 - - ['P SSC[2-] C +MESH:ENABLED'] - - - DELAY 60 - - [''] - - - SSC SSC[1-] mesh -C - - ['P SSC[1-] C +MESH:CONNECTED'] - - - SSC SSC[1-] mesh -Q -t 4 - - ['R SSC[1-] T '] - - - MESHTREE - - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] - - - SSC SSC[1-] mesh -O -t 1 -o 1 - - ['P SSC[1-] C +MESH:OK'] - initial condition detail: all mesh node enabled as ONLINE, mesh network established + - - 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 dhcp -S -o 2 + - [R SSC1 C +DHCP] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN + + - ['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 SSC[1-] reboot - - ['P SSC[1-] C !!!ready!!!'] - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC[1-] mesh -E -o 0 - - ['P SSC[1-] C +MESH:DISABLED'] - - - SSC SSC[1-] mesh -I -g -a 4 -k -i - -p -h 5 - - ['P SSC[1-] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK'] - - - SSC SSC[1-] mesh -A -s -k - - ['P SSC[1-] 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-] mesh -E -o 1 -t 2 - - ['P SSC[2-] C +MESH:ENABLED'] - - - DELAY 60 - - [''] - - - SSC SSC[1-] mesh -C - - ['P SSC[1-] C +MESH:CONNECTED'] - - - SSC SSC[1-] mesh -Q -t 4 - - ['R SSC[1-] T '] - - - MESHTREE - - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] - - - SSC SSC[1-] mesh -O -t 1 -o 1 - - ['P SSC[1-] C +MESH:OK'] + - - SSC SSC1 op -S -o 2 + - ['R SSC1 C +MODE:OK'] + - - SSC SSC1 mac -S -o 2 -m + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 dhcp -S -o 2 + - [R SSC1 C +DHCP] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN + + - ['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 :(\d+)'] + - ['R SSC1 C +FREEHEAP:'] script path: InitCondBase.py - start: 17.0 - tag: ENABLED_1 + 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,"%%(,)'] + - - SSC SSC1 dhcp -Q -o 2 + - ['R SSC1 C +DHCP:AP,STARTED'] + - - SSC SSC1 mac -Q -o 2 + - [R SSC1 P ] + 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 ap -S -s -p -t + - ['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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 ap -S -s -p -t + - ['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,"%%(,)'] + - - SSC SSC1 ap -L + - ['R SSC1 RE "\+LSTA:.+,%%s"%%()'] + - - SSC SSC1 dhcp -Q -o 2 + - ['R SSC1 C +DHCP:AP,STARTED'] + - - SSC SSC1 mac -Q -o 2 + - [R SSC1 P ] + 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 dhcp -S -o 2 + - [R SSC1 C +DHCP] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN + + - ['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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 dhcp -S -o 2 + - [R SSC1 C +DHCP] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN + + - ['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: - '' @@ -137,17 +197,13 @@ initial condition: - ['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 + - - SSC SSC1 op -S -o 2 - ['R SSC1 C +MODE:OK'] - - - SSC SSC1 dhcp -S -o 1 - - [R SSC1 C +DHCP] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] force restore cmd set: - '' - - SSC SSC1 upgrade -R -r 1 -s - [R SSC1 NC ERROR C !!!ready!!!] - - - SSC SSC1 op -S -o 3 + - - SSC SSC1 op -S -o 1 - ['R SSC1 C +MODE:OK'] - - SSC SSC1 dhcp -S -o 1 - [R SSC1 C +DHCP] @@ -163,24 +219,17 @@ initial condition: - ['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 -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] - initial condition detail: APSTA mode, connected to AP, running BIN0 (located on - flash id 0) + - - 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 3 + - - SSC SSC1 op -S -o 2 - ['R SSC1 C +MODE:OK'] - - - SSC SSC1 dhcp -S -o 1 - - [R SSC1 C +DHCP] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] restore post cmd set: - '' - - SSC SSC1 upgrade -D @@ -188,8 +237,51 @@ initial condition: - - SSC SSC1 ram - ['R SSC1 A :(\d+)'] script path: InitCondBase.py - start: 24.0 - tag: STAAPBIN0 + 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,"%%(,)'] + - - SSC SSC1 dhcp -Q -o 2 + - ['R SSC1 C +DHCP:AP,STARTED'] + - - SSC SSC1 mac -Q -o 2 + - [R SSC1 P ] + 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 dhcp -S -o 2 + - [R SSC1 C +DHCP] + - - SSC SSC1 ap -S -s -p -t + - ['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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 dhcp -S -o 2 + - [R SSC1 C +DHCP] + - - SSC SSC1 ap -S -s -p -t + - ['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: - '' @@ -209,204 +301,46 @@ initial condition: - [R SSC1 C !!!ready!!!] - - SSC SSC1 op -S -o 3 - ['R SSC1 C +MODE:OK'] - - - SSC SSC1 ap -S -s -p -t 3 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC1 dhcp -S -o 2 - - [R SSC1 C +DHCP] - - SSC SSC1 mac -S -o 2 -m - ['R SSC1 C +MAC:AP,OK'] - - - WIFI CONN + - - SSC SSC1 dhcp -S -o 2 + - [R SSC1 C +DHCP] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN + - ['R PC_COM NC ERROR C +WIFICONN:OK'] - initial condition detail: testing ap on sta + ap mode, PC join AP (autogen) + 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 ap -S -s -p -t 3 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC1 dhcp -S -o 2 - - [R SSC1 C +DHCP] - - SSC SSC1 mac -S -o 2 -m - ['R SSC1 C +MAC:AP,OK'] - - - WIFI CONN + - - SSC SSC1 dhcp -S -o 2 + - [R SSC1 C +DHCP] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN + - ['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 :(\d+)'] + - ['R SSC1 C +FREEHEAP:'] script path: InitCondBase.py start: 66.0 tag: APSTA2 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,"%%(,)'] - - - SSC SSC1 dhcp -Q -o 2 - - ['R SSC1 C +DHCP:AP,STARTED'] - - - SSC SSC1 mac -Q -o 2 - - [R SSC1 P ] - force restore cmd set: - - '' - - - SSC SSC1 reboot - - [R SSC1 C !!!ready!!!] - - - SSC SSC1 op -S -o 3 - - ['R SSC1 C +MODE:OK'] - - - SSC SSC1 ap -S -s -p -t 3 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC1 dhcp -S -o 2 - - [R SSC1 C +DHCP] - - - SSC SSC1 mac -S -o 2 -m - - ['R SSC1 C +MAC:AP,OK'] - initial condition detail: testing ap on sta + ap mode (autogen) - restore cmd set: - - '' - - - SSC SSC1 op -S -o 3 - - ['R SSC1 C +MODE:OK'] - - - SSC SSC1 ap -S -s -p -t 3 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC1 dhcp -S -o 2 - - [R SSC1 C +DHCP] - - - SSC SSC1 mac -S -o 2 -m - - ['R SSC1 C +MAC:AP,OK'] - restore post cmd set: - - '' - - - SSC SSC1 soc -T - - [R SSC1 C +CLOSEALL] - - - SSC SSC1 ram - - ['R SSC1 A :(\d+)'] - 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 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 ] - 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 - - ['R SSC1 C +MAC:STA,OK'] - initial condition detail: testing sta on sta + ap mode, quit AP (autogen) - 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 - - ['R SSC1 C +MAC:STA,OK'] - restore post cmd set: - - '' - - - SSC SSC1 soc -T - - [R SSC1 C +CLOSEALL] - - - SSC SSC1 ram - - ['R SSC1 A :(\d+)'] - script path: InitCondBase.py - start: 45.0 - tag: STAAP1 - 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 :(\d+)'] - script path: InitCondBase.py - start: 108.0 - tag: ATNone2 - 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"%%()'] - - - SSC SSC1 dhcp -Q -o 1 - - ['R SSC1 C +DHCP:STA,STARTED'] - - - SSC SSC1 mac -Q -o 1 - - [R SSC1 P ] - 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 - - ['R SSC1 C +MAC:STA,OK'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] - initial condition detail: testing sta on sta + ap mode, join AP, DHCP on (autogen) - 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 - - ['R SSC1 C +MAC:STA,OK'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] - restore post cmd set: - - '' - - - SSC SSC1 soc -T - - [R SSC1 C +CLOSEALL] - - - SSC SSC1 ram - - ['R SSC1 A :(\d+)'] - script path: InitCondBase.py - start: 52.0 - tag: STAAP2 - 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 ] - - - 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 + - - ATS AT1 AT+CWLIF + - [R AT1 P ] + - - ATS AT1 AT+CWDHCP_DEF=2,1 - [R AT1 R *] force restore cmd set: - '' @@ -414,23 +348,18 @@ initial condition: - [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 + - - DELAY 5 + - [''] + - - ATC AT1 CWSAP_DEF - [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 - - [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 CONN + + - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - ATS AT1 AT+CWLIF + - [R AT1 P ] + initial condition detail: StationSoftAP mode restore cmd set: - '' - - ATSO AT1 +++ @@ -441,20 +370,10 @@ initial condition: - [R AT1 R *] - - ATS AT1 AT+CWMODE_DEF=3 - [R AT1 L OK] + - - ATS AT1 AT+CWLIF + - [R AT1 P ] - - ATS AT1 AT+CWDHCP_DEF=2,1 - [R AT1 R *] - - - ATC AT1 CWJAP_DEF - - [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 - - [R AT1 R *] restore post cmd set: - '' - - ATS AT1 AT+CWSTOPSMART @@ -464,50 +383,8 @@ initial condition: - - AT+SYSRAM - ['R AT1 A :(\d+)'] script path: InitCondBase.py - start: 94.0 - tag: ATAPSTA3 - 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 :(\d+)'] - script path: InitCondBase.py - start: 80.0 - tag: ATT2_2 + start: 24.0 + tag: ATAP1 test script: InitCondBase - check cmd set: - '' @@ -586,82 +463,6 @@ initial condition: 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 ] - 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 - - ['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 - - ['R SSC1 C +MAC:STA,OK'] - restore post cmd set: - - '' - - - SSC SSC1 soc -T - - [R SSC1 C +CLOSEALL] - - - SSC SSC1 ram - - ['R SSC1 A :(\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 :(\d+)'] - script path: InitCondBase.py - start: 3.0 - tag: ATAP5 - test script: InitCondBase - check cmd set: - '' - - ATS AT1 AT+CWMODE_CUR? @@ -739,6 +540,38 @@ initial condition: 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 :(\d+)'] + script path: InitCondBase.py + start: 3.0 + tag: ATAP5 + test script: InitCondBase - check cmd set: - '' - - ATS AT1 AT @@ -773,138 +606,190 @@ initial condition: 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+CWMODE_CUR? + - ['R AT1 L +CWMODE_CUR:2'] + - - ATS AT1 AT+CWDHCP_DEF=0,1 + - [R AT1 R *] force restore cmd set: - '' - - - SSC SSC1 upgrade -R -r 1 -s - - [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 -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] - - - SOC SOC1 ULISTEN - - [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 -p -u - - ['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+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 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 + - [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 upgrade -D - - ['R SSC1 C +UPGRADE:OK'] - - - SSC SSC1 ram - - ['R SSC1 A :(\d+)'] + - - ATS AT1 AT+CWSTOPSMART + - [R AT1 R *] + - - ATS AT1 AT+SAVETRANSLINK=0 + - [R AT1 R *] + - - AT+SYSRAM + - ['R AT1 A :(\d+)'] script path: InitCondBase.py - start: 31.0 - tag: APOBIN0 + start: 59.0 + tag: ATAPO1 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 ] + - - ATS AT1 AT+CWMODE_CUR? + - ['R AT1 C +CWMODE_CUR:2 L OK'] + - - ATS AT1 AT+CWLIF + - [R AT1 P ] + - - ATS AT1 AT+CIPMUX? + - ['R AT1 L +CIPMUX:1'] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [R AT1 R *] + - - 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 - - ['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] + - - ATC AT1 CWSAP_DEF + - [R AT1 L OK] + - - WIFI CONN + + - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - ATS AT1 AT+CWLIF + - [R AT1 P ] + - - 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 + - [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: - '' - - - 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 - - ['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+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 + - [R AT1 R *] + - - ATS AT1 AT+CWLIF + - [R AT1 P ] + - - 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 :(\d+)'] + - - ATS AT1 AT+CWSTOPSMART + - [R AT1 R *] + - - ATS AT1 AT+SAVETRANSLINK=0 + - [R AT1 R *] + - - AT+SYSRAM + - ['R AT1 A :(\d+)'] script path: InitCondBase.py - start: 17.0 - tag: STAM1 + start: 66.0 + tag: ATAPO3 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"%%()'] - - - SSC SSC1 dhcp -Q -o 1 - - ['R SSC1 C +DHCP:STA,STARTED'] - - - SSC SSC1 mac -Q -o 1 - - [R SSC1 P ] + - - ATS AT1 AT+CWMODE_CUR? + - ['R AT1 C +CWMODE_CUR:2 L OK'] + - - ATS AT1 AT+CWLIF + - [R AT1 P ] + - - 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: - '' - - - 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 - - ['R SSC1 C +MAC:STA,OK'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] - initial condition detail: sta mode, join AP, DHCP on + - - ATS AT1 AT+RST + - [R AT1 C ready] + - - ATS AT1 AT+CWMODE_DEF=2 + - [R AT1 L OK] + - - ATC AT1 CWSAP_DEF + - [R AT1 L OK] + - - ATS AT1 AT+CWDHCP_DEF=0,1 + - [R AT1 R *] + - - WIFI CONN + + - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - ATS AT1 AT+CWLIF + - [R AT1 P ] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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: - '' - - - 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 - - ['R SSC1 C +MAC:STA,OK'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + - - 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 + - [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 ] + - - 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 :(\d+)'] + - - ATS AT1 AT+CWSTOPSMART + - [R AT1 R *] + - - ATS AT1 AT+SAVETRANSLINK=0 + - [R AT1 R *] + - - AT+SYSRAM + - ['R AT1 A :(\d+)'] script path: InitCondBase.py - start: 24.0 - tag: STAM2 + start: 73.0 + tag: ATAPO4 test script: InitCondBase - check cmd set: - '' @@ -918,7 +803,8 @@ initial condition: - [R AT1 C ready] - - ATS AT1 AT+RST - [R AT1 L OK] - initial condition detail: none + initial condition detail: SoftAP mode, both PC join Target AP, single link, use + dhcp restore cmd set: - '' - - ATSO AT1 +++ @@ -935,7 +821,193 @@ initial condition: - ['R AT1 A :(\d+)'] script path: InitCondBase.py start: 3.0 - tag: ATNone + 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 :(\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 :(\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 :(\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 ] + - - 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 + - [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 + - [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 + - [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 + - [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 + - [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 :(\d+)'] + script path: InitCondBase.py + start: 94.0 + tag: ATAPSTA3 test script: InitCondBase - check cmd set: - '' @@ -1009,6 +1081,278 @@ initial condition: 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 ] + - - ATS AT1 AT+CIPMUX? + - ['R AT1 L +CIPMUX:1'] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [R AT1 R *] + - - ATC AT1 CIPSTA_DEF + - [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 + - [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 + - [R AT1 R *] + - - ATC AT1 CIPSTA_DEF + - [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 + - [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 + - [R AT1 R *] + - - ATC AT1 CIPSTA_DEF + - [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 :(\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 ] + - - 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 + - [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 + - [R AT1 L OK] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [R AT1 R *] + - - ATS AT1 AT+CIPMUX=0 + - [R AT1 L OK] + - - ATS AT1 AT+CIPCLOSE + - [R AT1 R *] + - - ATC AT1 CIPSTA_DEF + - [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 + - [R AT1 L OK] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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 + - [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 :(\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 :(\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 :(\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 :(\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 :(\d+)'] + script path: InitCondBase.py + start: 10.0 + tag: ATOSTA1 + test script: InitCondBase - check cmd set: - '' - - ATS AT1 AT+CWMODE_CUR? @@ -1078,6 +1422,51 @@ initial condition: 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 :(\d+)'] + script path: InitCondBase.py + start: 52.0 + tag: ATOT2_1 + test script: InitCondBase - check cmd set: - '' - - ATS AT1 AT+CWMODE_CUR? @@ -1092,7 +1481,7 @@ initial condition: - [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 + initial condition detail: station mode, use dhcp restore cmd set: - '' - - ATSO AT1 +++ @@ -1115,34 +1504,23 @@ initial condition: - ['R AT1 A :(\d+)'] script path: InitCondBase.py start: 10.0 - tag: ATOSTA1 + tag: ATSTA1 test script: InitCondBase - check cmd set: - '' - - ATS AT1 AT+CWMODE_CUR? - - ['R AT1 L +CWMODE_CUR:3'] - - - ATS AT1 AT+CWLIF - - [R AT1 P ] - - - ATS AT1 AT+CWDHCP_DEF=2,1 - - [R AT1 R *] + - ['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=3 + - - ATS AT1 AT+CWMODE_DEF=1 - [R AT1 L OK] - - - DELAY 5 - - [''] - - - ATC AT1 CWSAP_DEF + - - ATS AT1 AT+CWDHCP_DEF=1,1 - [R AT1 L OK] - - - ATS AT1 AT+CWDHCP_DEF=2,1 - - [R AT1 R *] - - - WIFI CONN - - - ['R PC_COM NC ERROR C +WIFICONN:OK'] - - - ATS AT1 AT+CWLIF - - [R AT1 P ] - initial condition detail: StationSoftAP mode + initial condition detail: station mode, DHCP client on, use dhcp restore cmd set: - '' - - ATSO AT1 +++ @@ -1151,12 +1529,10 @@ initial condition: - [R AT1 R *] - - ATS AT1 AT+SAVETRANSLINK=0 - [R AT1 R *] - - - ATS AT1 AT+CWMODE_DEF=3 + - - ATS AT1 AT+CWMODE_DEF=1 + - [R AT1 L OK] + - - ATS AT1 AT+CWDHCP_DEF=1,1 - [R AT1 L OK] - - - ATS AT1 AT+CWLIF - - [R AT1 P ] - - - ATS AT1 AT+CWDHCP_DEF=2,1 - - [R AT1 R *] restore post cmd set: - '' - - ATS AT1 AT+CWSTOPSMART @@ -1166,45 +1542,42 @@ initial condition: - - AT+SYSRAM - ['R AT1 A :(\d+)'] script path: InitCondBase.py - start: 24.0 - tag: ATAP1 - 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 :(\d+)'] - script path: InitCondBase.py start: 10.0 - tag: None + tag: ATSTA2 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:1'] + - - ATS AT1 AT+CWJAP_CUR? + - ['R AT1 C +CWJAP_CUR:', R AT1 P ] + - - 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 + - [R AT1 R *] force restore cmd set: - '' - - ATS AT1 AT+RST - [R AT1 C ready] - - - ATS AT1 AT + - - ATS AT1 AT+CWMODE_DEF=1 - [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=1,1 + - [R AT1 R *] + - - ATC AT1 CWJAP_DEF + - [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 + - [R AT1 R *] + initial condition detail: station mode, connected to AP, multi link, use dhcp restore cmd set: - '' - - ATSO AT1 +++ @@ -1213,39 +1586,21 @@ initial condition: - [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 :(\d+)'] - script path: InitCondBase.py - start: 143.0 - tag: ATFTU - test script: InitCondBase -- check cmd set: - - '' - - - ATS AT1 AT + - - ATS AT1 AT+CWMODE_DEF=1 - [R AT1 L OK] - - - ATS AT1 AT + - - 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+RST + - - ATC AT1 CWJAP_DEF - [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 + - - 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 - [R AT1 R *] restore post cmd set: - '' @@ -1256,83 +1611,217 @@ initial condition: - - AT+SYSRAM - ['R AT1 A :(\d+)'] script path: InitCondBase.py - start: 3.0 - tag: ATAPO5 + start: 38.0 + tag: ATSTA3 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"%%()'] - - - SSC SSC1 dhcp -Q -o 1 - - ['R SSC1 C +DHCP:STA,STARTED'] - - - SSC SSC1 mac -Q -o 1 - - [R SSC1 P ] + - - ATS AT1 AT+CWMODE_CUR? + - ['R AT1 L +CWMODE_CUR:1'] + - - ATS AT1 AT+CWJAP_CUR? + - ['R AT1 C +CWJAP_CUR:', R AT1 P ] + - - 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 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 - - ['R SSC1 C +MAC:STA,OK'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] - initial condition detail: sta mode, join AP, DHCP on, will NOT autogen a TC with - initial condition STAAP2 + - - 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 + - [R AT1 L OK] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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 1 - - ['R SSC1 C +MODE:OK'] - - - SSC SSC1 dhcp -S -o 1 - - [R SSC1 C +DHCP] - - - SSC SSC1 mac -S -o 1 -m - - ['R SSC1 C +MAC:STA,OK'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + - - 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 + - [R AT1 L OK] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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 :(\d+)'] + - - ATS AT1 AT+CWSTOPSMART + - [R AT1 R *] + - - ATS AT1 AT+SAVETRANSLINK=0 + - [R AT1 R *] + - - AT+SYSRAM + - ['R AT1 A :(\d+)'] script path: InitCondBase.py - start: 24.0 - tag: STAO2 + start: 17.0 + tag: ATSTA4 test script: InitCondBase - check cmd set: - '' - - - ASSERT - - [dummy] + - - ATS AT1 AT+CWMODE_CUR? + - ['R AT1 L +CWMODE_CUR:1'] + - - ATS AT1 AT+CWJAP_CUR? + - ['R AT1 C +CWJAP_CUR:', R AT1 P ] + - - ATS AT1 AT+CIPMUX? + - ['R AT1 L +CIPMUX:1'] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [R AT1 R *] + - - ATC AT1 CIPSTA_DEF + - [R AT1 L OK] force restore cmd set: - '' - - - SSC SSC[1-] reboot - - ['P SSC[1-] C !!!ready!!!'] - - - SSC SSC[1-] mesh -E -o 0 - - ['P SSC[1-] C +MESH:DISABLED'] - - - SSC SSC[1-] op -S -o 1 - - ['P SSC[1-] C +MODE:OK'] - - - SSC SSC[1-] sta -D - - ['P SSC[1-] C +QAP:OK'] - initial condition detail: all mesh node disabled + - - ATS AT1 AT+RST + - [R AT1 C ready] + - - ATS AT1 AT+CWMODE_DEF=1 + - [R AT1 L OK] + - - ATC AT1 CWJAP_DEF + - [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 + - [R AT1 R *] + - - ATC AT1 CIPSTA_DEF + - [R AT1 L OK] + initial condition detail: station mode, connected to AP, multi link, use static + ip restore cmd set: - '' - - - SSC SSC[1-] mesh -E -o 0 - - ['P SSC[1-] C +MESH:DISABLED'] - - - SSC SSC[1-] op -S -o 1 - - ['P SSC[1-] C +MODE:OK'] - - - SSC SSC[1-] sta -D - - ['P SSC[1-] C +QAP: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] + - - ATC AT1 CWJAP_DEF + - [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 + - [R AT1 R *] + - - ATC AT1 CIPSTA_DEF + - [R AT1 L OK] restore post cmd set: - '' - - - SSC SSC1 ram - - ['R SSC1 A :(\d+)'] + - - ATS AT1 AT+CWSTOPSMART + - [R AT1 R *] + - - ATS AT1 AT+SAVETRANSLINK=0 + - [R AT1 R *] + - - AT+SYSRAM + - ['R AT1 A :(\d+)'] script path: InitCondBase.py - start: 31.0 - tag: DISABLED + 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 ] + - - 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 + - [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 + - [R AT1 L OK] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [R AT1 R *] + - - ATS AT1 AT+CIPMUX=0 + - [R AT1 L OK] + - - ATS AT1 AT+CIPCLOSE + - [R AT1 R *] + - - ATC AT1 CIPSTA_DEF + - [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 + - [R AT1 L OK] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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 + - [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 :(\d+)'] + script path: InitCondBase.py + start: 122.0 + tag: ATSTA6 test script: InitCondBase - check cmd set: - '' @@ -1380,138 +1869,24 @@ initial condition: 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,"%%(,)'] - - - SSC SSC1 ap -L - - ['R SSC1 RE "\+LSTA:.+,%%s"%%()'] - - - SSC SSC1 dhcp -Q -o 2 - - ['R SSC1 C +DHCP:AP,STARTED'] - - - SSC SSC1 mac -Q -o 2 - - [R SSC1 P ] - 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 -p -t 3 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC1 dhcp -S -o 2 - - [R SSC1 C +DHCP] - - - SSC SSC1 mac -S -o 2 -m - - ['R SSC1 C +MAC:AP,OK'] - - - WIFI CONN - - ['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 -p -t 3 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC1 dhcp -S -o 2 - - [R SSC1 C +DHCP] - - - SSC SSC1 mac -S -o 2 -m - - ['R SSC1 C +MAC:AP,OK'] - - - WIFI CONN - - ['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 :(\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,"%%(,)'] - - - SSC SSC1 dhcp -Q -o 2 - - ['R SSC1 C +DHCP:AP,STARTED'] - - - SSC SSC1 mac -Q -o 2 - - [R SSC1 P ] - 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 - - ['R SSC1 C +MAC:AP,OK'] - - - SSC SSC1 ap -S -s -p -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 - - ['R SSC1 C +MAC:AP,OK'] - - - SSC SSC1 ap -S -s -p -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 :(\d+)'] - script path: InitCondBase.py - start: 31.0 - tag: APO1 - 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 ] - - - ATS AT1 AT+CIPMUX? - - ['R AT1 L +CIPMUX:1'] - - - ATS AT1 AT+CIPSERVER=0 - - [R AT1 R *] - - - ATC AT1 CIPCLOSE - - [R AT1 R *] - - - ATS AT1 AT+CWDHCP_DEF=0,1 - - [R AT1 R *] + - ['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] - - - ATC AT1 CWSAP_DEF - - [R AT1 L OK] - - - WIFI CONN - - - ['R PC_COM NC ERROR C +WIFICONN:OK'] - - - ATS AT1 AT+CWLIF - - [R AT1 P ] - - - 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 - - [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 + - - 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 +++ @@ -1522,20 +1897,8 @@ initial condition: - [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 - - [R AT1 R *] - - - ATS AT1 AT+CWLIF - - [R AT1 P ] - - - ATS AT1 AT+CWDHCP_DEF=0,1 - - [R AT1 R *] + - - ATS AT2 AT+CWMODE_DEF=3 + - [R AT2 L OK] restore post cmd set: - '' - - ATS AT1 AT+CWSTOPSMART @@ -1545,8 +1908,171 @@ initial condition: - - AT+SYSRAM - ['R AT1 A :(\d+)'] script path: InitCondBase.py - start: 66.0 - tag: ATAPO3 + start: 80.0 + tag: ATT2_2 + test script: InitCondBase +- check cmd set: + - '' + - - ASSERT + - [dummy] + force restore cmd set: + - '' + - - SSC SSC[1-] reboot + - ['P SSC[1-] C !!!ready!!!'] + - - SSC SSC[1-] mesh -E -o 0 + - ['P SSC[1-] C +MESH:DISABLED'] + - - SSC SSC[1-] op -S -o 1 + - ['P SSC[1-] C +MODE:OK'] + - - SSC SSC[1-] sta -D + - ['P SSC[1-] C +QAP:OK'] + initial condition detail: all mesh node disabled + restore cmd set: + - '' + - - SSC SSC[1-] mesh -E -o 0 + - ['P SSC[1-] C +MESH:DISABLED'] + - - SSC SSC[1-] op -S -o 1 + - ['P SSC[1-] C +MODE:OK'] + - - SSC SSC[1-] sta -D + - ['P SSC[1-] C +QAP:OK'] + restore post cmd set: + - '' + - - SSC SSC1 ram + - ['R SSC1 A :(\d+)'] + script path: InitCondBase.py + start: 31.0 + tag: DISABLED + test script: InitCondBase +- check cmd set: + - '' + - - ASSERT + - [dummy] + - - SSC SSC[1-] mesh -Q -t 4 + - ['R SSC[1-] T '] + - - MESHTREE + - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] + force restore cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC[1-] mesh -E -o 0 + - ['P SSC[1-] C +MESH:DISABLED'] + - - SSC SSC[1-] mesh -I -g -a 4 -k -i + -p -h 5 + - ['P SSC[1-] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK'] + - - SSC SSC[1-] mesh -A -s -k + - ['P SSC[1-] 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-] mesh -E -o 1 -t 2 + - ['P SSC[2-] C +MESH:ENABLED'] + - - DELAY 60 + - [''] + - - SSC SSC[1-] mesh -C + - ['P SSC[1-] C +MESH:CONNECTED'] + - - SSC SSC[1-] mesh -Q -t 4 + - ['R SSC[1-] T '] + - - MESHTREE + - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] + - - SSC SSC[1-] mesh -O -t 1 -o 1 + - ['P SSC[1-] C +MESH:OK'] + initial condition detail: all mesh node enabled as ONLINE, mesh network established + restore cmd set: + - '' + - - SSC SSC[1-] reboot + - ['P SSC[1-] C !!!ready!!!'] + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC[1-] mesh -E -o 0 + - ['P SSC[1-] C +MESH:DISABLED'] + - - SSC SSC[1-] mesh -I -g -a 4 -k -i + -p -h 5 + - ['P SSC[1-] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK'] + - - SSC SSC[1-] mesh -A -s -k + - ['P SSC[1-] 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-] mesh -E -o 1 -t 2 + - ['P SSC[2-] C +MESH:ENABLED'] + - - DELAY 60 + - [''] + - - SSC SSC[1-] mesh -C + - ['P SSC[1-] C +MESH:CONNECTED'] + - - SSC SSC[1-] mesh -Q -t 4 + - ['R SSC[1-] T '] + - - MESHTREE + - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] + - - SSC SSC[1-] mesh -O -t 1 -o 1 + - ['P SSC[1-] C +MESH:OK'] + restore post cmd set: + - '' + - - SSC SSC1 ram + - ['R SSC1 A :(\d+)'] + script path: InitCondBase.py + start: 17.0 + tag: ENABLED_1 + test script: InitCondBase +- check cmd set: + - '' + - - ASSERT + - [dummy] + - - SSC SSC[1-] mesh -Q -t 4 + - ['R SSC[1-] T '] + - - MESHTREE + - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] + force restore cmd set: + - '' + - - SSC SSC[1-] reboot + - ['P SSC[1-] C !!!ready!!!'] + - - SSC SSC[1-] mesh -I -g -a 4 -k -i + -p -h 5 + - ['P SSC[1-] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK'] + - - SSC SSC1 mesh -A -s -k + - ['P SSC1 C +MESHINIT:AP,OK'] + - - SSC SSC1 mesh -E -o 1 -t 1 + - ['P SSC1 C +MESH:ENABLED'] + - - SSC SSC[2-] mesh -E -o 1 -t 2 + - [''] + - - DELAY 60 + - ['P SSC[2-] C +MESH:ENABLED'] + - - SSC SSC[1-] mesh -C + - ['P SSC[1-] C +MESH:CONNECTED'] + - - SSC SSC[1-] mesh -Q -t 4 + - ['R SSC[1-] T '] + - - MESHTREE + - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] + initial condition detail: root as LOCAL, rest node as ONLINE, mesh network established + restore cmd set: + - '' + - - SSC SSC[1-] mesh -E -o 0 + - ['P SSC[1-] C +MESH:DISABLED'] + - - SSC SSC[1-] mesh -I -g -a 4 -k -i + -p -h 5 + - ['P SSC[1-] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK'] + - - SSC SSC1 mesh -A -s -k + - ['P SSC1 C +MESHINIT:AP,OK'] + - - SSC SSC1 mesh -E -o 1 -t 1 + - ['P SSC1 C +MESH:ENABLED'] + - - SSC SSC[2-] mesh -E -o 1 -t 2 + - [''] + - - DELAY 60 + - ['P SSC[2-] C +MESH:ENABLED'] + - - SSC SSC[1-] mesh -C + - ['P SSC[1-] C +MESH:CONNECTED'] + - - SSC SSC[1-] mesh -Q -t 4 + - ['R SSC[1-] T '] + - - MESHTREE + - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] + restore post cmd set: + - '' + - - SSC SSC1 ram + - ['R SSC1 A :(\d+)'] + script path: InitCondBase.py + start: 24.0 + tag: ENABLED_2 test script: InitCondBase - check cmd set: - '' @@ -1641,77 +2167,24 @@ initial condition: 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 ] - - - 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 *] + - - DELAY 0.1 + - [dummy] 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 - - [R AT1 L OK] - - - ATS AT1 AT+CWDHCP_DEF=0,1 - - [R AT1 R *] - - - WIFI CONN - - - ['R PC_COM NC ERROR C +WIFICONN:OK'] - - - ATS AT1 AT+CWLIF - - [R AT1 P ] - - - ATS AT1 AT+CIPSERVER=0 - - [R AT1 R *] - - - ATC AT1 CIPCLOSE - - [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 + - - 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=2 - - [R AT1 L OK] - - - ATS AT1 AT+CIPSERVER=0 - - [R AT1 R *] - - - ATC AT1 CIPCLOSE - - [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 ] - - - ATS AT1 AT+CWDHCP_DEF=0,1 - - [R AT1 R *] + - - 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 :(\d+)'] + - - DELAY 0.1 + - [dummy] script path: InitCondBase.py - start: 73.0 - tag: ATAPO4 + start: 10.0 + tag: None test script: InitCondBase - check cmd set: - '' @@ -1734,83 +2207,6 @@ initial condition: start: 31.0 tag: PAIR1 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 :(\d+)'] - script path: InitCondBase.py - start: 3.0 - tag: ATAPO6 - 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 P '] - - - 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 -o 2 - - ['R SSC[1,2] C +MAC:AP,OK'] - - - SSC SSC[1,2] mac -S -m -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 -o 2 - - ['R SSC[1,2] C +MAC:AP,OK'] - - - SSC SSC[1,2] mac -S -m -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 :(\d+)'] - script path: InitCondBase.py - start: 45.0 - tag: PAIR3 - test script: InitCondBase - check cmd set: - '' - - SSC SSC[1,2] op -Q @@ -1861,6 +2257,435 @@ initial condition: 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 P '] + - - 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 -o 2 + - ['R SSC[1,2] C +MAC:AP,OK'] + - - SSC SSC[1,2] mac -S -m -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 -o 2 + - ['R SSC[1,2] C +MAC:AP,OK'] + - - SSC SSC[1,2] mac -S -m -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 :(\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 ] + 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 + - ['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 + - ['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"%%()'] + - - SSC SSC1 dhcp -Q -o 1 + - ['R SSC1 C +DHCP:STA,STARTED'] + - - SSC SSC1 mac -Q -o 1 + - [R SSC1 P ] + 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 + - ['R SSC1 C +MAC:STA,OK'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + 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 + - ['R SSC1 C +MAC:STA,OK'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + 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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + force restore cmd set: + - '' + - - SSC SSC1 upgrade -R -r 1 -s + - [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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SOC SOC1 ULISTEN + - [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 -p -u + - ['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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + 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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + restore post cmd set: + - '' + - - SSC SSC1 upgrade -D + - ['R SSC1 C +UPGRADE:OK'] + - - SSC SSC1 ram + - ['R SSC1 A :(\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 ] + 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 + - ['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 + - ['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"%%()'] + - - SSC SSC1 dhcp -Q -o 1 + - ['R SSC1 C +DHCP:STA,STARTED'] + - - SSC SSC1 mac -Q -o 1 + - [R SSC1 P ] + 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 + - ['R SSC1 C +MAC:STA,OK'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + 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 + - ['R SSC1 C +MAC:STA,OK'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + 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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + force restore cmd set: + - '' + - - SSC SSC1 upgrade -R -r 1 -s + - [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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SOC SOC1 ULISTEN + - [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 -p -u + - ['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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + 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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + restore post cmd set: + - '' + - - SSC SSC1 upgrade -D + - ['R SSC1 C +UPGRADE:OK'] + - - SSC SSC1 ram + - ['R SSC1 A :(\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 ] + 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 + - ['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 + - ['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"%%()'] + - - SSC SSC1 dhcp -Q -o 1 + - ['R SSC1 C +DHCP:STA,STARTED'] + - - SSC SSC1 mac -Q -o 1 + - [R SSC1 P ] + 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 + - ['R SSC1 C +MAC:STA,OK'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + 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 + - ['R SSC1 C +MAC:STA,OK'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + 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 @@ -1926,93 +2751,11 @@ initial condition: - - SSC SSC1 soc -T - [R SSC1 C +CLOSEALL] - - SSC SSC1 ram - - ['R SSC1 A :(\d+)'] + - ['R SSC1 C +FREEHEAP:'] script path: InitCondBase.py start: 73.0 tag: T2O_1 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 :(\d+)'] - script path: InitCondBase.py - start: 59.0 - tag: ATAPO1 - 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,"%%(,)'] - - - SSC SSC1 dhcp -Q -o 2 - - ['R SSC1 C +DHCP:AP,STARTED'] - - - SSC SSC1 mac -Q -o 2 - - [R SSC1 P ] - 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 - - ['R SSC1 C +MAC:AP,OK'] - - - SSC SSC1 ap -S -s -p -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 - - ['R SSC1 C +MAC:AP,OK'] - - - SSC SSC1 ap -S -s -p -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 :(\d+)'] - script path: InitCondBase.py - start: 31.0 - tag: APM1 - test script: InitCondBase - check cmd set: - '' - - SSC SSC1 op -Q @@ -2053,7 +2796,8 @@ initial condition: - ['R SSC1 C +MAC:AP,OK'] - - SSC SSC2 mac -S -o 1 -m - ['R SSC2 C +MAC:STA,OK'] - initial condition detail: target 1 as SoftAP, target 2 as STA + 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 @@ -2077,304 +2821,11 @@ initial condition: - - SSC SSC1 soc -T - [R SSC1 C +CLOSEALL] - - SSC SSC1 ram - - ['R SSC1 A :(\d+)'] + - ['R SSC1 C +FREEHEAP:'] script path: InitCondBase.py start: 73.0 tag: T2_1 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 :(\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:3'] - - - ATS AT1 AT+CWJAP_CUR? - - ['R AT1 C +CWJAP_CUR:', R AT1 P ] - - - ATS AT1 AT+CIPMUX? - - ['R AT1 L +CIPMUX:1'] - - - ATS AT1 AT+CIPSERVER=0 - - [R AT1 R *] - - - ATC AT1 CIPCLOSE - - [R AT1 R *] - - - ATC AT1 CIPSTA_DEF - - [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 - - [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 - - [R AT1 R *] - - - ATC AT1 CIPSTA_DEF - - [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 - - [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 - - [R AT1 R *] - - - ATC AT1 CIPSTA_DEF - - [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 :(\d+)'] - script path: InitCondBase.py - start: 129.0 - tag: ATAPSTA5 - 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 -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] - force restore cmd set: - - '' - - - SSC SSC1 upgrade -R -r 1 -s - - [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 -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] - - - SOC SOC1 ULISTEN - - [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 -p -u - - ['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 -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] - 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 -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] - restore post cmd set: - - '' - - - SSC SSC1 upgrade -D - - ['R SSC1 C +UPGRADE:OK'] - - - SSC SSC1 ram - - ['R SSC1 A :(\d+)'] - script path: InitCondBase.py - 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+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 :(\d+)'] - script path: InitCondBase.py - start: 10.0 - tag: ATSTA2 - 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 :(\d+)'] - script path: InitCondBase.py - start: 87.0 - tag: T3_PHY1 - 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 :(\d+)'] - script path: InitCondBase.py - start: 87.0 - tag: ATAPSTA2 - test script: InitCondBase - check cmd set: - '' - - SSC SSC1 op -Q @@ -2439,485 +2890,46 @@ initial condition: - - SSC SSC1 soc -T - [R SSC1 C +CLOSEALL] - - SSC SSC1 ram - - ['R SSC1 A :(\d+)'] + - ['R SSC1 C +FREEHEAP:'] script path: InitCondBase.py 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+CWJAP_CUR? - - ['R AT1 C +CWJAP_CUR:', R AT1 P ] - - - 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 - - [R AT1 L OK] + - - 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] - - - ATC AT1 CWJAP_DEF - - [R AT1 L OK] - - - ATS AT1 AT+CIPSERVER=0 - - [R AT1 R *] - - - ATC AT1 CIPCLOSE - - [R AT1 R *] - - - ATS AT1 AT+CIPMUX=0 - - [R AT1 L OK] - - - ATS AT1 AT+CIPCLOSE - - [R AT1 R *] - - - ATC AT1 CIPSTA_DEF - - [R AT1 L OK] - initial condition detail: StationSoftAP mode, connected to AP, single link, use - static ip + - - 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] - - - ATC AT1 CWJAP_DEF - - [R AT1 L OK] - - - ATS AT1 AT+CIPSERVER=0 - - [R AT1 R *] - - - ATC AT1 CIPCLOSE - - [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 - - [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 :(\d+)'] - script path: InitCondBase.py - start: 136.0 - tag: ATAPSTA6 - 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 ] - - - 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 - - [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 - - [R AT1 L OK] - - - ATS AT1 AT+CIPSERVER=0 - - [R AT1 R *] - - - ATC AT1 CIPCLOSE - - [R AT1 R *] - - - ATS AT1 AT+CIPMUX=0 - - [R AT1 L OK] - - - ATS AT1 AT+CIPCLOSE - - [R AT1 R *] - - - ATC AT1 CIPSTA_DEF - - [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 - - [R AT1 L OK] - - - ATS AT1 AT+CIPSERVER=0 - - [R AT1 R *] - - - ATC AT1 CIPCLOSE - - [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 - - [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 :(\d+)'] - script path: InitCondBase.py - start: 122.0 - tag: ATSTA6 - 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 ] - - - ATS AT1 AT+CIPMUX? - - ['R AT1 L +CIPMUX:1'] - - - ATS AT1 AT+CIPSERVER=0 - - [R AT1 R *] - - - ATC AT1 CIPCLOSE - - [R AT1 R *] - - - ATC AT1 CIPSTA_DEF - - [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 - - [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 - - [R AT1 R *] - - - ATC AT1 CIPSTA_DEF - - [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 - - [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 - - [R AT1 R *] - - - ATC AT1 CIPSTA_DEF - - [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 :(\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 ] - - - 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 - - [R AT1 L OK] - - - ATS AT1 AT+CIPSERVER=0 - - [R AT1 R *] - - - ATC AT1 CIPCLOSE - - [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 - - [R AT1 L OK] - - - ATS AT1 AT+CIPSERVER=0 - - [R AT1 R *] - - - ATC AT1 CIPCLOSE - - [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 :(\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 ] - - - 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 - - [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 - - [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 - - [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 - - [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 - - [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 :(\d+)'] - script path: InitCondBase.py - start: 38.0 - tag: ATSTA3 - 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,"%%(,)'] - - - SSC SSC1 ap -L - - ['R SSC1 RE "\+LSTA:.+,%%s"%%()'] - - - SSC SSC1 dhcp -Q -o 2 - - ['R SSC1 C +DHCP:AP,STARTED'] - - - SSC SSC1 mac -Q -o 2 - - [R SSC1 P ] - 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 -p -t 3 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC1 dhcp -S -o 2 - - [R SSC1 C +DHCP] - - - SSC SSC1 mac -S -o 2 -m - - ['R SSC1 C +MAC:AP,OK'] - - - WIFI CONN - - ['R PC_COM NC ERROR C +WIFICONN:OK'] - initial condition detail: AP mode, PC join AP, DHCP on - restore cmd set: - - '' - - - SSC SSC1 op -S -o 2 - - ['R SSC1 C +MODE:OK'] - - - SSC SSC1 ap -S -s -p -t 3 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC1 dhcp -S -o 2 - - [R SSC1 C +DHCP] - - - SSC SSC1 mac -S -o 2 -m - - ['R SSC1 C +MAC:AP,OK'] - - - WIFI CONN - - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - 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 :(\d+)'] script path: InitCondBase.py - start: 38.0 - tag: APM2 - 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 :(\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: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 :(\d+)'] - script path: InitCondBase.py start: 87.0 - tag: ATAPSTA1 + tag: T3_PHY1 test script: InitCondBase diff --git a/components/test/KnownIssues b/components/idf_test/integration_test/KnownIssues similarity index 100% rename from components/test/KnownIssues rename to components/idf_test/integration_test/KnownIssues diff --git a/components/test/TestCaseAll.yml b/components/idf_test/integration_test/TestCaseAll.yml similarity index 98% rename from components/test/TestCaseAll.yml rename to components/idf_test/integration_test/TestCaseAll.yml index 7112c8793..0835c146b 100644 --- a/components/test/TestCaseAll.yml +++ b/components/idf_test/integration_test/TestCaseAll.yml @@ -1,96 +1,4 @@ test cases: -- CI ready: 'Yes' - ID: ^WIFI_CONN_0601 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -t - - ['R SSC1 C +SAP:OK'] - - - WIFI CONN - - - ['R PC_COM C +WIFICONN:OK'] - - - SSC SSC2 sta -C -s -p - - ['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 - - 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. - - PC has 1 WiFi NIC. - - 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: TCPIP_ICMP_0101 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ping -i - - ['R SSC1 C +PING:OK'] - - - SSC SSC1 ping -i -c 2 - - ['R SSC1 C +PING:OK'] - comment: '' - execution time: 0.0 - expected result: '1.ok - - 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 - - 2.ping -i -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. - - PC has 1 WiFi NIC. - - 1 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: ping function test - version: v1 (2016-8-15) - CI ready: 'Yes' ID: SYS_MISC_0101 SDK: '8266_NonOS @@ -111,6 +19,7 @@ test cases: expected result: 重启成功 initial condition: None initial condition description (auto): none + level: Integration module: System steps: 系统重启 sub module: Misc @@ -125,7 +34,7 @@ test cases: test point 2: sw reboot version: v1 (2016-8-15) - CI ready: 'Yes' - ID: ^TCPIP_DHCP_0302 + ID: SYS_MISC_0201 SDK: '8266_NonOS 8266_RTOS @@ -137,62 +46,929 @@ test cases: 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 -p -t - - [''] - - - SSC SSC2 sta -C -s -p - - ['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 -p - - [''] - - - DELAY 10 - - [P PC_COM C +DELAYDONE, 'P SSC2 NC +JAP:CONNECTED'] + - - SSC SSC1 ram -H + - ['R SSC1 RE FREEHEAP:\d+\r\n'] comment: '' execution time: 0.0 - expected result: '1.target 1 OK + expected result: ' - 2.target1 ERROR + 可以查询到一个数值 - 3.target1 ERROR + ' + 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. - 4.target2 jap target1 OK + PC has 1 WiFi NIC. - 5.target1 OK + 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_DHCP_0101 + SDK: '8266_NonOS - 6.target1 OK + 8266_RTOS - 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) + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + 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 -p + - [''] + - - 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 -p + - ['R SSC1 C +JAP:CONNECTED'] + - - SSC SSC1 ip -Q + - ['R SSC1 RE "\+STAIP:%%s"%%()'] + 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 + 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 关闭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: ap dhcp static ip interaction + summary: dhcp client function 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 client function test + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_DHCP_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 -p -t + - ['R SSC1 C +SAP:OK'] + - - SSC SSC1 dhcp -E -o 2 + - ['R SSC1 C +DHCP:AP,OK'] + - - SSC SSC2 sta -C -s -p + - [''] + - - 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 -p + - ['R SSC2 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" + 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 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. 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 + + 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'] + 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: 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 设置mode 为sta+softAP mode + + 2.target1 打开DHCP 3 + + 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. + + 1 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_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 + - ['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: 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. + + 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_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 -p -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 -p + - ['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_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 + + 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_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 -p -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 -p + - ['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_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 + + 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_0204 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -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 -p + - ['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 -p + - ['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 + + 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 + level: Integration + module: TCPIP + steps: '1. config softap to a random ssid + + 2. config DHCP timeout as 1 minute + + 3. target2 connect to target1 + + 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. + + 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_0205 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t 4 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['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 + + 2. succeed + + 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 + + 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. + + 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_0206 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -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 -p + - ['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 + + 4. get IP 192.168.4.2 - 192.168.4.4 + + 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. config softap to a random ssid + + 2. disable DHCP server, do config and enable + + 3. target2 change mac, connect to softap, disconnect + + 4. Loop step3 twice + + 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. + + 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_0207 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -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 CONN 192.168.4.2 + - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 C +JAP:CONNECTED'] + - - WIFI 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 -p + - ['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_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 + + 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: DHCP server function test + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_DHCP_0208 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t 4 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['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 CONN 192.168.4.2 + - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - SSC SSC1 ap -L + - [R SSC1 C 192.168.4.2 P ] + comment: '' + execution time: 0.0 + expected result: '1. succeed + + 2. succeed + + 3. succeed + + 4. get IP 192.168.4.2 + + 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 + + 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. + + 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_0209 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t 4 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['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 CONN 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 P ] + comment: '' + execution time: 0.0 + expected result: '1. succeed + + 2. succeed + + 3. succeed + + 4. succeed + + 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 + + 2. target2 connect to target1 softap + + 3. disable DHCP server, do config and enable + + 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. + + 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_0210 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -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 -p + - ['R SSC2 C +JAP:CONNECTED'] + - - WIFI CONN2 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 P ] + comment: '' + execution time: 0.0 + expected result: '1. succeed + + 2. succeed + + 3. succeed + + 4. succeed + + 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 + + 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. + + 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_0211 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t 4 + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN 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 -p + - ['R SSC2 C +JAP:CONNECTED'] + - - DELAY 10 + - [''] + - - SSC SSC1 ap -L + - [R SSC1 C 192.168.4.2 C 192.168.4.3 P P ] + comment: '' + execution time: 0.0 + expected result: '1. succeed + + 2. succeed + + 3. succeed + + 4. succeed + + 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 + + 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 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. + + 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_0301 SDK: '8266_NonOS 8266_RTOS @@ -227,9 +1003,10 @@ test cases: 4.OK 5.等待10s,JAP fail' - initial condition: STAAP1 - initial condition description (auto): testing sta on sta + ap mode, quit AP (autogen - by STAM1) + 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 @@ -251,64 +1028,6 @@ test cases: test point 1: interaction test point 2: static IP and DHCP interaction test version: v1 (2016-8-15) -- CI ready: 'Yes' - 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 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['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: 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上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 - 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 - version: v1 (2016-8-15) - CI ready: 'Yes' ID: TCPIP_DHCP_0302 SDK: '8266_NonOS @@ -362,6 +1081,7 @@ test cases: 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\ @@ -378,1627 +1098,37 @@ test cases: test point 2: static IP and DHCP interaction test version: v1 (2016-8-15) - CI ready: 'Yes' - ID: TCPIP_DHCP_0301 + 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: - '' - - - 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 -p - - ['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 -p - - [''] - - - DELAY 10 - - [P PC_COM C +DELAYDONE, 'P SSC1 NC +JAP:CONNECTED'] + - - 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.JAP CONNETED - - 4.OK - - 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 - module: TCPIP - 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: interaction - test point 2: static IP and DHCP interaction test - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: SYS_MISC_0201 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ram -H - - ['R SSC1 RE FREEHEAP:\d+\r\n'] - comment: '' - execution time: 0.0 - expected result: ' - - 可以查询到一个数值 - - ' - 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. - - PC has 1 WiFi NIC. - - 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 - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SOC SOC1 ACCEPT SOC2 - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -T -s - - ['R SSC1 RE CLOSE:\d+,OK'] - - - SSC SSC1 soc -T -s - - ['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' + 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 - - 2.target1上创建TCP socket1 - - 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: abnormal/special use - test point 2: TCP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_TCP_0403 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['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 -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 成功 - - 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 - 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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_TCP_0402 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['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 - - ['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' - 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 - - 4.PC与target1创建好TCP 连接,有ACCEPT - - 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: abnormal/special use - test point 2: TCP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_TCP_0401 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['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 -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 成功 - - 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 - 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 连接 - - 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. - - 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: ^WIFI_ADDR_0101 - SDK: '8266_NonOS - - 8266_RTOS - - 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 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 - - ['R SSC1 C +MAC:STA,OK'] - - - SSC SSC1 mac -S -o 2 -m - - ['R SSC1 C +MAC:AP,OK'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.ok - - 3.ok - - 4.ok - - 5.ok - - 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 - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_TCP_0407 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['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 -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 成功 - - 4.OK - - 5.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 - 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. - - 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_0406 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SOC SOC1 ACCEPT SOC2 - - [R SOC_COM L OK] - - - NIC DISABLED - - [R PC_COM C OK] - - - SSC SSC1 soc -T -s - - ['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' - 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.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: abnormal/special use - test point 2: TCP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_TCP_0405 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SOC SOC1 ACCEPT SOC2 - - [R SOC_COM L OK] - - - NIC DISABLED - - [R PC_COM C OK] - - - SSC SSC1 soc -S -s -l 1 - - [''] - - - DELAY 5400 - - ['P SSC1 RE CLOSED:\d+,0'] - comment: '' - execution time: 1.5 - expected result: '1.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 - 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.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: abnormal/special use - test point 2: TCP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_TCP_0404 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['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 - - ['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' - 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.关闭建立的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: abnormal/special use - test point 2: TCP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^WIFI_CONN_0903 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 sta -C -s -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: 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. - - 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: TCPIP_TCP_0408 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['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 - - ['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 - - 8.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\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: abnormal/special use - test point 2: TCP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_TCP_0202 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,ERROR'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,ERROR'] - - - SSC SSC1 soc -D -s - - ['R SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -L -s - - ['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.ERROR - - 4.OK - - 5.OK - - 6.ERROR - - 7.OK - - 8.ERROR - - 9.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 - - 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0, - - 3.target1上使用步骤2创建的socket,去建立TCP 监听 - - 4.target1上创建TCP socket - - 5.target1上使用步骤4创建的socket,去连接 PC的ip, - - 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. + 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: basic function - test point 2: use TCP SAP (socket/espconn API) in different state - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_TCP_0110 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [SOCR SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0 - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['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 :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i 123.456.678.789 -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.OK - - 3.OK; PC TCP server accept 成功 - - 4.OK - - 5.ERROR - - 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.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: 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_0203 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s - - ['R SSC1 RE SEND:\d+,ERROR'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s - - ['R SSC1 RE SEND:\d+,ERROR'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s - - ['R SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -S -s - - ['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.OK - - 2.OK - - 3.ERROR - - 4.OK - - 5.ERROR - - 6.OK - - 7.OK - - 8.ERROR - - 9.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 - - 2.target1上创建UDP传输socket1, - - 3.target1上使用步骤2创建的socket1,去发送数据 - - 4.target1上创建TCP socket2 - - 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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_DHCP_0101 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - 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 -p - - [''] - - - 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 -p - - ['R SSC1 C +JAP:CONNECTED'] - - - SSC SSC1 ip -Q - - ['R SSC1 RE "\+STAIP:%%s"%%()'] - 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 - 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 client function test - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_DHCP_0103 - SDK: '8266_NonOS - - 8266_RTOS - - 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'] - 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: STAM1 - initial condition description (auto): sta mode, quit AP, DHCP on, will autogen a - TC with initial condition STAAP1 - module: TCPIP - steps: '1.target1 设置mode 为sta+softAP mode - - 2.target1 打开DHCP 3 - - 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. - - 1 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_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 -p -t - - ['R SSC1 C +SAP:OK'] - - - SSC SSC1 dhcp -E -o 2 - - ['R SSC1 C +DHCP:AP,OK'] - - - SSC SSC2 sta -C -s -p - - [''] - - - 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 -p - - ['R SSC2 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" - 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.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. - - 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_UDP_0303 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -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 -i -p -l 5 - - ['P SSC1 RE SEND:(\d+),OK'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.OK - - 3.OK - - 4.OK - - 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 \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: WIFI_SCAN_0103 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 sta -D - - ['R SSC1 C +QAP:'] - - - SSC SSC1 ap -S -s -p 123456789 -t 3 -n 6 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -S -n 5 - - [R SSC2 NP C +SCANDONE] - - - SSC SSC2 sta -S -n 6 - - ['R SSC2 C +SCAN:', R SSC2 P ] - comment: '' - execution time: 0.0 - expected result: '1.target1 QAP - - 2. target1 set AP,set channel 6 - - 3.target2 上scan不到 channel 5 - - 4.target2 上查询channel 6的' - 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 - - 2.target1下设置ssid 和pwd 加密方式,set channel 6 - - 3.target2 上scan channel 5 - - 4.target2 上查询channel 6的' - 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. - - 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_0102 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - 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 - - ['R SSC2 RE "\+SCAN:.+,%%s"%%()', 'R SSC2 NC +SCAN: C +SCANDONE'] - comment: '' - execution time: 0.0 - expected result: '1.target2 上不能查询到此mac - - 2.target2上查询到' - 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.target2上查询' - 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. - - 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_0101 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC2 sta -S -s .,juhg123 - - ['R SSC2 NC +SCAN: C +SCANDONE'] - - - SSC SSC1 ap -S -s -p 123456789 -t 3 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -S -s - - ['R SSC2 C +SCAN:', R SSC2 P , 'R SSC2 NC +SCAN: C +SCANDONE'] - comment: '' - execution time: 0.0 - expected result: '1.target 2上不能scan .,juhg123 - - 2.target1 set AP - - 3.target2上查询到' - 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 - - 2.target1下设置ssid 和pwd 加密方式 - - 3.target2 scan ' - 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. - - PC has 1 WiFi NIC. - - 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_0105 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 sta -D - - ['R SSC1 C +QAP:'] - - - SSC SSC1 ap -S -s -p 123456789 -t 3 -h 0 -n 11 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -S -s -b -n 11 - - [R SSC2 P C +SCANDONE] - - - SSC SSC2 sta -S -s -b -n 11 - - [R SSC2 NP C +SCANDONE] - - - SSC SSC2 sta -S -s -b ff:ff:ff:ff:ff:11 -n 11 - - [R SSC2 P , R SSC2 NP C +SCANDONE] - - - SSC SSC2 sta -S -s -b -n 10 - - [R SSC2 P , R SSC2 NP C +SCANDONE] - comment: '' - execution time: 0.0 - expected result: '1.target1 QAP - - 2. target1 set AP,set ssid broad cast,set channel 11 - - 3.target2 上查询到 - - 4.target2 上查询不到 - - 5.target2 上查询不到 - - 6.target2 上查询不到' - 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 - - 2. target1 set AP,set ssid broad cast,set channel 11 - - 3.target2 上查询到 - - 4.target2 上查询不到 - - 5.target2 上查询不到 - - 6.target2 上查询不到' - 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. - - 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 - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p 123456789 -t 3 -h 0 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -S -h 0 - - [R SSC2 P C +SCANDONE] - - - SSC SSC2 sta -S -h 1 - - [R SSC2 P C +SCANDONE] - - - SSC SSC1 ap -S -s -p 123456789 -h 1 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -S -h 0 - - [R SSC2 NP C +SCANDONE] - - - SSC SSC2 sta -S -h 1 - - [R SSC2 P C +SCANDONE] - comment: '' - execution time: 0.0 - expected result: '1.target1 set AP,set ssid broad cast - - 2.target 2上scan - - 3.target 2上scan - - 4.target1 set AP,set ssid hidden, - - 5.target 2上不能查询到 - - 6.target 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: WIFI MAC - steps: '1.target1下设置ssid 和pwd 加密方式,set ssid broad cast - - 2.target 2上scan - - 3.target 2上scan - - 4.target1下设置ssid 和pwd 加密方式,set ssid hidden, - - 5.target 2上查询 - - 6.target 2上查询' - 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. - - 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: ^TCPIP_UDP_0302 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -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 - - ['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: 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 - - 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: ^TCPIP_UDP_0301 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -i -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -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 -i -p -l 5 - - ['P SSC1 RE SEND:\d+,ERROR'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.OK - - 3.OK - - 4.OK - - 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 - - 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_CONN_0201 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 sta -C -s -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] - - - SSC SSC1 sta -Q - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] - - - 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.target1 jion AP 成功 - - 2.查询JAP的状态 - - 3.target1 断开AP - - 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 成功 - - 2.查询JAP的状态 - - 3.target1 断开AP - - 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. - - PC has 1 WiFi NIC. - - 1 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: query JAP status + test point 2: DNS function test version: v1 (2016-8-15) - CI ready: 'Yes' ID: TCPIP_DNS_0102 @@ -2033,6 +1163,7 @@ test cases: 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" @@ -2049,7 +1180,7 @@ test cases: test point 2: DNS function test version: v1 (2016-8-15) - CI ready: 'Yes' - ID: TCPIP_DNS_0101 + ID: TCPIP_DNS_0103 SDK: '8266_NonOS 8266_RTOS @@ -2062,17 +1193,30 @@ test cases: cmd set: - '' - - SSC SSC1 soc -H -d iot.espressif.cn - - ['R SSC1 C +HOSTIP:OK,115.29.202.58'] + - ['R SSC1 A :\+HOSTIP:OK,(.+)\r\n'] + - - SSC SSC1 soc -B -t UDP + - ['R SSC1 A :\+BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p 9003 -l 10 + - ['P SSC1 RE \+SEND:\d+,OK', P SSC1 SL +10] comment: '' execution time: 0.0 - expected result: 1.OK + 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 + level: Integration module: TCPIP - steps: 1. get host name "espressif.cn" + steps: '1. get host name "espressif.cn" + + 2. sendto, recvfrom1. get host name "espressif.cn" + + 2. sendto, recvfrom' sub module: DNS - summary: get host by name test + summary: UDP send to iot.expressif.com test environment: SSC_T1_2 test environment description (auto): 'Able to access WAN after connect to AP. @@ -2081,53 +1225,48 @@ test cases: test point 2: DNS function test version: v1 (2016-8-15) - CI ready: 'Yes' - ID: WIFI_PHY_0403 - SDK: ESP32_IDF + ID: TCPIP_ICMP_0101 + 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 SSC1 sta -C -s -p - - ['R SSC1 C +JAP:CONNECTED'] - - - SSC SSC2 sta -C -s -p - - [''] - - - DELAY 10 - - ['P SSC1 NC +JAP:DISCONNECTED', 'P SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 ping -i + - ['R SSC1 C +PING:OK'] + - - SSC SSC1 ping -i -c 2 + - ['R SSC1 C +PING: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' + 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 - 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. + 2.ping -i -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. - 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. - - Put 4 APs near SSC targets.' + 1 SSC target connect with PC by UART.' test point 1: basic function - test point 2: STA+SoftAP initial channel test - version: v1 (2015-8-15) + test point 2: ping function test + version: v1 (2016-8-15) - CI ready: 'Yes' - ID: WIFI_CONN_0904 + ID: TCPIP_IGMP_0101 SDK: '8266_NonOS 8266_RTOS @@ -2139,55 +1278,326 @@ test cases: category: Function cmd set: - '' - - - SSC SSC1 ap -S -s -p -t 3 -m 1 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p 1234567890 - - ['R SSC2 RE JAP:DISCONNECTED,\d+,204'] - - - SSC SSC2 sta -D - - ['R SSC2 C +QAP:OK'] - - - WIFI CONN - - ['R PC_COM NC ERROR C +WIFICONN:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 RE JAP:DISCONNECTED,\d+,5'] - - - WIFI DISCONN - - [P PC_COM C OK, 'R SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 ap -S -s -p -t 3 -m 1 - - ['P SSC1 C +SAP:OK', 'P SSC2 RE JAP:DISCONNECTED,\d+,4'] + - - SSC SSC1 igmp -J -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 igmp -L -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 igmp -J -h -m 223.1.1.1 + - ['R SSC1 C +IGMP:ERROR'] + - - SSC SSC1 igmp -J -h -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 + level: Integration + module: TCPIP + steps: '1. join group with correct host addr and multicast addr + + 2. join group with correct host addr and wrong multicast addr + + 3. join group with wrong host addr and correct multicast addr + + 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. + + PC has 1 WiFi NIC. + + 1 SSC target connect with PC by UART.' + test point 1: basic function + test point 2: IGMP API parameter check + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_IGMP_0102 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 igmp -J -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 igmp -L -h -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 -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. + + PC has 1 WiFi NIC. + + 1 SSC target connect with PC by UART.' + test point 1: basic function + test point 2: IGMP API parameter check + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_IGMP_0103 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 igmp -J -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 igmp -L -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 igmp -J -h -m 223.1.1.1 + - ['R SSC1 C +IGMP:ERROR'] + - - SSC SSC1 igmp -J -h -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: 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 + + 2. join group with correct host addr and wrong multicast addr + + 3. join group with wrong host addr and correct multicast addr + + 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. + + PC has 1 WiFi NIC. + + 1 SSC target connect with PC by UART.' + test point 1: basic function + test point 2: IGMP API parameter check + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_IGMP_0104 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 igmp -J -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 igmp -L -h -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 -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: 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 + + 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. + + 1 SSC target connect with PC by UART.' + test point 1: basic function + test point 2: IGMP API parameter check + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_IGMP_0201 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 igmp -J -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p + - ['R SSC1 A :\+BIND:(\d+),OK'] + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SOC SOC1 SENDTO 1 224.1.1.1 + - [R SSC1 SL +1] + - - SSC SSC1 igmp -L -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] comment: '' execution time: 0.0 expected result: '1. succeed - 2. disconnect event REASON_HANDSHAKE_TIMEOUT + 2. succeed + + 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 + + 2. create UDP socket using multicast addr + + 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: basic function + test point 2: IGMP send/recv test + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_IGMP_0202 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC2 op -S -o 1 + - ['R SSC2 C +MODE:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 igmp -J -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p + - ['R SSC1 A :\+BIND:(\d+),OK'] + - - SSC SSC2 soc -B -t UDP -p + - ['R SSC2 A :\+BIND:(\d+),OK'] + - - SSC SSC2 soc -S -s -i 224.1.1.1 -p -l 10 + - [R SSC1 SL +1] + - - SSC SSC1 igmp -L -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + comment: '' + execution time: 0.0 + expected result: '1. succeed + + 2. succeed 3. succeed - 4. succeed + 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 - 5. disconnect event REASON_ASSOC_TOOMANY + 2. target1 join group and create UDP socket using multicast addr - 6. succeed, target2 connect succeed + 3. target2 create UDP socket - 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 - - 2. target2 connect to target1 with wrong password - - 3. target2 disconnect - - 4. PC WIFI NIC connect to target1 - - 5. target2 connect to target1 with correct password - - 6. PC WIFI NIC disconnect - - 7. reconfig softap' - sub module: WIFI Connect - summary: test wifi disconnect reason REASON_ASSOC_TOOMANY, REASON_HANDSHAKE_TIMEOUT, - REASON_ASSOC_EXPIRE + 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. @@ -2195,7 +1605,115 @@ test cases: 2 SSC target connect with PC by UART.' test point 1: basic function - test point 2: wifi disconnect reason test + test point 2: IGMP send/recv test + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_IGMP_0203 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 igmp -J -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SOC SOC1 SENDTO 1 224.1.1.1 + - [R SSC1 SL +1] + - - SSC SSC1 igmp -L -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + comment: '' + execution time: 0.0 + expected result: '1. succeed + + 2. succeed + + 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. + + 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: TCPIP_IGMP_0204 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC2 sta -C -s -p + - ['R SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 igmp -J -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p + - ['R SSC1 A :\+BIND:(\d+),OK'] + - - SSC SSC2 soc -B -t UDP -p + - ['R SSC2 A :\+BIND:(\d+),OK'] + - - SSC SSC2 soc -S -s -i 224.1.1.1 -p -l 10 + - [R SSC1 SL +1] + - - SSC SSC1 igmp -L -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + comment: '' + execution time: 0.0 + expected result: '1. succeed + + 2. succeed + + 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 + level: Integration + module: TCPIP + steps: '1. target2 join SoftAP + + 2. target1 join group and create UDP socket using multicast addr + + 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. + + 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 version: v1 (2016-8-15) - CI ready: 'Yes' ID: TCPIP_IP_0101 @@ -2234,6 +1752,7 @@ test cases: 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 @@ -2296,6 +1815,7 @@ test cases: 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\ @@ -2312,2559 +1832,7 @@ test cases: test point 2: set and query static IP version: v1 (2016-8-15) - CI ready: 'Yes' - ID: ^WIFI_CONN_0201 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 sta -C -s -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] - - - SSC SSC1 sta -Q - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] - - - 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.target1 jion AP 成功 - - 2.查询JAP的状态 - - 3.target1 断开AP - - 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 成功 - - 2.查询JAP的状态 - - 3.target1 断开AP - - 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. - - PC has 1 WiFi NIC. - - 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: ^TCPIP_IGMP_0102 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 igmp -J -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 igmp -L -h -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 -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: STAAP2 - initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP - on (autogen by STAM2) - 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. - - PC has 1 WiFi NIC. - - 1 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: IGMP API parameter check - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_IGMP_0101 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 igmp -J -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 igmp -L -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 igmp -J -h -m 223.1.1.1 - - ['R SSC1 C +IGMP:ERROR'] - - - SSC SSC1 igmp -J -h -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: STAAP2 - initial condition description (auto): testing sta on sta + ap mode, join AP, DHCP - on (autogen by STAM2) - module: TCPIP - steps: '1. join group with correct host addr and multicast addr - - 2. join group with correct host addr and wrong multicast addr - - 3. join group with wrong host addr and correct multicast addr - - 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. - - PC has 1 WiFi NIC. - - 1 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: IGMP API parameter check - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_IGMP_0104 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 igmp -J -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 igmp -L -h -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 -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: 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 - - 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. - - 1 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: IGMP API parameter check - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_UDP_0110 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -l 1 - - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1] - - - SSC SSC1 soc -S -s -i -p -l 1472 - - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472] - - - SSC SSC1 soc -S -s -i -p -l 1473 - - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM] - - - SSC SSC1 soc -S -s -i -p -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 - - 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) - module: TCPIP - steps: '1.PC上SOC1 UDP传输,bing - - 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: use UDP SAP (socket/espconn API) with different parameter - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^WIFI_SCAN_0102 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - 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 - - ['R SSC2 RE "\+SCAN:.+,%%s"%%()', 'R SSC2 NC +SCAN: C +SCANDONE'] - comment: '' - execution time: 0.0 - expected result: '1.target2 上不能查询到此mac - - 2.target2上查询到' - 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.target2上查询' - 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. - - 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_0103 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 sta -D - - ['R SSC1 C +QAP:'] - - - SSC SSC1 ap -S -s -p 123456789 -t 3 -n 6 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -S -n 5 - - [R SSC2 NP C +SCANDONE] - - - SSC SSC2 sta -S -n 6 - - ['R SSC2 C +SCAN:', R SSC2 P ] - comment: '' - execution time: 0.0 - expected result: '1.target1 QAP - - 2. target1 set AP,set channel 6 - - 3.target2 上scan不到 channel 5 - - 4.target2 上查询channel 6的' - 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 - - 2.target1下设置ssid 和pwd 加密方式,set channel 6 - - 3.target2 上scan channel 5 - - 4.target2 上查询channel 6的' - 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. - - 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 - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p 123456789 -t 3 -h 0 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -S -h 0 - - [R SSC2 P C +SCANDONE] - - - SSC SSC2 sta -S -h 1 - - [R SSC2 P C +SCANDONE] - - - SSC SSC1 ap -S -s -p 123456789 -h 1 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -S -h 0 - - [R SSC2 NP C +SCANDONE] - - - SSC SSC2 sta -S -h 1 - - [R SSC2 P C +SCANDONE] - comment: '' - execution time: 0.0 - expected result: '1.target1 set AP,set ssid broad cast - - 2.target 2上scan - - 3.target 2上scan - - 4.target1 set AP,set ssid hidden, - - 5.target 2上不能查询到 - - 6.target 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.target1下设置ssid 和pwd 加密方式,set ssid broad cast - - 2.target 2上scan - - 3.target 2上scan - - 4.target1下设置ssid 和pwd 加密方式,set ssid hidden, - - 5.target 2上查询 - - 6.target 2上查询' - 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. - - 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_0105 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 sta -D - - ['R SSC1 C +QAP:'] - - - SSC SSC1 ap -S -s -p 123456789 -t 3 -h 0 -n 11 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -S -s -b -n 11 - - [R SSC2 P C +SCANDONE] - - - SSC SSC2 sta -S -s -b -n 11 - - [R SSC2 NP C +SCANDONE] - - - SSC SSC2 sta -S -s -b ff:ff:ff:ff:ff:11 -n 11 - - [R SSC2 P , R SSC2 NP C +SCANDONE] - - - SSC SSC2 sta -S -s -b -n 10 - - [R SSC2 P , R SSC2 NP C +SCANDONE] - comment: '' - execution time: 0.0 - expected result: '1.target1 QAP - - 2. target1 set AP,set ssid broad cast,set channel 11 - - 3.target2 上查询到 - - 4.target2 上查询不到 - - 5.target2 上查询不到 - - 6.target2 上查询不到' - 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 - - 2. target1 set AP,set ssid broad cast,set channel 11 - - 3.target2 上查询到 - - 4.target2 上查询不到 - - 5.target2 上查询不到 - - 6.target2 上查询不到' - 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. - - 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: TCPIP_IGMP_0104 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 igmp -J -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 igmp -L -h -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 -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: 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 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. - - 1 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: IGMP API parameter check - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_IGMP_0103 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 igmp -J -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 igmp -L -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 igmp -J -h -m 223.1.1.1 - - ['R SSC1 C +IGMP:ERROR'] - - - SSC SSC1 igmp -J -h -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: 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 with correct host addr and multicast addr - - 2. join group with correct host addr and wrong multicast addr - - 3. join group with wrong host addr and correct multicast addr - - 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. - - PC has 1 WiFi NIC. - - 1 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: IGMP API parameter check - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_IGMP_0102 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 igmp -J -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 igmp -L -h -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 -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 - 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. - - PC has 1 WiFi NIC. - - 1 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: IGMP API parameter check - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_IGMP_0101 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 igmp -J -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 igmp -L -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 igmp -J -h -m 223.1.1.1 - - ['R SSC1 C +IGMP:ERROR'] - - - SSC SSC1 igmp -J -h -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 - - 3. join group with wrong host addr and correct multicast addr - - 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. - - PC has 1 WiFi NIC. - - 1 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: IGMP API parameter check - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_UDP_0201 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -W -s -o 0 - - ['R SSC1 RE WORKTHREAD:\d+,OK'] - - - SOC SOC1 SENDTO 1472 - - [''] - - - SOC SOC1 SENDTO 1472 - - [''] - - - SOC SOC1 SENDTO 1472 - - [''] - - - SOC SOC1 SENDTO 1472 - - [''] - - - SOC SOC1 SENDTO 1472 - - [''] - 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: 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 - - 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: ^TCPIP_ICMP_0101 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ping -i - - ['R SSC1 C +PING:OK'] - - - SSC SSC1 ping -i -c 2 - - ['R SSC1 C +PING:OK'] - comment: '' - execution time: 0.0 - 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) - module: TCPIP - steps: '1.ping -i - - 2.ping -i -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. - - PC has 1 WiFi NIC. - - 1 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: ping function test - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^WIFI_ADDR_0102 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - 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 -p -t - - [''] - - - 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 - - ['R SSC1 C +MAC:AP,OK'] - - - SSC SSC2 mac -Q -o 1 - - ['R SSC2 A :\+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 -p - - ['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 - - ['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 - - 8.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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_UDP_0108 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 C BIND:ERROR'] - - - SSC SSC1 soc -B -t TCP -p - - ['R SSC1 RE BIND:(\d+),OK'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.OK - - 3.ERROR - - 4.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 - - 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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_UDP_0109 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -t - - ['R SSC1 C +SAP:OK'] - - - WIFI CONN - - - ['R PC_COM NC ERROR C +WIFICONN:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC2 ip - - ['R SSC2 A :STAIP:(.+)\r\n'] - - - SSC SSC2 soc -B -t UDP -p - - ['R SSC2 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -l 5 - - [R SOC1 UL 5] - - - SSC SSC1 soc -S -s -i -p -l 5 - - ['R SSC2 RE "RECVFROM:%%s,5,%%s,%%u"%%(,,)'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.OK - - 3.OK - - 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 - module: TCPIP - steps: '1.PC上SOC1 UDP传输,bing - - 2.PC上SOC2 UDP传输,bing - - 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. - - 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_0106 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['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: STAM2 - initial condition description (auto): sta mode, join AP, DHCP on, will autogen a - TC with initial condition STAAP2 - 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: 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: 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_0107 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -I - - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(,)'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 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.target1上UDP传输,Bind socket1,本地ip target_udp_port1 - - 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: 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_0104 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SOC SOC1 SENDTO 1 - - [R SSC1 SL +1] - - - SOC SOC1 SENDTO 1472 - - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(,,)'] - - - SOC SOC1 SENDTO 1473 - - [P SSC1 NC +RECVFROM, P SOC_COM C OK] - - - SOC SOC2 BIND - - [R SOC_COM L OK] - - - SOC SOC2 SENDTO 1472 - - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(,,)'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.OK - - 3.OK - - 4.OK - - 5.OK,没收到UDP包 - - 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上SOC1 UDP传输,bing - - 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 - - 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: 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_0105 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -T -s - - ['R SSC1 RE CLOSE:\d+'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 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.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: 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_0102 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SOC SOC2 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -l 10 - - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 10] - - - SSC SSC1 soc -S -s -i -p -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: 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 - - 2.PC上SOC2 UDP传输,bing - - 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 - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_UDP_0103 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -l 1 - - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1] - - - SSC SSC1 soc -S -s -i -p -l 1472 - - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472] - - - SSC SSC1 soc -S -s -i -p -l 1473 - - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM] - - - SSC SSC1 soc -S -s -i -p -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 - - 4.OK - - 5.OK,没有到UDP包 - - 6.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 - - 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: 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_0101 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 C BIND:ERROR'] - - - SSC SSC1 soc -B -t TCP -p - - ['R SSC1 RE BIND:(\d+),OK'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.OK - - 3.ERROR - - 4.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.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 - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_IGMP_0204 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC2 sta -C -s -p - - ['R SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 igmp -J -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p - - ['R SSC1 A :\+BIND:(\d+),OK'] - - - SSC SSC2 soc -B -t UDP -p - - ['R SSC2 A :\+BIND:(\d+),OK'] - - - SSC SSC2 soc -S -s -i 224.1.1.1 -p -l 10 - - [R SSC1 SL +1] - - - SSC SSC1 igmp -L -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - comment: '' - execution time: 0.0 - expected result: '1. succeed - - 2. succeed - - 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: TCPIP - steps: '1. target2 join SoftAP - - 2. target1 join group and create UDP socket using multicast addr - - 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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_IGMP_0201 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 igmp -J -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p - - ['R SSC1 A :\+BIND:(\d+),OK'] - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SOC SOC1 SENDTO 1 224.1.1.1 - - [R SSC1 SL +1] - - - SSC SSC1 igmp -L -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - comment: '' - execution time: 0.0 - expected result: '1. succeed - - 2. succeed - - 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 - 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: 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: basic function - test point 2: IGMP send/recv test - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_IGMP_0202 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC2 op -S -o 1 - - ['R SSC2 C +MODE:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 igmp -J -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p - - ['R SSC1 A :\+BIND:(\d+),OK'] - - - SSC SSC2 soc -B -t UDP -p - - ['R SSC2 A :\+BIND:(\d+),OK'] - - - SSC SSC2 soc -S -s -i 224.1.1.1 -p -l 10 - - [R SSC1 SL +1] - - - SSC SSC1 igmp -L -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - comment: '' - execution time: 0.0 - expected result: '1. succeed - - 2. succeed - - 3. succeed - - 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 - module: TCPIP - steps: '1. target2 set to sta mode and join AP - - 2. target1 join group and create UDP socket using multicast addr - - 3. target2 create UDP socket - - 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. - - 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_IGMP_0203 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 igmp -J -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SOC SOC1 SENDTO 1 224.1.1.1 - - [R SSC1 SL +1] - - - SSC SSC1 igmp -L -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - comment: '' - execution time: 0.0 - expected result: '1. succeed - - 2. succeed - - 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. 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. - - 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' - 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 - - 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. - - 1 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: power on auto reconnect test - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_TCP_0404 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['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 - - ['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' - 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的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: abnormal/special use - test point 2: TCP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_TCP_0405 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SOC SOC1 ACCEPT SOC2 - - [R SOC_COM L OK] - - - NIC DISABLED - - [R PC_COM C OK] - - - SSC SSC1 soc -S -s -l 1 - - [''] - - - DELAY 5400 - - ['P SSC1 RE CLOSED:\d+,0'] - comment: '' - execution time: 1.5 - expected result: '1.OK - - 2.OK - - 3.OK; PC TCP server accept 成功 - - 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) - 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.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: abnormal/special use - test point 2: TCP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_TCP_0406 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SOC SOC1 ACCEPT SOC2 - - [R SOC_COM L OK] - - - NIC DISABLED - - [R PC_COM C OK] - - - SSC SSC1 soc -T -s - - ['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' - 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.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: abnormal/special use - test point 2: TCP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_TCP_0407 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['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 -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 成功 - - 4.OK - - 5.OK - - 6.OK - - 7.OK - - 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 - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_TCP_0401 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['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 -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 成功 - - 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) - 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 连接 - - 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. - - 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_0402 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['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 - - ['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' - 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 socket1 - - 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1 - - 4.PC与target1创建好TCP 连接,有ACCEPT - - 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: abnormal/special use - test point 2: TCP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_TCP_0403 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['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 -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 成功 - - 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) - 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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_TCP_0408 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['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 - - ['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 - - 8.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上建立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: abnormal/special use - test point 2: TCP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_UDP_0201 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -W -s -o 0 - - ['R SSC1 RE WORKTHREAD:\d+,OK'] - - - SOC SOC1 SENDTO 1472 - - [''] - - - SOC SOC1 SENDTO 1472 - - [''] - - - SOC SOC1 SENDTO 1472 - - [''] - - - SOC SOC1 SENDTO 1472 - - [''] - - - SOC SOC1 SENDTO 1472 - - [''] - 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: 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 - - 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: ^TCPIP_UDP_0307 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -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 - - ['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: 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 \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: abnormal/special use - test point 2: UDP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_UDP_0306 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -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 -i -p -l 1 - - ['P SSC1 RE SEND:\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: 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 \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: abnormal/special use - test point 2: UDP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_UDP_0305 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -l 5 - - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5] - - - NIC DISABLED - - [R PC_COM C OK] - - - SSC SSC1 soc -T -s - - ['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: 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 \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: abnormal/special use - test point 2: UDP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_UDP_0304 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -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 - - ['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: 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 \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: abnormal/special use - test point 2: UDP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^WIFI_CONN_0103 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -t -h - 0 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -S -h 0 - - [R SSC2 P , R SSC2 C +SCANDONE] - - - SSC SSC1 ap -S -s -p -t -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 C +SCANDONE] - comment: '' - execution time: 0.0 - expected result: '1.target1 set AP,set ssid broad cast - - 2.target 2上scan target_ap_mac - - 3.target1 set AP,set ssid hidden, - - 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 - - 2.target 2上scan target_ap_mac - - 3. target1下设置ssid 和pwd 加密方式,set ssid hidden, - - 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. - - 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: ^TCPIP_TCP_0101 + ID: TCPIP_TCP_0101 SDK: '8266_NonOS 8266_RTOS @@ -4901,9 +1869,10 @@ test cases: 5.ERROR 6.ERROR' - 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 @@ -4928,7 +1897,60 @@ test cases: test point 2: use TCP SAP (socket/espconn API) with different parameter version: v1 (2016-8-15) - CI ready: 'Yes' - ID: ^TCPIP_TCP_0103 + ID: TCPIP_TCP_0102 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 soc -B -t TCP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,OK'] + - - SOC SOC1 CONNECT + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK] + - - SOC SOC1 CONNECT + - [P SOC_COM C ERROR, P SSC1 NC ACCEPT] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 3.PC TCP client accept + + 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.target1上创建TCP socket,bind到本地端口 + + 2.target1上使用步骤1创建的socket,创建TCP 监听 + + 3.PC TCP 连接到target1 , + + 4.PC tcp 连接到不存在的port ,' + 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: 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_0103 SDK: '8266_NonOS 8266_RTOS @@ -4973,9 +1995,10 @@ test cases: 7.target收到 146000 byte 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) + 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 @@ -4991,7 +2014,7 @@ test cases: 7. PC send 100 * 1460 data to 8266, - 8.8266 send 100 * 1460 to PC.' + 8.8266 send 100 * 1460 to PC. ' sub module: TCP summary: STA mode, send/recv basic test test environment: SSC_T1_1 @@ -5003,4051 +2026,6 @@ test cases: 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 - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 soc -B -t TCP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,OK'] - - - SOC SOC1 CONNECT - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK] - - - SOC SOC1 CONNECT - - [P SOC_COM C ERROR, P SSC1 NC ACCEPT] - 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到本地端口 - - 2.target1上使用步骤1创建的socket,创建TCP 监听 - - 3.PC TCP 连接到target1 , - - 4.PC tcp 连接到不存在的port ,' - 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: 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_0105 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -T -s - - ['R SSC1 RE CLOSE:\d+,OK'] - - - SSC SSC1 soc -B -t TCP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,OK'] - - - SOC SOC2 CONNECT - - ['R SSC1 A :ACCEPT:(\d+),\d+,.+,\d+'] - - - SSC SSC1 soc -T -s - - ['R SSC1 RE CLOSE:\d+,OK'] - - - SSC SSC1 soc -T -s - - ['R SSC1 RE CLOSE:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -T -s - - ['R SSC1 RE CLOSE:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s - - ['R SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -T -s - - ['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 - - 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) - 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,\ - \ ,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: use TCP SAP (socket/espconn API) with different parameter - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_TCP_0104 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s -h B - - ['R SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s -h W - - ['R SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s -h R - - ['R SSC1 RE SHUTDOWN:\d+,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 - - 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) - 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 - 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_0107 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 soc -B -t TCP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,OK'] - - - SOC SOC2 CONNECT - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - - - SOC SOC3 CONNECT - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - - - SOC SOC4 CONNECT - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - - - SOC SOC5 CONNECT - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - - - SOC SOC6 CONNECT - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - 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成功 - - 6.OK,pc tcp server accept成功 - - 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) - module: TCPIP - steps: "1.target1上创建TCP socket 端口随机\n2.target1上使用步骤4创建的socket1,去监听\n3.PC CONNECT,\ - \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT, ,tcp 连接创建成功,创建socket3\ - \ \n5.PC CONNECT, ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT,\ - \ ,tcp 连接创建成功,创建socket5 \n7.PC CONNECT, ,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: 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_0106 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - 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: 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 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 - 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_DHCP_0210 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -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 -p - - ['R SSC2 C +JAP:CONNECTED'] - - - WIFI CONN2 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 P ] - comment: '' - execution time: 0.0 - expected result: '1. succeed - - 2. succeed - - 3. succeed - - 4. succeed - - 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. 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. - - 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_0211 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -t 4 - - ['R SSC1 C +SAP:OK'] - - - WIFI CONN 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 -p - - ['R SSC2 C +JAP:CONNECTED'] - - - DELAY 10 - - [''] - - - SSC SSC1 ap -L - - [R SSC1 C 192.168.4.2 C 192.168.4.3 P P ] - comment: '' - execution time: 0.0 - expected result: '1. succeed - - 2. succeed - - 3. succeed - - 4. succeed - - 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. 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 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. - - 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_0212 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP -i - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -B -t TCP -i - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s - - ['R SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -B -t TCP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,OK'] - - - SOC SOC2 CONNECT 0 - - ['R SSC1 A :ACCEPT:(\d+),\d+,.+,\d+'] - - - SSC SSC1 soc -I - - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(,,,)', - 'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%()', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(,)', - 'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\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 - - 8.OK - - 9.PC OK, target1 +ACCEPT:3,2,,port - - 10.+SOCINFO:,,, - - +SOCINFO:,,, - - +SOCINFO:, - - +SOCINFO:,,, - - +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,\ - \ ,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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_TCP_0210 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SOC SOC1 ACCEPT SOC2 - - [R SOC_COM L OK] - - - SSC SSC1 soc -W -s -o 0 - - ['R SSC1 RE WORKTHREAD:\d+,OK'] - - - SOC SOC2 SEND 146000 - - [P SOC_COM R *] - - - SSC SSC1 soc -W -s -o 1 - - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL +2920] - 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 - - 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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_TCP_0210 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SOC SOC1 ACCEPT SOC2 - - [R SOC_COM L OK] - - - SSC SSC1 soc -W -s -o 0 - - ['R SSC1 RE WORKTHREAD:\d+,OK'] - - - SOC SOC2 SEND 146000 - - [P SOC_COM R *] - - - SSC SSC1 soc -W -s -o 1 - - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL +2920] - 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 - - 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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_TCP_0212 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP -i - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -B -t TCP -i - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s - - ['R SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -B -t TCP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,OK'] - - - SOC SOC2 CONNECT 0 - - ['R SSC1 A :ACCEPT:(\d+),\d+,.+,\d+'] - - - SSC SSC1 soc -I - - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(,,,)', - 'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%()', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(,)', - 'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\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 - - 8.OK - - 9.PC OK, target1 +ACCEPT:3,2,,port - - 10.+SOCINFO:,,, - - +SOCINFO:,,, - - +SOCINFO:, - - +SOCINFO:,,, - - +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,\ - \ ,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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_DHCP_0211 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -t 4 - - ['R SSC1 C +SAP:OK'] - - - WIFI CONN 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 -p - - ['R SSC2 C +JAP:CONNECTED'] - - - DELAY 10 - - [''] - - - SSC SSC1 ap -L - - [R SSC1 C 192.168.4.2 C 192.168.4.3 P P ] - comment: '' - execution time: 0.0 - expected result: '1. succeed - - 2. succeed - - 3. succeed - - 4. succeed - - 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 - - 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 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. - - 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_0210 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -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 -p - - ['R SSC2 C +JAP:CONNECTED'] - - - WIFI CONN2 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 P ] - comment: '' - execution time: 0.0 - expected result: '1. succeed - - 2. succeed - - 3. succeed - - 4. succeed - - 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 - - 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. - - 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 - SDK: '8266_NonOS - - 8266_RTOS - - 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 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 - - ['R SSC1 C +MAC:STA,OK'] - - - SSC SSC1 mac -S -o 2 -m - - ['R SSC1 C +MAC:AP,OK'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.ok - - 3.ok - - 4.ok - - 5.ok - - 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 - 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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: WIFI_ADDR_0102 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - 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 -p -t - - [''] - - - 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 - - ['R SSC1 C +MAC:AP,OK'] - - - SSC SSC2 mac -Q -o 1 - - ['R SSC2 A :\+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 -p - - ['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 - - ['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 - - 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 - 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: mac address function test - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_UDP_0202 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -W -s -o 0 - - ['R SSC1 RE WORKTHREAD:\d+,OK'] - - - SOC SOC1 SENDTO 1472 - - [''] - - - SOC SOC1 SENDTO 1472 - - [''] - - - SOC SOC1 SENDTO 1472 - - [''] - - - SOC SOC1 SENDTO 1472 - - [''] - - - SOC SOC1 SENDTO 1472 - - [''] - 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: 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 - - 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. - - 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_0411 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SOC SOC1 ACCEPT SOC2 - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -l 5 - - ['P SSC1 RE SEND:\d+,ERROR'] - - - SSC SSC1 soc -S -s -l 5 - - ['P SSC1 RE SEND:\d+,OK'] - 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 - - 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. - - 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: WIFI_PHY_0502 - 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 -p - - ['R SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 C +JAP:CONNECTED'] - - - SSC SSC3 sta -C -s -p - - ['R SSC3 C +JAP:CONNECTED'] - - - SSC SSC2 sta -C -s -p - - [''] - - - 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 - - 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 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 - - 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 (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2). - - 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_0503 - 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 -p - - ['R SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 C +JAP:CONNECTED'] - - - SSC SSC3 sta -C -s -p - - ['R SSC3 C +JAP:CONNECTED'] - - - SSC SSC2 sta -C -s -p - - [''] - - - 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 set to 40M, SoftAP set to 20M - - 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_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 (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2). - - 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 -p - - ['R SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 C +JAP:CONNECTED'] - - - SSC SSC3 sta -C -s -p - - ['R SSC3 C +JAP:CONNECTED'] - - - SSC SSC2 sta -C -s -p - - [''] - - - 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 - - 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_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. - - 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 point 1: basic function - test point 2: STA+SoftAP dynamic channel switch test - version: v1 (2015-8-15) -- CI ready: 'Yes' - ID: WIFI_PHY_0506 - 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 sta -C -s -p - - ['R SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 C +JAP:CONNECTED'] - - - SSC SSC3 sta -C -s -p - - ['R SSC3 C +JAP:CONNECTED'] - - - SSC SSC2 sta -C -s -p - - [''] - - - 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 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. - - 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 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 -p - - ['R SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 C +JAP:CONNECTED'] - - - SSC SSC3 sta -C -s -p - - ['R SSC3 C +JAP:CONNECTED'] - - - SSC SSC2 sta -C -s -p - - [''] - - - 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 - - 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 set to 40M ,SoftAP set to 20M - - 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_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 (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2). - - 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_CONN_0301 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -t -h - 0 -m 8 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC1 ap -Q - - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,3,0,8,\d+"%%(,)'] - comment: '' - execution time: 0.0 - expected result: '1. target1 set AP - - 2.target 1上查询到跟设置AP时一致 - - ' - initial condition: APM1 - initial condition description (auto): AP mode, DHCP on, will autogen a TC with initial - condition APSTA1 - module: WIFI MAC - steps: '1. target1 set AP - - 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. - - PC has 1 WiFi NIC. - - 1 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: query AP config - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_IP_0102 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - 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 - - ['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) - 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_UDP_0105 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -T -s - - ['R SSC1 RE CLOSE:\d+'] - comment: '' - execution time: 0.0 - 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) - module: TCPIP - 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: 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_0104 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SOC SOC1 SENDTO 1 - - [R SSC1 SL +1] - - - SOC SOC1 SENDTO 1472 - - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(,,)'] - - - SOC SOC1 SENDTO 1473 - - [P SSC1 NC +RECVFROM, P SOC_COM C OK] - - - SOC SOC2 BIND - - [R SOC_COM L OK] - - - SOC SOC2 SENDTO 1472 - - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(,,)'] - 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 - - 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 - - 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: 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_0107 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -I - - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(,)'] - comment: '' - execution time: 0.0 - 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) - 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 - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_UDP_0106 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['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) - 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: 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: 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_0101 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 C BIND:ERROR'] - - - SSC SSC1 soc -B -t TCP -p - - ['R SSC1 RE BIND:(\d+),OK'] - 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 - - 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 - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_UDP_0103 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -l 1 - - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1] - - - SSC SSC1 soc -S -s -i -p -l 1472 - - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472] - - - SSC SSC1 soc -S -s -i -p -l 1473 - - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM] - - - SSC SSC1 soc -S -s -i -p -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 - - 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 - - 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: 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_0102 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SOC SOC2 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -l 10 - - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 10] - - - SSC SSC1 soc -S -s -i -p -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 - - 2.PC上SOC2 UDP传输,bing - - 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 - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_DHCP_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 -p -t - - ['R SSC1 C +SAP:OK'] - - - SSC SSC1 dhcp -E -o 2 - - ['R SSC1 C +DHCP:AP,OK'] - - - SSC SSC2 sta -C -s -p - - [''] - - - 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 -p - - ['R SSC2 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" - 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. - - PC has 1 WiFi NIC. - - 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 - - 8266_RTOS - - 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'] - 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 - - 2.target1 打开DHCP 3 - - 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. - - 1 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: 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 - - 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 - module: WIFI MAC - steps: '1. do all channel scan - - 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_0303 - SDK: ESP32_IDF - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 sta -C -s -p - - ['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 -p - - [P SSC1 C +SCANDONE, 'P SSC1 C +JAP:CONNECTED'] - comment: '' - execution time: 0.0 - expected result: '2. scan succeed, JAP succeed - - 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. target 1 STA scan before JAP succeed - - 3. target 1 quite AP - - 4. target 1 scan - - 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. - - 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_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 -p -t 0 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 ap -S -s -p -t 2 - - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,2,0'] - - - SSC SSC1 ap -S -s -p -t 3 - - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,3,2'] - - - SSC SSC1 ap -S -s -p -t 4 - - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,4,3'] - - - SSC SSC1 ap -S -s -p -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) - 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 - - 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. - - 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: WIFI_SCAN_0304 - SDK: ESP32_IDF - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC2 sta -C -s -p - - ['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 -p - - [P SSC1 C +SCANDONE, 'P SSC2 C +JAP:CONNECTED'] - comment: '' - execution time: 0.0 - expected result: '2. scan succeed, JAP succeed - - 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. target 1 STA scan before target 2 JAP succeed - - 3. target 2 STA QAP - - 4. target 1 STA scan - - 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. - - 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: ^TCPIP_UDP_0108 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 C BIND:ERROR'] - - - SSC SSC1 soc -B -t TCP -p - - ['R SSC1 RE BIND:(\d+),OK'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.OK - - 3.ERROR - - 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.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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - 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 ap -S -s -p -t -m - 1 - - ['R SSC1 C +SAP:OK'] - - - WIFI DISCONN - - ['R PC_COM C +WIFIDISCONN:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] - - - WIFI CONN - - - ['R PC_COM C +WIFICONN:ERROR'] - comment: '' - execution time: 0.0 - expected result: '1. target1 set AP,set max allowed sta as 1 - - 2. use PC disconnect, - - 3.target 2 jap succeed - - 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 - module: WIFI MAC - steps: '1.target1下设置ssid 和pwd 加密方式,set max allowed sta as 1 - - 2.use PC disconnect target1 - - 3.target 2 jap target1 - - 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. - - 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: ^TCPIP_IGMP_0201 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 igmp -J -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p - - ['R SSC1 A :\+BIND:(\d+),OK'] - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SOC SOC1 SENDTO 1 224.1.1.1 - - [R SSC1 SL +1] - - - SSC SSC1 igmp -L -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - 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 - - 2. create UDP socket using multicast addr - - 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: basic function - test point 2: IGMP send/recv test - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_IGMP_0203 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 igmp -J -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SOC SOC1 SENDTO 1 224.1.1.1 - - [R SSC1 SL +1] - - - SSC SSC1 igmp -L -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - comment: '' - execution time: 0.0 - expected result: '1. succeed - - 2. succeed - - 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 - - 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. - - 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: ^TCPIP_IGMP_0202 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC2 op -S -o 1 - - ['R SSC2 C +MODE:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 igmp -J -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p - - ['R SSC1 A :\+BIND:(\d+),OK'] - - - SSC SSC2 soc -B -t UDP -p - - ['R SSC2 A :\+BIND:(\d+),OK'] - - - SSC SSC2 soc -S -s -i 224.1.1.1 -p -l 10 - - [R SSC1 SL +1] - - - SSC SSC1 igmp -L -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - comment: '' - execution time: 0.0 - expected result: '1. succeed - - 2. succeed - - 3. succeed - - 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 - - 2. target1 join group and create UDP socket using multicast addr - - 3. target2 create UDP socket - - 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. - - 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_IGMP_0204 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC2 sta -C -s -p - - ['R SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 igmp -J -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p - - ['R SSC1 A :\+BIND:(\d+),OK'] - - - SSC SSC2 soc -B -t UDP -p - - ['R SSC2 A :\+BIND:(\d+),OK'] - - - SSC SSC2 soc -S -s -i 224.1.1.1 -p -l 10 - - [R SSC1 SL +1] - - - SSC SSC1 igmp -L -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - comment: '' - execution time: 0.0 - expected result: '1. succeed - - 2. succeed - - 3. succeed - - 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 - - 2. target1 join group and create UDP socket using multicast addr - - 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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^WIFI_CONN_0301 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -t -h - 0 -m 8 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC1 ap -Q - - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,3,0,8,\d+"%%(,)'] - comment: '' - execution time: 0.0 - expected result: '1. target1 set AP - - 2.target 1上查询到跟设置AP时一致' - initial condition: APSTA1 - initial condition description (auto): testing ap on sta + ap mode (autogen by APM1) - module: WIFI MAC - steps: '1. target1 set AP - - 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. - - PC has 1 WiFi NIC. - - 1 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: query AP config - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_UDP_0114 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -I - - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(,)'] - 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 - - 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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_UDP_0111 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -t - - ['R SSC1 C +SAP:OK'] - - - WIFI CONN - - - ['R PC_COM NC ERROR C +WIFICONN:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC2 ip - - ['R SSC2 A :STAIP:(.+)\r\n'] - - - SSC SSC2 soc -B -t UDP -p - - ['R SSC2 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SOC SOC1 SENDTO 5 - - ['R SSC1 RE "RECVFROM:%%s,5,%%s,%%u"%%(,,)'] - - - SSC SSC2 soc -S -s -i -p -l 5 - - ['R SSC1 RE "RECVFROM:%%s,5,%%s,%%u"%%(,,)'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.OK - - 3.OK - - 4.OK - - 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 - - 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 - - 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 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_UDP_0110 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -l 1 - - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1] - - - SSC SSC1 soc -S -s -i -p -l 1472 - - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472] - - - SSC SSC1 soc -S -s -i -p -l 1473 - - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM] - - - SSC SSC1 soc -S -s -i -p -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 - - 4.OK - - 5.OK,没收到UDP包 - - 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 - - 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: use UDP SAP (socket/espconn API) with different parameter - version: v1 (2016-8-15) -- CI ready: 'Yes' - 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 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 RE BIND:(\d+),OK'] - - - SSC SSC1 soc -B -t UDP -p - - ['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: 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 - - 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 - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_UDP_0112 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -T -s - - ['R SSC1 RE CLOSE:\d+'] - 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 - - 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: use UDP SAP (socket/espconn API) with different parameter - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: WIFI_CONN_0501 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC2 sta -R -r 1 - - ['R SSC2 C +RECONN:OK'] - - - SSC SSC1 ap -S -s -p -t - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] - - - 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.设置reconn,开启(此功能不需要重启系统) - - 2.target1 set AP - - 3.target2 JAP target1 成功 - - 4.target2 断开target1 连接 - - 5.等待10s,target2 自动重连target1 - - 6.成功 - - 7.查询reconn状态,关闭 - - 8.修改mode 成功 - - 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. - - PC has 1 WiFi NIC. - - 2 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: reconnect policy test - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: WIFI_CONN_0502 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -t - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['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'] - 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 - - 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.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: abnormal/special use - test point 2: reconnect policy 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' - 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状态是否关闭 - - 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. - - 1 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: power on auto reconnect test - version: v1 (2016-8-15) -- CI ready: 'Yes' - 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 ap -S -s -p -t - - ['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 -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] - - - SSC SSC2 sta -S - - [R SSC2 NP 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 加密方式 - - 2.修改target1的mode 为sta mode - - 3.target1的dhcp打开 - - 4.target1连接AP - - 5.target2查询target_ssid - - 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. - - PC has 1 WiFi NIC. - - 2 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: wifi mode fucntion - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: WIFI_MODE_0103 - SDK: '8266_NonOS - - 8266_RTOS - - 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 ap -S -s -p -t - - ['R SSC1 C +SAP:OK'] - - - SSC SSC1 dhcp -S -o 1 - - ['R SSC1 C +DHCP:STA,OK'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] - - - SSC SSC2 sta -S - - [R SSC2 P , R SSC2 C +SCANDONE] - comment: '' - execution time: 0.0 - expected result: '1.target1 change to AP mode - - 2.target1 set AP - - 3.target 1 的dhcp 打开 - - 4.target 1 成功连接上AP - - 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 - - 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. - - 2 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: wifi mode fucntion - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: WIFI_MODE_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 -p -t - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -S - - [R SSC2 P , R SSC2 C +SCANDONE] - - - SSC SSC1 sta -C -s -p - - ['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 2 上查询到target_ssid - - 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 - module: WIFI MAC - steps: '1.target1下设置ssid 和pwd 加密方式 - - 2.target 2 上查询target_ssid - - 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. - - 2 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: wifi mode fucntion - version: v1 (2016-8-15) -- CI ready: 'Yes' - 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 ap -S -s -p -t 3 -m 1 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p 1234567890 - - ['R SSC2 RE JAP:DISCONNECTED,\d+,204'] - - - SSC SSC2 sta -D - - ['R SSC2 C +QAP:OK'] - - - WIFI CONN - - ['R PC_COM NC ERROR C +WIFICONN:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 RE JAP:DISCONNECTED,\d+,5'] - - - WIFI DISCONN - - [P PC_COM C OK, 'R SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 ap -S -s -p -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 - - 2. disconnect event REASON_HANDSHAKE_TIMEOUT - - 3. succeed - - 4. succeed - - 5. disconnect event REASON_ASSOC_TOOMANY - - 6. succeed, target2 connect succeed - - 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) - module: WIFI MAC - steps: '1. config target1 softap max sta allowed 1 - - 2. target2 connect to target1 with wrong password - - 3. target2 disconnect - - 4. PC WIFI NIC connect to target1 - - 5. target2 connect to target1 with correct password - - 6. PC WIFI NIC disconnect - - 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. - - 2 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 -p - - ['R SSC1 C +JAP:CONNECTED'] - - - APC OFF - - [P PC_COM L OK, 'R SSC1 RE JAP:DISCONNECTED,\d+,200'] - - - APC ON - - [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." - test point 1: basic function - test point 2: wifi disconnect reason 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 -p - - ['R SSC1 C +JAP:CONNECTED'] - - - SSC SSC1 sta -D - - ['R SSC1 RE JAP:DISCONNECTED,\d+,8'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 RE JAP:DISCONNECTED,\d+,15'] - - - SSC SSC1 sta -C -s -p - - ['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) - 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: ^TCPIP_TCP_0201 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [SOCR SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,OK'] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s -h B - - ['P SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - - - SSC SSC1 soc -T - - [R SSC1 C +CLOSEALL] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - comment: '' - execution time: 0.0 - expected result: '1.ok - - 2.OK - - 3.ERROR - - 4.OK - - 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) - module: TCPIP - steps: '1.PC上建立TCP 监听 test_tcp_port1 - - 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0, - - 3.target1上使用步骤2创建的socket,去连接 PC的ip, - - 4.target1上创建TCP socket - - 5.target1上使用步骤4创建的socket,创建TCP 监听 - - 6.target1上使用步骤4创建的socket,去连接 PC的ip, - - 7.target1上创建TCP socket - - 8.target1上使用步骤7创建的socket,去连接 PC的ip, - - 9.target1上关闭步骤7创建的socket - - 10.target1上使用步骤7创建的socket,去连接 PC的ip, - - 11.target1上关闭所有创建的socket - - 12.target1上使用步骤2创建的socket,去连接 PC的ip,' - 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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_TCP_0206 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP -i - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -B -t TCP -i - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s - - ['R SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -B -t TCP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,OK'] - - - SOC SOC2 CONNECT - - ['R SSC1 A :ACCEPT:(\d+),\d+,.+,\d+'] - - - SSC SSC1 soc -I - - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(,,,)', - 'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%()', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(,)', - 'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\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 - - 8.OK - - 9.PC OK, target1 +ACCEPT:3,2,,port - - 10.+SOCINFO:,,, - - +SOCINFO:,,, - - +SOCINFO:, - - +SOCINFO:,,, - - +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,\ - \ ,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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_TCP_0207 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [SOCR SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,OK'] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s -h B - - ['P SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - - - SSC SSC1 soc -T - - [R SSC1 C +CLOSEALL] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - comment: '' - execution time: 0.0 - expected result: '1.ok - - 2 OK - - 3.ERROR - - 4.OK - - 5.OK - - 6.ERROR - - 7.OK - - 8.OK - - 9.OK - - 10.OK - - 11.OK - - 12.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 - - 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0, - - 3.target1上使用步骤2创建的socket,去连接 PC的ip, - - 4.target1上创建TCP socket - - 5.target1上使用步骤4创建的socket,创建TCP 监听 - - 6.target1上使用步骤4创建的socket,去连接 PC的ip, - - 7.target1上创建TCP socket - - 8.target1上使用步骤7创建的socket,去连接 PC的ip, - - 9.target1上关闭步骤7创建的socket - - 10.target1上使用步骤7创建的socket,去连接 PC的ip, - - 11.target1上关闭所有创建的socket - - 12.target1上使用步骤2创建的socket,去连接 PC的ip,' - 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. - - 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 - 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) - 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. - - 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_DNS_0103 - 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 A :\+HOSTIP:OK,(.+)\r\n'] - - - SSC SSC1 soc -B -t UDP - - ['R SSC1 A :\+BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p 9003 -l 10 - - ['P SSC1 RE \+SEND:\d+,OK', P SSC1 SL +10] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.OK - - 3.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. get host name "espressif.cn" - - 2. sendto, recvfrom1. get host name "espressif.cn" - - 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. - - 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_DNS_0102 - 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 A :\+HOSTIP:OK,(.+)\r\n'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :\+BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p 9001 - - ['R SSC1 RE \+CONNECT:\d+,OK'] - - - SSC SSC1 soc -S -s -l 10 - - ['P SSC1 RE \+SEND:\d+,OK', P SSC1 SL +10] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.OK - - 3.OK - - 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. get host name "espressif.cn" - - 2. connect, send, recv1. get host name "espressif.cn" - - 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: DNS function test - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_TCP_0106 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - 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 - 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 - 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_0107 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 soc -B -t TCP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,OK'] - - - SOC SOC2 CONNECT - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - - - SOC SOC3 CONNECT - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - - - SOC SOC4 CONNECT - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - - - SOC SOC5 CONNECT - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - - - SOC SOC6 CONNECT - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - 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成功 - - 6.OK,pc tcp server accept成功 - - 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,\ - \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT, ,tcp 连接创建成功,创建socket3\ - \ \n5.PC CONNECT, ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT,\ - \ ,tcp 连接创建成功,创建socket5 \n7.PC CONNECT, ,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: 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_0104 SDK: '8266_NonOS @@ -9105,6 +2083,7 @@ test cases: 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 @@ -9213,6 +2192,7 @@ test cases: 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,\ @@ -9232,7 +2212,7704 @@ test cases: test point 2: use TCP SAP (socket/espconn API) with different parameter version: v1 (2016-8-15) - CI ready: 'Yes' - ID: TCPIP_TCP_0102 + ID: TCPIP_TCP_0106 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + 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 + 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 + 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_0107 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 soc -B -t TCP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,OK'] + - - SOC SOC2 CONNECT + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] + - - SOC SOC3 CONNECT + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] + - - SOC SOC4 CONNECT + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] + - - SOC SOC5 CONNECT + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] + - - SOC SOC6 CONNECT + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] + 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成功 + + 6.OK,pc tcp server accept成功 + + 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,\ + \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT, ,tcp 连接创建成功,创建socket3\ + \ \n5.PC CONNECT, ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT,\ + \ ,tcp 连接创建成功,创建socket5 \n7.PC CONNECT, ,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: 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_0110 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [SOCR SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0 + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['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 :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i 123.456.678.789 -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 3.OK; PC TCP server accept 成功 + + 4.OK + + 5.ERROR + + 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.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: 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_0111 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 soc -B -t TCP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,OK'] + - - SOC SOC1 CONNECT 0 + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK] + - - SOC SOC1 CONNECT 0 + - [P SOC_COM C ERROR, P SSC1 NC ACCEPT] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 3.PC TCP client accept + + 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到本地端口 + + 2.target1上使用步骤1创建的socket,创建TCP 监听 + + 3.PC TCP 连接到target1 , + + 4.PC tcp 连接到不存在的port ,' + 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: 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_0112 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SOC SOC1 ACCEPT SOC2 + - [R SOC_COM L OK] + - - SOC SOC2 SEND 5 + - [R SSC1 SL +5] + - - SSC SSC1 soc -S -s -l 5 + - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 5] + - - SOC SOC2 SEND 146000 + - [R SSC1 SL +146000] + - - SSC SSC1 soc -S -s -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成功 + + 4.OK + + 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. 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: 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_0113 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s -h B + - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s -h W + - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s -h R + - ['R SSC1 RE SHUTDOWN:\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,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. 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: 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: 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_0114 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -T -s + - ['R SSC1 RE CLOSE:\d+,OK'] + - - SSC SSC1 soc -B -t TCP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,OK'] + - - SOC SOC2 CONNECT 0 + - ['R SSC1 A :ACCEPT:(\d+),\d+,.+,\d+'] + - - SSC SSC1 soc -T -s + - ['R SSC1 RE CLOSE:\d+,OK'] + - - SSC SSC1 soc -T -s + - ['R SSC1 RE CLOSE:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -T -s + - ['R SSC1 RE CLOSE:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s + - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -T -s + - ['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 + 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,\ + \ ,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_0115 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + 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: 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,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: 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. + + 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 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 soc -B -t TCP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,OK'] + - - SOC SOC2 CONNECT 0 + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] + - - SOC SOC3 CONNECT 0 + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] + - - SOC SOC4 CONNECT 0 + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] + - - SOC SOC5 CONNECT 0 + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] + - - SOC SOC6 CONNECT 0 + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] + 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成功 + + 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,\ + \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT, ,tcp 连接创建成功,创建socket3\ + \ \n5.PC CONNECT, ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT,\ + \ ,tcp 连接创建成功,创建socket5 \n7.PC CONNECT, ,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. + + 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_0201 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [SOCR SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,OK'] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s -h B + - ['P SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + - - SSC SSC1 soc -T + - [R SSC1 C +CLOSEALL] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + comment: '' + execution time: 0.0 + expected result: '1.ok + + 2.OK + + 3.ERROR + + 4.OK + + 5.OK + + 6.ERROR + + 7.OK + + 8.OK + + 9.OK + + 10.OK + + 11.OK + + 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 + + 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0, + + 3.target1上使用步骤2创建的socket,去连接 PC的ip, + + 4.target1上创建TCP socket + + 5.target1上使用步骤4创建的socket,创建TCP 监听 + + 6.target1上使用步骤4创建的socket,去连接 PC的ip, + + 7.target1上创建TCP socket + + 8.target1上使用步骤7创建的socket,去连接 PC的ip, + + 9.target1上关闭步骤7创建的socket + + 10.target1上使用步骤7创建的socket,去连接 PC的ip, + + 11.target1上关闭所有创建的socket + + 12.target1上使用步骤2创建的socket,去连接 PC的ip,' + 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. + + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_TCP_0202 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,ERROR'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,ERROR'] + - - SSC SSC1 soc -D -s + - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -L -s + - ['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.ERROR + + 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 + level: Integration + module: TCPIP + steps: '1.PC上建立TCP 监听 test_tcp_port1 + + 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0, + + 3.target1上使用步骤2创建的socket,去建立TCP 监听 + + 4.target1上创建TCP socket + + 5.target1上使用步骤4创建的socket,去连接 PC的ip, + + 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: use TCP SAP (socket/espconn API) in different state + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_TCP_0203 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s + - ['R SSC1 RE SEND:\d+,ERROR'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s + - ['R SSC1 RE SEND:\d+,ERROR'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s + - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -S -s + - ['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.OK + + 2.OK + + 3.ERROR + + 4.OK + + 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.PC上建立TCP 监听 test_tcp_port1 + + 2.target1上创建UDP传输socket1, + + 3.target1上使用步骤2创建的socket1,去发送数据 + + 4.target1上创建TCP socket2 + + 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. + + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_TCP_0204 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SOC SOC1 ACCEPT SOC2 + - [R SOC_COM L OK] + - - SSC SSC1 soc -W -s -o 0 + - ['R SSC1 RE WORKTHREAD:\d+,OK'] + - - SOC SOC2 SEND 146000 + - [P SOC_COM R *] + - - SSC SSC1 soc -W -s -o 1 + - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL +2920] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 3.OK,pc server accept OK + + 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. PC上建立TCP 监听 test_tcp_port1 + + 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 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. + + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_TCP_0206 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP -i + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -B -t TCP -i + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s + - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -B -t TCP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,OK'] + - - SOC SOC2 CONNECT + - ['R SSC1 A :ACCEPT:(\d+),\d+,.+,\d+'] + - - SSC SSC1 soc -I + - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(,,,)', + 'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%()', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(,)', + 'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\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 + + 8.OK + + 9.PC OK, target1 +ACCEPT:3,2,,port + + 10.+SOCINFO:,,, + + +SOCINFO:,,, + + +SOCINFO:, + + +SOCINFO:,,, + + +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,\ + \ ,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. + + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_TCP_0207 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [SOCR SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,OK'] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s -h B + - ['P SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + - - SSC SSC1 soc -T + - [R SSC1 C +CLOSEALL] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + comment: '' + execution time: 0.0 + expected result: '1.ok + + 2 OK + + 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, + + 3.target1上使用步骤2创建的socket,去连接 PC的ip, + + 4.target1上创建TCP socket + + 5.target1上使用步骤4创建的socket,创建TCP 监听 + + 6.target1上使用步骤4创建的socket,去连接 PC的ip, + + 7.target1上创建TCP socket + + 8.target1上使用步骤7创建的socket,去连接 PC的ip, + + 9.target1上关闭步骤7创建的socket + + 10.target1上使用步骤7创建的socket,去连接 PC的ip, + + 11.target1上关闭所有创建的socket + + 12.target1上使用步骤2创建的socket,去连接 PC的ip,' + 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. + + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_TCP_0208 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,ERROR'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,ERROR'] + - - SSC SSC1 soc -D -s + - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -L -s + - ['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.ERROR + + 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 + level: Integration + module: TCPIP + steps: '1.PC上建立TCP 监听 test_tcp_port1 + + 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0, + + 3.target1上使用步骤2创建的socket,去建立TCP 监听 + + 4.target1上创建TCP socket + + 5.target1上使用步骤4创建的socket,去连接 PC的ip, + + 6.target1上使用步骤4创建的socket,创建TCP 监听 + + 7.target1上shutdown 步骤4的socket + + 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: basic function + test point 2: use TCP SAP (socket/espconn API) in different state + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_TCP_0210 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SOC SOC1 ACCEPT SOC2 + - [R SOC_COM L OK] + - - SSC SSC1 soc -W -s -o 0 + - ['R SSC1 RE WORKTHREAD:\d+,OK'] + - - SOC SOC2 SEND 146000 + - [P SOC_COM R *] + - - SSC SSC1 soc -W -s -o 1 + - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL +2920] + 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 + 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.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. + + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_TCP_0212 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP -i + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -B -t TCP -i + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s + - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -B -t TCP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,OK'] + - - SOC SOC2 CONNECT 0 + - ['R SSC1 A :ACCEPT:(\d+),\d+,.+,\d+'] + - - SSC SSC1 soc -I + - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(,,,)', + 'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%()', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(,)', + 'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\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 + + 8.OK + + 9.PC OK, target1 +ACCEPT:3,2,,port + + 10.+SOCINFO:,,, + + +SOCINFO:,,, + + +SOCINFO:, + + +SOCINFO:,,, + + +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.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,\ + \ ,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. + + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_TCP_0401 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['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 -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 成功 + + 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.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 连接 + + 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. + + 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_0402 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['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 + - ['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' + 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 连接 + + 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: abnormal/special use + test point 2: TCP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_TCP_0403 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['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 -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 成功 + + 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.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: abnormal/special use + test point 2: TCP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_TCP_0404 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['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 + - ['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' + 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 + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_TCP_0405 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SOC SOC1 ACCEPT SOC2 + - [R SOC_COM L OK] + - - NIC DISABLED + - [R PC_COM C OK] + - - SSC SSC1 soc -S -s -l 1 + - [''] + - - DELAY 5400 + - ['P SSC1 RE CLOSED:\d+,0'] + comment: '' + execution time: 1.5 + expected result: '1.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.PC上建立TCP 监听 test_tcp_port1 + + 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: abnormal/special use + test point 2: TCP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_TCP_0406 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SOC SOC1 ACCEPT SOC2 + - [R SOC_COM L OK] + - - NIC DISABLED + - [R PC_COM C OK] + - - SSC SSC1 soc -T -s + - ['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' + 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 + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_TCP_0407 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['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 -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 成功 + + 4.OK + + 5.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上建立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: abnormal/special use + test point 2: TCP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_TCP_0408 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['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 + - ['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 + + 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.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: abnormal/special use + test point 2: TCP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_TCP_0411 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SOC SOC1 ACCEPT SOC2 + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -l 5 + - ['P SSC1 RE SEND:\d+,ERROR'] + - - SSC SSC1 soc -S -s -l 5 + - ['P SSC1 RE SEND:\d+,OK'] + 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 + 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字节数据 + + 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. + + 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_0412 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SOC SOC1 ACCEPT SOC2 + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -T -s + - ['R SSC1 RE CLOSE:\d+,OK'] + - - SSC SSC1 soc -T -s + - ['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 + 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.关闭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: abnormal/special use + test point 2: TCP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_UDP_0101 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 C BIND:ERROR'] + - - SSC SSC1 soc -B -t TCP -p + - ['R SSC1 RE BIND:(\d+),OK'] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 3.ERROR + + 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.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 + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_UDP_0102 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SOC SOC2 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -l 10 + - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 10] + - - SSC SSC1 soc -S -s -i -p -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: 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 + + 2.PC上SOC2 UDP传输,bing + + 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 + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_UDP_0103 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -l 1 + - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1] + - - SSC SSC1 soc -S -s -i -p -l 1472 + - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472] + - - SSC SSC1 soc -S -s -i -p -l 1473 + - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM] + - - SSC SSC1 soc -S -s -i -p -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 + + 4.OK + + 5.OK,没有到UDP包 + + 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 + + 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: 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_0104 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SOC SOC1 SENDTO 1 + - [R SSC1 SL +1] + - - SOC SOC1 SENDTO 1472 + - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(,,)'] + - - SOC SOC1 SENDTO 1473 + - [P SSC1 NC +RECVFROM, P SOC_COM C OK] + - - SOC SOC2 BIND + - [R SOC_COM L OK] + - - SOC SOC2 SENDTO 1472 + - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(,,)'] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 3.OK + + 4.OK + + 5.OK,没收到UDP包 + + 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上SOC1 UDP传输,bing + + 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 + + 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: 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_0105 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -T -s + - ['R SSC1 RE CLOSE:\d+'] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 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.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: 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 App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['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: 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 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: 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: 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_0107 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -I + - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(,)'] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 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.target1上UDP传输,Bind socket1,本地ip target_udp_port1 + + 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: 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_0108 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 C BIND:ERROR'] + - - SSC SSC1 soc -B -t TCP -p + - ['R SSC1 RE BIND:(\d+),OK'] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 3.ERROR + + 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.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 + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_UDP_0109 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN + + - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC2 ip + - ['R SSC2 A :STAIP:(.+)\r\n'] + - - SSC SSC2 soc -B -t UDP -p + - ['R SSC2 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -l 5 + - [R SOC1 UL 5] + - - SSC SSC1 soc -S -s -i -p -l 5 + - ['R SSC2 RE "RECVFROM:%%s,5,%%s,%%u"%%(,,)'] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 3.OK + + 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 + level: Integration + module: TCPIP + steps: '1.PC上SOC1 UDP传输,bing + + 2.PC上SOC2 UDP传输,bing + + 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. + + 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_0110 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -l 1 + - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1] + - - SSC SSC1 soc -S -s -i -p -l 1472 + - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472] + - - SSC SSC1 soc -S -s -i -p -l 1473 + - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM] + - - SSC SSC1 soc -S -s -i -p -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 + + 4.OK + + 5.OK,没收到UDP包 + + 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上SOC1 UDP传输,bing + + 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: use UDP SAP (socket/espconn API) with different parameter + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_UDP_0111 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN + + - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC2 ip + - ['R SSC2 A :STAIP:(.+)\r\n'] + - - SSC SSC2 soc -B -t UDP -p + - ['R SSC2 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SOC SOC1 SENDTO 5 + - ['R SSC1 RE "RECVFROM:%%s,5,%%s,%%u"%%(,,)'] + - - SSC SSC2 soc -S -s -i -p -l 5 + - ['R SSC1 RE "RECVFROM:%%s,5,%%s,%%u"%%(,,)'] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 3.OK + + 4.OK + + 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 + level: Integration + module: TCPIP + steps: '1.PC上SOC1 UDP传输,bing + + 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 + + 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 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_UDP_0112 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -T -s + - ['R SSC1 RE CLOSE:\d+'] + 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 + 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: use UDP SAP (socket/espconn API) with different parameter + version: v1 (2016-8-15) +- CI ready: 'Yes' + 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 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['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: 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 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 + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_UDP_0114 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -I + - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(,)'] + 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 + level: Integration + module: TCPIP + steps: '1.target1上UDP传输,Bind socket1,本地ip target_udp_port1 + + 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. + + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_UDP_0201 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -W -s -o 0 + - ['R SSC1 RE WORKTHREAD:\d+,OK'] + - - SOC SOC1 SENDTO 1472 + - [''] + - - SOC SOC1 SENDTO 1472 + - [''] + - - SOC SOC1 SENDTO 1472 + - [''] + - - SOC SOC1 SENDTO 1472 + - [''] + - - SOC SOC1 SENDTO 1472 + - [''] + 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: 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 + + 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: TCPIP_UDP_0202 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -W -s -o 0 + - ['R SSC1 RE WORKTHREAD:\d+,OK'] + - - SOC SOC1 SENDTO 1472 + - [''] + - - SOC SOC1 SENDTO 1472 + - [''] + - - SOC SOC1 SENDTO 1472 + - [''] + - - SOC SOC1 SENDTO 1472 + - [''] + - - SOC SOC1 SENDTO 1472 + - [''] + 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: 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 + + 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. + + 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_UDP_0301 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -i -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -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 -i -p -l 5 + - ['P SSC1 RE SEND:\d+,ERROR'] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 3.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 + level: Integration + module: TCPIP + steps: '1.PC上SOC1 UDP传输,bing + + 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: TCPIP_UDP_0302 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -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 + - ['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 + level: Integration + module: TCPIP + steps: '1.PC上SOC1 UDP传输,bing + + 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: TCPIP_UDP_0303 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -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 -i -p -l 5 + - ['P SSC1 RE SEND:(\d+),OK'] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 3.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 + level: Integration + module: TCPIP + steps: "1.PC上SOC1 UDP传输,bing \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_0304 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -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 + - ['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 + level: Integration + module: TCPIP + steps: "1.PC上SOC1 UDP传输,bing \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: abnormal/special use + test point 2: UDP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_UDP_0305 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -l 5 + - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5] + - - NIC DISABLED + - [R PC_COM C OK] + - - SSC SSC1 soc -T -s + - ['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 + level: Integration + module: TCPIP + steps: "1.PC上SOC1 UDP传输,bing \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: abnormal/special use + test point 2: UDP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_UDP_0306 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -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 -i -p -l 1 + - ['P SSC1 RE SEND:\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 + level: Integration + module: TCPIP + steps: "1.PC上SOC1 UDP传输,bing \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: abnormal/special use + test point 2: UDP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: TCPIP_UDP_0307 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -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 + - ['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 + level: Integration + module: TCPIP + steps: "1.PC上SOC1 UDP传输,bing \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: abnormal/special use + test point 2: UDP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: WIFI_ADDR_0101 + SDK: '8266_NonOS + + 8266_RTOS + + 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 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 + - ['R SSC1 C +MAC:STA,OK'] + - - SSC SSC1 mac -S -o 2 -m + - ['R SSC1 C +MAC:AP,OK'] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.ok + + 3.ok + + 4.ok + + 5.ok + + 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. + + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: WIFI_ADDR_0102 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + 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 -p -t + - [''] + - - 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC2 mac -Q -o 1 + - ['R SSC2 A :\+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 -p + - ['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 + - ['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 + + 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: mac address function test + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: WIFI_CONN_0101 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -t 0 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SSC SSC1 ap -S -s -p -t 2 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SSC SSC1 ap -S -s -p -t 4 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SSC SSC1 ap -S -s -p -t 1 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -S + - ['R SSC2 RE "\+SCAN:%%s,.+,0,\d+"%%()'] + - - SSC SSC1 ap -S -s -p -t 5 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -S + - ['R SSC2 RE "\+SCAN:%%s,.+,0,\d+"%%()'] + 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_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. + + 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_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 -t 0 -n 1 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SSC SSC1 ap -S -s -t 0 -n 13 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SSC SSC1 ap -S -s -n 15 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -S + - ['R SSC2 RE "\+SCAN:%%s,.+,\d+,1"%%()'] + 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 + level: Integration + 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 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t -h + 0 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -S -h 0 + - [R SSC2 P , R SSC2 C +SCANDONE] + - - SSC SSC1 ap -S -s -p -t -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 C +SCANDONE] + comment: '' + execution time: 0.0 + expected result: '1.target1 set AP,set ssid broad cast + + 2.target 2上scan target_ap_mac + + 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 + level: Integration + module: WIFI MAC + steps: '1. target1下设置ssid 和pwd 加密方式,set ssid broad cast + + 2.target 2上scan target_ap_mac + + 3. target1下设置ssid 和pwd 加密方式,set ssid hidden, + + 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. + + 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_0104 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t -m + 1 + - ['R SSC1 C +SAP:OK'] + - - WIFI DISCONN + - ['R PC_COM C +WIFIDISCONN:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] + - - WIFI CONN + + - ['R PC_COM C +WIFICONN:ERROR'] + comment: '' + execution time: 0.0 + expected result: '1. target1 set AP,set max allowed sta as 1 + + 2. use PC disconnect, + + 3.target 2 jap succeed + + 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 + + 2.use PC disconnect target1 + + 3.target 2 jap target1 + + 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. + + 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_0201 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SSC SSC1 sta -Q + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + - - 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.target1 jion AP 成功 + + 2.查询JAP的状态 + + 3.target1 断开AP + + 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 成功 + + 2.查询JAP的状态 + + 3.target1 断开AP + + 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. + + PC has 1 WiFi NIC. + + 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 + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t -h + 0 -m 8 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC1 ap -Q + - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,3,0,8,\d+"%%(,)'] + comment: '' + execution time: 0.0 + expected result: '1. target1 set AP + + 2.target 1上查询到跟设置AP时一致 + + ' + 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 + + 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. + + PC has 1 WiFi NIC. + + 1 SSC target connect with PC by UART.' + test point 1: basic function + test point 2: query AP config + 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' + 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,关闭 + + 2.查询当前autoreconn状态是否关闭 + + 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. + + 1 SSC target connect with PC by UART.' + test point 1: basic function + test point 2: power on auto reconnect test + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: WIFI_CONN_0501 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC2 sta -R -r 1 + - ['R SSC2 C +RECONN:OK'] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] + - - 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.设置reconn,开启(此功能不需要重启系统) + + 2.target1 set AP + + 3.target2 JAP target1 成功 + + 4.target2 断开target1 连接 + + 5.等待10s,target2 自动重连target1 + + 6.成功 + + 7.查询reconn状态,关闭 + + 8.修改mode 成功 + + 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. + + PC has 1 WiFi NIC. + + 2 SSC target connect with PC by UART.' + test point 1: basic function + test point 2: reconnect policy test + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: WIFI_CONN_0502 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['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'] + 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 + + 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下设置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: abnormal/special use + test point 2: reconnect policy test + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: WIFI_CONN_0601 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN + + - ['R PC_COM C +WIFICONN:OK'] + - - SSC SSC2 sta -C -s -p + - ['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 + + 2.PC WIFI CONNECTED + + 3.target2 jap target 1 + + 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下设置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. + + PC has 1 WiFi NIC. + + 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 -p -t 0 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 ap -S -s -p -t 2 + - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,2,0'] + - - SSC SSC1 ap -S -s -p -t 3 + - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,3,2'] + - - SSC SSC1 ap -S -s -p -t 4 + - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,4,3'] + - - SSC SSC1 ap -S -s -p -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_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 + + 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: 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. + + 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: 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 -p + - ['R SSC1 C +JAP:CONNECTED'] + - - SSC SSC1 sta -D + - ['R SSC1 RE JAP:DISCONNECTED,\d+,8'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE JAP:DISCONNECTED,\d+,15'] + - - SSC SSC1 sta -C -s -p + - ['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: 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 + + 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 -p + - ['R SSC1 C +JAP:CONNECTED'] + - - APC OFF + - [P PC_COM L OK, 'R SSC1 RE JAP:DISCONNECTED,\d+,200'] + - - APC ON + - [P PC_COM L OK] + comment: '' + execution time: 0.0 + expected result: '1. succeed + + 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. 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: WIFI_CONN_0903 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 sta -C -s -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. + + 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 + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t 3 -m 1 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p 1234567890 + - ['R SSC2 RE JAP:DISCONNECTED,\d+,204'] + - - SSC SSC2 sta -D + - ['R SSC2 C +QAP:OK'] + - - WIFI CONN + - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 RE JAP:DISCONNECTED,\d+,5'] + - - WIFI DISCONN + - [P PC_COM C OK, 'R SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 ap -S -s -p -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 + + 2. disconnect event REASON_HANDSHAKE_TIMEOUT + + 3. succeed + + 4. succeed + + 5. disconnect event REASON_ASSOC_TOOMANY + + 6. succeed, target2 connect succeed + + 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 + + 2. target2 connect to target1 with wrong password + + 3. target2 disconnect + + 4. PC WIFI NIC connect to target1 + + 5. target2 connect to target1 with correct password + + 6. PC WIFI NIC disconnect + + 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. + + 2 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_MODE_0101 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t + - ['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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SSC SSC2 sta -S + - [R SSC2 NP 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 + level: Integration + module: WIFI MAC + steps: '1.target1下设置ssid 和pwd 加密方式 + + 2.修改target1的mode 为sta mode + + 3.target1的dhcp打开 + + 4.target1连接AP + + 5.target2查询target_ssid + + 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. + + PC has 1 WiFi NIC. + + 2 SSC target connect with PC by UART.' + test point 1: basic function + test point 2: wifi mode fucntion + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: WIFI_MODE_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 -p -t + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -S + - [R SSC2 P , R SSC2 C +SCANDONE] + - - SSC SSC1 sta -C -s -p + - ['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 2 上查询到target_ssid + + 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下设置ssid 和pwd 加密方式 + + 2.target 2 上查询target_ssid + + 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. + + 2 SSC target connect with PC by UART.' + test point 1: basic function + test point 2: wifi mode fucntion + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: WIFI_MODE_0103 + SDK: '8266_NonOS + + 8266_RTOS + + 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 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - SSC SSC1 dhcp -S -o 1 + - ['R SSC1 C +DHCP:STA,OK'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SSC SSC2 sta -S + - [R SSC2 P , R SSC2 C +SCANDONE] + comment: '' + execution time: 0.0 + expected result: '1.target1 change to AP mode + + 2.target1 set AP + + 3.target 1 的dhcp 打开 + + 4.target 1 成功连接上AP + + 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 + + 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. + + 2 SSC target connect with PC by UART.' + test point 1: basic function + test point 2: wifi mode fucntion + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: WIFI_PHY_0401 + 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 phy -S -o 1 -m n -b 20 + - ['R SSC2 C +PHY:OK'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 C +JAP:CONNECTED'] + - - SSC SSC2 sta -C -s -p + - [''] + - - 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) + level: Integration + module: WIFI MAC + steps: '1. SoftAP 11n ht20, in channel1, ext AP 11n ht20, in channel2 + + 2. STA connect to ext 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 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: STA+SoftAP initial channel test + version: v1 (2015-8-15) +- CI ready: 'Yes' + ID: WIFI_PHY_0402 + 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 phy -S -o 1 -m n -b 20 + - ['R SSC2 C +PHY:OK'] + - - SSC SSC2 sta -C -s -p + - ['P SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 sta -C -s -p + - [''] + - - 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) + level: Integration + module: WIFI MAC + steps: '1. SoftAP 11n ht20, in channel1, ext AP 11n ht20, in channel2 + + 2. AP get connected + + 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. + + 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: STA+SoftAP initial channel test + version: v1 (2015-8-15) +- CI ready: 'Yes' + ID: WIFI_PHY_0403 + 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 phy -S -o 1 -m n -b 20 + - ['R SSC2 C +PHY:OK'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 C +JAP:CONNECTED'] + - - SSC SSC2 sta -C -s -p + - [''] + - - 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 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. STA connect to ext 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 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: 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 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 -p + - ['P SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 sta -C -s -p + - [''] + - - 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, 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 + + 2. AP get connected + + 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. + + 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: STA+SoftAP initial channel test + version: v1 (2015-8-15) +- CI ready: 'Yes' + ID: WIFI_PHY_0405 + 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 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 -p + - ['R SSC1 C +JAP:CONNECTED'] + - - SSC SSC2 sta -C -s -p + - [''] + - - 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 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. STA connect to ext AP + + 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. + + 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: STA+SoftAP initial channel test + version: v1 (2015-8-15) +- CI ready: 'Yes' + ID: WIFI_PHY_0406 + 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 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 -p + - ['P SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 sta -C -s -p + - [''] + - - 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 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 + + 2. AP get connected + + 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. + + 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: 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 -p + - ['R SSC1 C +JAP:CONNECTED'] + - - SSC SSC2 sta -C -s -p + - [''] + - - 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 + + 2. STA connect to ext AP + + 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. + + 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: STA+SoftAP initial channel test + version: v1 (2015-8-15) +- CI ready: 'Yes' + ID: WIFI_PHY_0408 + 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 SSC2 sta -C -s -p + - ['P SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 sta -C -s -p + - [''] + - - 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, 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) + level: Integration + module: WIFI MAC + steps: '1. SoftAP 11n ht40, in channel1, ext AP 11n ht20, in channel2 + + 2. AP get connected + + 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. + + 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: 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 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 -p + - ['R SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 C +JAP:CONNECTED'] + - - SSC SSC3 sta -C -s -p + - ['R SSC3 C +JAP:CONNECTED'] + - - SSC SSC2 sta -C -s -p + - [''] + - - 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' + level: Integration + module: WIFI MAC + steps: '1. target 1 STA and SoftAP set to 20M + + 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_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. + + 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 point 1: basic function + test point 2: STA+SoftAP dynamic channel switch test + version: v1 (2015-8-15) +- CI ready: 'Yes' + ID: WIFI_PHY_0502 + 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 -p + - ['R SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 C +JAP:CONNECTED'] + - - SSC SSC3 sta -C -s -p + - ['R SSC3 C +JAP:CONNECTED'] + - - SSC SSC2 sta -C -s -p + - [''] + - - 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 + + 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. 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 + + 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 (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2). + + 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_0503 + 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 -p + - ['R SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 C +JAP:CONNECTED'] + - - SSC SSC3 sta -C -s -p + - ['R SSC3 C +JAP:CONNECTED'] + - - SSC SSC2 sta -C -s -p + - [''] + - - 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' + 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_40 + + 3. target 1/3 STA connect to target 2/1 SoftAP + + 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 (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2). + + 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_0504 + 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 sta -C -s -p + - ['R SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 C +JAP:CONNECTED'] + - - SSC SSC3 sta -C -s -p + - ['R SSC3 C +JAP:CONNECTED'] + - - SSC SSC2 sta -C -s -p + - [''] + - - 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' + level: Integration + 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_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. + + 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 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 -p + - ['R SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 C +JAP:CONNECTED'] + - - SSC SSC3 sta -C -s -p + - ['R SSC3 C +JAP:CONNECTED'] + - - SSC SSC2 sta -C -s -p + - [''] + - - 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 + + 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. target 1 STA set to 40M ,SoftAP set to 20M + + 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_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 (HT20, channel1), (HT20, channel2), (HT40, channel1), (HT40, channel2). + + 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_0506 + 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 sta -C -s -p + - ['R SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 C +JAP:CONNECTED'] + - - SSC SSC3 sta -C -s -p + - ['R SSC3 C +JAP:CONNECTED'] + - - SSC SSC2 sta -C -s -p + - [''] + - - 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 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' + level: Integration + 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. + + 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 point 1: basic function + test point 2: STA+SoftAP dynamic channel switch test + version: v1 (2015-8-15) +- CI ready: 'Yes' + ID: WIFI_SCAN_0101 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC2 sta -S -s .,juhg123 + - ['R SSC2 NC +SCAN: C +SCANDONE'] + - - SSC SSC1 ap -S -s -p 123456789 -t 3 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -S -s + - ['R SSC2 C +SCAN:', R SSC2 P , 'R SSC2 NC +SCAN: C +SCANDONE'] + comment: '' + execution time: 0.0 + expected result: '1.target 2上不能scan .,juhg123 + + 2.target1 set AP + + 3.target2上查询到' + 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.target 2 scan .,juhg123 + + 2.target1下设置ssid 和pwd 加密方式 + + 3.target2 scan ' + 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. + + PC has 1 WiFi NIC. + + 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_0102 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + 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 + - ['R SSC2 RE "\+SCAN:.+,%%s"%%()', 'R SSC2 NC +SCAN: C +SCANDONE'] + comment: '' + execution time: 0.0 + expected result: '1.target2 上不能查询到此mac + + 2.target2上查询到' + 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 + + 2.target2上查询' + 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. + + 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_0103 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 sta -D + - ['R SSC1 C +QAP:'] + - - SSC SSC1 ap -S -s -p 123456789 -t 3 -n 6 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -S -n 5 + - [R SSC2 NP C +SCANDONE] + - - SSC SSC2 sta -S -n 6 + - ['R SSC2 C +SCAN:', R SSC2 P ] + comment: '' + execution time: 0.0 + expected result: '1.target1 QAP + + 2. target1 set AP,set channel 6 + + 3.target2 上scan不到 channel 5 + + 4.target2 上查询channel 6的' + 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 + + 2.target1下设置ssid 和pwd 加密方式,set channel 6 + + 3.target2 上scan channel 5 + + 4.target2 上查询channel 6的' + 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. + + 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 + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p 123456789 -t 3 -h 0 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -S -h 0 + - [R SSC2 P C +SCANDONE] + - - SSC SSC2 sta -S -h 1 + - [R SSC2 P C +SCANDONE] + - - SSC SSC1 ap -S -s -p 123456789 -h 1 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -S -h 0 + - [R SSC2 NP C +SCANDONE] + - - SSC SSC2 sta -S -h 1 + - [R SSC2 P C +SCANDONE] + comment: '' + execution time: 0.0 + expected result: '1.target1 set AP,set ssid broad cast + + 2.target 2上scan + + 3.target 2上scan + + 4.target1 set AP,set ssid hidden, + + 5.target 2上不能查询到 + + 6.target 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: WIFI MAC + steps: '1.target1下设置ssid 和pwd 加密方式,set ssid broad cast + + 2.target 2上scan + + 3.target 2上scan + + 4.target1下设置ssid 和pwd 加密方式,set ssid hidden, + + 5.target 2上查询 + + 6.target 2上查询' + 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. + + 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_0105 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 sta -D + - ['R SSC1 C +QAP:'] + - - SSC SSC1 ap -S -s -p 123456789 -t 3 -h 0 -n 11 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -S -s -b -n 11 + - [R SSC2 P C +SCANDONE] + - - SSC SSC2 sta -S -s -b -n 11 + - [R SSC2 NP C +SCANDONE] + - - SSC SSC2 sta -S -s -b ff:ff:ff:ff:ff:11 -n 11 + - [R SSC2 P , R SSC2 NP C +SCANDONE] + - - SSC SSC2 sta -S -s -b -n 10 + - [R SSC2 P , R SSC2 NP C +SCANDONE] + comment: '' + execution time: 0.0 + expected result: '1.target1 QAP + + 2. target1 set AP,set ssid broad cast,set channel 11 + + 3.target2 上查询到 + + 4.target2 上查询不到 + + 5.target2 上查询不到 + + 6.target2 上查询不到' + 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 + + 2. target1 set AP,set ssid broad cast,set channel 11 + + 3.target2 上查询到 + + 4.target2 上查询不到 + + 5.target2 上查询不到 + + 6.target2 上查询不到' + 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. + + 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_0201 + SDK: 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 P P P ] + - - SSC SSC1 phy -S -o 1 -m g + - ['R SSC1 C +PHY:OK'] + - - SSC SSC1 sta -S + - [R SSC1 P P P P ] + - - SSC SSC1 phy -S -o 1 -m n -b 20 + - ['R SSC1 C +PHY:OK'] + - - SSC SSC1 sta -S + - [R SSC1 P P P P ] + - - SSC SSC1 phy -S -o 1 -m n -b 40 + - ['R SSC1 C +PHY:OK'] + - - SSC SSC1 sta -S + - [R SSC1 P P P P ] + 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 + level: Integration + module: WIFI MAC + steps: '1. 3 ext APs in 11b, 11g, 11n mode + + 2. STA in 11b mode + + 3. do all channel scan + + 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: Scan in different mode and channel + version: v1 (2015-8-15) +- CI ready: 'Yes' + 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 + + 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 + + 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 -p + - ['R SSC1 C +JAP:CONNECTED'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -n 1000000 -j 5 + - [''] + - - SSC SSC2 phy -S -o 1 -m b + - ['R SSC2 C +PHY:OK'] + - - SSC SSC2 sta -S -n + - [R SSC2 P ] + - - SSC SSC2 phy -S -o 1 -m g + - ['R SSC2 C +PHY:OK'] + - - SSC SSC2 sta -S -n + - [R SSC2 P ] + - - SSC SSC2 phy -S -o 1 -m n -b 20 + - ['R SSC2 C +PHY:OK'] + - - SSC SSC2 sta -S -n + - [R SSC2 P ] + - - SSC SSC2 phy -S -o 1 -m n -b 40 + - ['R SSC2 C +PHY:OK'] + - - SSC SSC2 sta -S -n + - [R SSC2 P ] + 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) + level: Integration + module: WIFI MAC + steps: '1. target 1 connect to AP + + 2. target 1 start sending UDP packets + + 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. + + 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_0303 + SDK: ESP32_IDF + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 sta -C -s -p + - ['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 -p + - [P SSC1 C +SCANDONE, 'P SSC1 C +JAP:CONNECTED'] + comment: '' + execution time: 0.0 + expected result: '2. scan succeed, JAP succeed + + 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 + + 2. target 1 STA scan before JAP succeed + + 3. target 1 quite AP + + 4. target 1 scan + + 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. + + 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_0304 + SDK: ESP32_IDF + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC2 sta -C -s -p + - ['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 -p + - [P SSC1 C +SCANDONE, 'P SSC2 C +JAP:CONNECTED'] + comment: '' + execution time: 0.0 + expected result: '2. scan succeed, JAP succeed + + 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. target 1 STA scan before target 2 JAP succeed + + 3. target 2 STA QAP + + 4. target 1 STA scan + + 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. + + 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: ^TCPIP_DHCP_0101 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + 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 -p + - [''] + - - 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 -p + - ['R SSC1 C +JAP:CONNECTED'] + - - SSC SSC1 ip -Q + - ['R SSC1 RE "\+STAIP:%%s"%%()'] + 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) + 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. + + PC has 1 WiFi NIC. + + 1 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_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 -p -t + - ['R SSC1 C +SAP:OK'] + - - SSC SSC1 dhcp -E -o 2 + - ['R SSC1 C +DHCP:AP,OK'] + - - SSC SSC2 sta -C -s -p + - [''] + - - 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 -p + - ['R SSC2 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" + 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 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. + + 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 + + 8266_RTOS + + 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'] + 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) + level: Integration + module: TCPIP + steps: '1.target1 设置mode 为sta+softAP mode + + 2.target1 打开DHCP 3 + + 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. + + 1 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_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 + - ['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) + 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. + + 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_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 -p -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 -p + - ['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) + 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. + + 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_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 -p -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 -p + - ['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) + level: Integration + 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_0204 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -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 -p + - ['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 -p + - ['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 + + 5. succeed + + 6. succeed + + 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 + + 2. config DHCP timeout as 1 minute + + 3. target2 connect to target1 + + 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. + + 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_0205 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t 4 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['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 + + 2. succeed + + 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 + + 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. + + 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_0206 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -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 -p + - ['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 + + 4. get IP 192.168.4.2 - 192.168.4.4 + + 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) + level: Integration + module: TCPIP + steps: '1. config softap to a random ssid + + 2. disable DHCP server, do config and enable + + 3. target2 change mac, connect to softap, disconnect + + 4. Loop step3 twice + + 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. + + 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_0207 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -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 CONN 192.168.4.2 + - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 C +JAP:CONNECTED'] + - - WIFI 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 -p + - ['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: DHCP server function test + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_DHCP_0208 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t 4 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['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 CONN 192.168.4.2 + - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - SSC SSC1 ap -L + - [R SSC1 C 192.168.4.2 P ] + comment: '' + execution time: 0.0 + expected result: '1. succeed + + 2. succeed + + 3. succeed + + 4. get IP 192.168.4.2 + + 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. + + 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_0209 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t 4 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['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 CONN 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 P ] + comment: '' + execution time: 0.0 + expected result: '1. succeed + + 2. succeed + + 3. succeed + + 4. succeed + + 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 + + 2. target2 connect to target1 softap + + 3. disable DHCP server, do config and enable + + 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. + + 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_0210 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -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 -p + - ['R SSC2 C +JAP:CONNECTED'] + - - WIFI CONN2 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 P ] + comment: '' + execution time: 0.0 + expected result: '1. succeed + + 2. succeed + + 3. succeed + + 4. succeed + + 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 + + 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. + + 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_0211 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t 4 + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN 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 -p + - ['R SSC2 C +JAP:CONNECTED'] + - - DELAY 10 + - [''] + - - SSC SSC1 ap -L + - [R SSC1 C 192.168.4.2 C 192.168.4.3 P P ] + comment: '' + execution time: 0.0 + expected result: '1. succeed + + 2. succeed + + 3. succeed + + 4. succeed + + 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 + + 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 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. + + 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_0301 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + 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 -p + - ['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 -p + - [''] + - - DELAY 10 + - [P PC_COM C +DELAYDONE, 'P SSC1 NC +JAP:CONNECTED'] + comment: '' + execution time: 0.0 + 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.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: interaction + test point 2: static IP and DHCP interaction test + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_DHCP_0302 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + 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 -p -t + - [''] + - - SSC SSC2 sta -C -s -p + - ['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 -p + - [''] + - - DELAY 10 + - [P PC_COM C +DELAYDONE, 'P SSC2 NC +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) + 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" + 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: basic function + test point 2: DNS function test + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_DNS_0102 + 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 A :\+HOSTIP:OK,(.+)\r\n'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :\+BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p 9001 + - ['R SSC1 RE \+CONNECT:\d+,OK'] + - - SSC SSC1 soc -S -s -l 10 + - ['P SSC1 RE \+SEND:\d+,OK', P SSC1 SL +10] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 3.OK + + 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. get host name "espressif.cn" + + 2. connect, send, recv1. get host name "espressif.cn" + + 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: DNS function test + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_DNS_0103 + 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 A :\+HOSTIP:OK,(.+)\r\n'] + - - SSC SSC1 soc -B -t UDP + - ['R SSC1 A :\+BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p 9003 -l 10 + - ['P SSC1 RE \+SEND:\d+,OK', P SSC1 SL +10] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 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. get host name "espressif.cn" + + 2. sendto, recvfrom1. get host name "espressif.cn" + + 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. + + 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 + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ping -i + - ['R SSC1 C +PING:OK'] + - - SSC SSC1 ping -i -c 2 + - ['R SSC1 C +PING:OK'] + comment: '' + execution time: 0.0 + 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) + level: Integration + module: TCPIP + steps: '1.ping -i + + 2.ping -i -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. + + PC has 1 WiFi NIC. + + 1 SSC target connect with PC by UART.' + test point 1: basic function + test point 2: ping function test + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_IGMP_0101 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 igmp -J -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 igmp -L -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 igmp -J -h -m 223.1.1.1 + - ['R SSC1 C +IGMP:ERROR'] + - - SSC SSC1 igmp -J -h -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: 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 + + 2. join group with correct host addr and wrong multicast addr + + 3. join group with wrong host addr and correct multicast addr + + 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. + + PC has 1 WiFi NIC. + + 1 SSC target connect with PC by UART.' + test point 1: basic function + test point 2: IGMP API parameter check + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_IGMP_0102 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 igmp -J -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 igmp -L -h -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 -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: 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 + + 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. + + PC has 1 WiFi NIC. + + 1 SSC target connect with PC by UART.' + test point 1: basic function + test point 2: IGMP API parameter check + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_IGMP_0103 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 igmp -J -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 igmp -L -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 igmp -J -h -m 223.1.1.1 + - ['R SSC1 C +IGMP:ERROR'] + - - SSC SSC1 igmp -J -h -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: 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 + + 2. join group with correct host addr and wrong multicast addr + + 3. join group with wrong host addr and correct multicast addr + + 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. + + PC has 1 WiFi NIC. + + 1 SSC target connect with PC by UART.' + test point 1: basic function + test point 2: IGMP API parameter check + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_IGMP_0104 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 igmp -J -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 igmp -L -h -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 -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: 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 + + 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. + + 1 SSC target connect with PC by UART.' + test point 1: basic function + test point 2: IGMP API parameter check + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_IGMP_0201 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 igmp -J -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p + - ['R SSC1 A :\+BIND:(\d+),OK'] + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SOC SOC1 SENDTO 1 224.1.1.1 + - [R SSC1 SL +1] + - - SSC SSC1 igmp -L -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + 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) + 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: 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: basic function + test point 2: IGMP send/recv test + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_IGMP_0202 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC2 op -S -o 1 + - ['R SSC2 C +MODE:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 igmp -J -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p + - ['R SSC1 A :\+BIND:(\d+),OK'] + - - SSC SSC2 soc -B -t UDP -p + - ['R SSC2 A :\+BIND:(\d+),OK'] + - - SSC SSC2 soc -S -s -i 224.1.1.1 -p -l 10 + - [R SSC1 SL +1] + - - SSC SSC1 igmp -L -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + comment: '' + execution time: 0.0 + expected result: '1. succeed + + 2. succeed + + 3. succeed + + 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. target2 set to sta mode and join AP + + 2. target1 join group and create UDP socket using multicast addr + + 3. target2 create UDP socket + + 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. + + 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_IGMP_0203 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 igmp -J -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SOC SOC1 SENDTO 1 224.1.1.1 + - [R SSC1 SL +1] + - - SSC SSC1 igmp -L -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + comment: '' + execution time: 0.0 + expected result: '1. succeed + + 2. succeed + + 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. 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. + + 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: ^TCPIP_IGMP_0204 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC2 sta -C -s -p + - ['R SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 igmp -J -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + - - SSC SSC1 soc -B -t UDP -i 224.1.1.1 -p + - ['R SSC1 A :\+BIND:(\d+),OK'] + - - SSC SSC2 soc -B -t UDP -p + - ['R SSC2 A :\+BIND:(\d+),OK'] + - - SSC SSC2 soc -S -s -i 224.1.1.1 -p -l 10 + - [R SSC1 SL +1] + - - SSC SSC1 igmp -L -h -m 224.1.1.1 + - ['R SSC1 C +IGMP:OK'] + comment: '' + execution time: 0.0 + expected result: '1. succeed + + 2. succeed + + 3. succeed + + 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 + + 2. target1 join group and create UDP socket using multicast addr + + 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. + + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_IP_0101 + SDK: '8266_NonOS + + 8266_RTOS + + 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.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. + + 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_IP_0102 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + 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 + - ['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 + - [SOCR SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0 + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['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 :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i 123.456.678.789 -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 3.OK; PC TCP server accept 成功 + + 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) + 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 + + 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: 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: 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 8266_RTOS @@ -9261,9 +9938,10 @@ test cases: 3.PC TCP client accept 4.error' - initial condition: STAM2 - initial condition description (auto): sta mode, join AP, DHCP on, will autogen a - TC with initial condition STAAP2 + 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到本地端口 @@ -9284,7 +9962,7 @@ test cases: test point 2: use TCP SAP (socket/espconn API) with different parameter version: v1 (2016-8-15) - CI ready: 'Yes' - ID: TCPIP_TCP_0103 + ID: ^TCPIP_TCP_0103 SDK: '8266_NonOS 8266_RTOS @@ -9329,9 +10007,10 @@ test cases: 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 + 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 @@ -9347,7 +10026,7 @@ test cases: 7. PC send 100 * 1460 data to 8266, - 8.8266 send 100 * 1460 to PC. ' + 8.8266 send 100 * 1460 to PC.' sub module: TCP summary: STA mode, send/recv basic test test environment: SSC_T1_1 @@ -9360,7 +10039,7 @@ test cases: test point 2: use TCP SAP (socket/espconn API) with different parameter version: v1 (2016-8-15) - CI ready: 'Yes' - ID: TCPIP_TCP_0101 + ID: ^TCPIP_TCP_0104 SDK: '8266_NonOS 8266_RTOS @@ -9373,47 +10052,72 @@ test cases: cmd set: - '' - - SOC SOC1 LISTEN - - [SOCR SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0 + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP - ['R SSC1 A :BIND:(\d+),OK'] - - SSC SSC1 soc -C -s -i -p - - ['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 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s -h B + - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -B -t TCP - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i 123.456.678.789 -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s -h W + - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s -h R + - ['R SSC1 RE SHUTDOWN:\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 OK 4.OK - 5.ERROR + 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 + 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) + level: Integration module: TCPIP - steps: '1.PC上建立TCP 监听 test_tcp_port1 + steps: '1. PC上建立TCP 监听 test_tcp_port1 - 2.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0 + 2.target1上创建TCP socket - 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1 + 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1,PC有ACCEPT - 4.target1上创建TCP socket,bind到本地ip 0.0.0.0,本地端口 0 + 4.target1 shutdown socket1 B - 5.target1上使用步骤4创建的socket,去连接不存在的ip,test_tcp_port1 + 5.target1上创建TCP socket - 6.target1上使用步骤2创建的socket,去连接 PC的ip,远端端口不存在。' + 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, connect test. use different ip, port + summary: STA mode, shutdown basic test test environment: SSC_T1_1 test environment description (auto): 'PC has 2 wired NIC connected to AP. @@ -9424,7 +10128,198 @@ test cases: 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: ^TCPIP_TCP_0105 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -T -s + - ['R SSC1 RE CLOSE:\d+,OK'] + - - SSC SSC1 soc -B -t TCP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,OK'] + - - SOC SOC2 CONNECT + - ['R SSC1 A :ACCEPT:(\d+),\d+,.+,\d+'] + - - SSC SSC1 soc -T -s + - ['R SSC1 RE CLOSE:\d+,OK'] + - - SSC SSC1 soc -T -s + - ['R SSC1 RE CLOSE:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -T -s + - ['R SSC1 RE CLOSE:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s + - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -T -s + - ['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 + + 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) + 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,\ + \ ,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: use TCP SAP (socket/espconn API) with different parameter + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_TCP_0106 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + 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: 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 + + 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 + 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_0107 SDK: '8266_NonOS 8266_RTOS @@ -9440,15 +10335,15 @@ test cases: - ['R SSC1 A :BIND:(\d+),OK'] - - SSC SSC1 soc -L -s - ['R SSC1 RE LISTEN:\d+,OK'] - - - SOC SOC2 CONNECT 0 + - - SOC SOC2 CONNECT - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - - - SOC SOC3 CONNECT 0 + - - SOC SOC3 CONNECT - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - - - SOC SOC4 CONNECT 0 + - - SOC SOC4 CONNECT - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - - - SOC SOC5 CONNECT 0 + - - SOC SOC5 CONNECT - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - - - SOC SOC6 CONNECT 0 + - - SOC SOC6 CONNECT - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] comment: '' execution time: 0.0 @@ -9465,16 +10360,301 @@ test cases: 6.OK,pc tcp server accept成功 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) + 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 端口随机\n2.target1上使用步骤4创建的socket1,去监听\n3.PC CONNECT,\ \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT, ,tcp 连接创建成功,创建socket3\ \ \n5.PC CONNECT, ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT,\ \ ,tcp 连接创建成功,创建socket5 \n7.PC CONNECT, ,tcp 连接创建成功,创建socket6" sub module: TCP - summary: AP mode, accept max TCP client by server test + 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: 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_0110 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [SOCR SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0 + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['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 :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i 123.456.678.789 -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 3.OK; PC TCP server accept 成功 + + 4.OK + + 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上建立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: 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_0111 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 soc -B -t TCP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,OK'] + - - SOC SOC1 CONNECT 0 + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK] + - - SOC SOC1 CONNECT 0 + - [P SOC_COM C ERROR, P SSC1 NC ACCEPT] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 3.PC TCP client accept + + 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到本地端口 + + 2.target1上使用步骤1创建的socket,创建TCP 监听 + + 3.PC TCP 连接到target1 , + + 4.PC tcp 连接到不存在的port ,' + 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: 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_0112 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SOC SOC1 ACCEPT SOC2 + - [R SOC_COM L OK] + - - SOC SOC2 SEND 5 + - [R SSC1 SL +5] + - - SSC SSC1 soc -S -s -l 5 + - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 5] + - - SOC SOC2 SEND 146000 + - [R SSC1 SL +146000] + - - SSC SSC1 soc -S -s -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成功 + + 4.OK + + 5.target收到5byte数据 + + 6.PC收到5byte数据 + + 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上建立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: 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_0113 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s -h B + - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s -h W + - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s -h R + - ['R SSC1 RE SHUTDOWN:\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,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上建立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: AP mode, shutdown basic test test environment: SSC_T1_1 test environment description (auto): 'PC has 2 wired NIC connected to AP. @@ -9561,6 +10741,7 @@ test cases: 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,\ @@ -9640,6 +10821,7 @@ test cases: 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 @@ -9674,235 +10856,7 @@ test cases: test point 2: use TCP SAP (socket/espconn API) with different parameter version: v1 (2016-8-15) - CI ready: 'Yes' - ID: ^TCPIP_TCP_0112 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SOC SOC1 ACCEPT SOC2 - - [R SOC_COM L OK] - - - SOC SOC2 SEND 5 - - [R SSC1 SL +5] - - - SSC SSC1 soc -S -s -l 5 - - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 5] - - - SOC SOC2 SEND 146000 - - [R SSC1 SL +146000] - - - SSC SSC1 soc -S -s -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成功 - - 4.OK - - 5.target收到5byte数据 - - 6.PC收到5byte数据 - - 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) - 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: 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: 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_0113 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s -h B - - ['R SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s -h W - - ['R SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s -h R - - ['R SSC1 RE SHUTDOWN:\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,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) - 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: 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: 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_0110 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [SOCR SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP -i 0.0.0.0 -p 0 - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['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 :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i 123.456.678.789 -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.OK - - 3.OK; PC TCP server accept 成功 - - 4.OK - - 5.ERROR - - 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 - - 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: 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_0111 + ID: ^TCPIP_TCP_0116 SDK: '8266_NonOS 8266_RTOS @@ -9918,32 +10872,42 @@ test cases: - ['R SSC1 A :BIND:(\d+),OK'] - - SSC SSC1 soc -L -s - ['R SSC1 RE LISTEN:\d+,OK'] - - - SOC SOC1 CONNECT 0 - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK] - - - SOC SOC1 CONNECT 0 - - [P SOC_COM C ERROR, P SSC1 NC ACCEPT] + - - SOC SOC2 CONNECT 0 + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] + - - SOC SOC3 CONNECT 0 + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] + - - SOC SOC4 CONNECT 0 + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] + - - SOC SOC5 CONNECT 0 + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] + - - SOC SOC6 CONNECT 0 + - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] comment: '' execution time: 0.0 - expected result: '1.OK + expected result: '1.+BIND:0,OK,0.0.0.0 2.OK - 3.PC TCP client accept + 3.OK,pc tcp server accept成功 - 4.error' + 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: 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到本地端口 - - 2.target1上使用步骤1创建的socket,创建TCP 监听 - - 3.PC TCP 连接到target1 , - - 4.PC tcp 连接到不存在的port ,' + steps: "1.target1上创建TCP socket 端口随机\n2.target1上使用步骤4创建的socket1,去监听\n3.PC CONNECT,\ + \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT, ,tcp 连接创建成功,创建socket3\ + \ \n5.PC CONNECT, ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT,\ + \ ,tcp 连接创建成功,创建socket5 \n7.PC CONNECT, ,tcp 连接创建成功,创建socket6" sub module: TCP - summary: AP mode, server listen test. use different kinds of port + 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. @@ -9954,1078 +10918,97 @@ test cases: 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_0201 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' Test App: SSC allow fail: '' auto test: 'Yes' category: Function cmd set: - '' - - - SSC SSC1 sta -C -s -p - - ['R SSC1 C +JAP:CONNECTED'] - - - SSC SSC1 soc -B -t UDP -p + - - SOC SOC1 LISTEN + - [SOCR SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -n 1000000 -j 5 - - [''] - - - SSC SSC2 phy -S -o 1 -m b - - ['R SSC2 C +PHY:OK'] - - - SSC SSC2 sta -S -n - - [R SSC2 P ] - - - SSC SSC2 phy -S -o 1 -m g - - ['R SSC2 C +PHY:OK'] - - - SSC SSC2 sta -S -n - - [R SSC2 P ] - - - SSC SSC2 phy -S -o 1 -m n -b 20 - - ['R SSC2 C +PHY:OK'] - - - SSC SSC2 sta -S -n - - [R SSC2 P ] - - - SSC SSC2 phy -S -o 1 -m n -b 40 - - ['R SSC2 C +PHY:OK'] - - - SSC SSC2 sta -S -n - - [R SSC2 P ] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,OK'] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s -h B + - ['P SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] + - - SSC SSC1 soc -T + - [R SSC1 C +CLOSEALL] + - - SSC SSC1 soc -C -s -i -p + - ['P SSC1 RE CONNECT:\d+,ERROR'] 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 - - 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. - - 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: TCPIP_UDP_0304 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -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 - - ['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' - 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 \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: abnormal/special use - test point 2: UDP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_UDP_0305 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -l 5 - - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5] - - - NIC DISABLED - - [R PC_COM C OK] - - - SSC SSC1 soc -T -s - - ['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 - module: TCPIP - steps: "1.PC上SOC1 UDP传输,bing \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: abnormal/special use - test point 2: UDP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_UDP_0306 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -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 -i -p -l 1 - - ['P SSC1 RE SEND:\d+,OK'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.OK - - 3.OK; PC TCP server accept 成功 + 3.ERROR 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上SOC1 UDP传输,bing \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: abnormal/special use - test point 2: UDP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_UDP_0307 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -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 - - ['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上SOC1 UDP传输,bing \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: abnormal/special use - test point 2: UDP handling abnormal event - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_UDP_0301 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -i -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -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 -i -p -l 5 - - ['P SSC1 RE SEND:\d+,ERROR'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.OK - - 3.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 - module: TCPIP - steps: '1.PC上SOC1 UDP传输,bing - - 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: TCPIP_UDP_0302 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -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 - - ['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 - module: TCPIP - steps: '1.PC上SOC1 UDP传输,bing - - 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: TCPIP_UDP_0303 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: 1/5 - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 BIND - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p -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 -i -p -l 5 - - ['P SSC1 RE SEND:(\d+),OK'] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.OK - - 3.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 - module: TCPIP - steps: "1.PC上SOC1 UDP传输,bing \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: WIFI_CONN_0601 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -t - - ['R SSC1 C +SAP:OK'] - - - WIFI CONN - - - ['R PC_COM C +WIFICONN:OK'] - - - SSC SSC2 sta -C -s -p - - ['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 - - 2.PC WIFI CONNECTED - - 3.target2 jap target 1 - - 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 加密方式 - - 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. - - PC has 1 WiFi NIC. - - 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: ^TCPIP_DHCP_0209 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -t 4 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['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 CONN 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 P ] - comment: '' - execution time: 0.0 - expected result: '1. succeed - - 2. succeed - - 3. succeed - - 4. succeed - - 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. target2 connect to target1 softap - - 3. disable DHCP server, do config and enable - - 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. - - 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_0208 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -t 4 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['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 CONN 192.168.4.2 - - ['R PC_COM NC ERROR C +WIFICONN:OK'] - - - SSC SSC1 ap -L - - [R SSC1 C 192.168.4.2 P ] - comment: '' - execution time: 0.0 - expected result: '1. succeed - - 2. succeed - - 3. succeed - - 4. get IP 192.168.4.2 - - 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) - 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. - - 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_0207 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -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 CONN 192.168.4.2 - - ['R PC_COM NC ERROR C +WIFICONN:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 C +JAP:CONNECTED'] - - - WIFI 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 -p - - ['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) - 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: DHCP server function test - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_DHCP_0206 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -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 -p - - ['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 - - 4. get IP 192.168.4.2 - 192.168.4.4 - - 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 - - 2. disable DHCP server, do config and enable - - 3. target2 change mac, connect to softap, disconnect - - 4. Loop step3 twice - - 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. - - 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 - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -t 4 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['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 - - 2. succeed - - 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 - - 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. - - 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_0204 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -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 -p - - ['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 -p - - ['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 - - 5. succeed - - 6. succeed - - 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 - - 2. config DHCP timeout as 1 minute - - 3. target2 connect to target1 - - 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. - - 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_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 -p -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 -p - - ['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 -p -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 -p - - ['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 - - ['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) + 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.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 + steps: '1.PC上建立TCP 监听 test_tcp_port1 + + 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0, + + 3.target1上使用步骤2创建的socket,去连接 PC的ip, + + 4.target1上创建TCP socket + + 5.target1上使用步骤4创建的socket,创建TCP 监听 + + 6.target1上使用步骤4创建的socket,去连接 PC的ip, + + 7.target1上创建TCP socket + + 8.target1上使用步骤7创建的socket,去连接 PC的ip, + + 9.target1上关闭步骤7创建的socket + + 10.target1上使用步骤7创建的socket,去连接 PC的ip, + + 11.target1上关闭所有创建的socket + + 12.target1上使用步骤2创建的socket,去连接 PC的ip,' + 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. @@ -11033,10 +11016,176 @@ test cases: 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_TCP_0204 + ID: ^TCPIP_TCP_0202 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,ERROR'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,ERROR'] + - - SSC SSC1 soc -D -s + - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -L -s + - ['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.ERROR + + 4.OK + + 5.OK + + 6.ERROR + + 7.OK + + 8.ERROR + + 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.target1上创建UDP传输socket,bind到本地ip 0.0.0.0, + + 3.target1上使用步骤2创建的socket,去建立TCP 监听 + + 4.target1上创建TCP socket + + 5.target1上使用步骤4创建的socket,去连接 PC的ip, + + 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: use TCP SAP (socket/espconn API) in different state + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_TCP_0203 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s + - ['R SSC1 RE SEND:\d+,ERROR'] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s + - ['R SSC1 RE SEND:\d+,ERROR'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s + - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -S -s + - ['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.OK + + 2.OK + + 3.ERROR + + 4.OK + + 5.ERROR + + 6.OK + + 7.OK + + 8.ERROR + + 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.target1上创建UDP传输socket1, + + 3.target1上使用步骤2创建的socket1,去发送数据 + + 4.target1上创建TCP socket2 + + 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. + + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_TCP_0204 SDK: '8266_NonOS 8266_RTOS @@ -11076,12 +11225,11 @@ test cases: 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 + 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 @@ -11108,107 +11256,7 @@ test cases: test point 2: use TCP SAP (socket/espconn API) in different state version: v1 (2016-8-15) - CI ready: 'Yes' - ID: TCPIP_TCP_0207 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [SOCR SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,OK'] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s -h B - - ['P SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - - - SSC SSC1 soc -T - - [R SSC1 C +CLOSEALL] - - - SSC SSC1 soc -C -s -i -p - - ['P SSC1 RE CONNECT:\d+,ERROR'] - comment: '' - execution time: 0.0 - expected result: '1.ok - - 2 OK - - 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 - module: TCPIP - steps: '1.PC上建立TCP 监听 test_tcp_port1 - - 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0, - - 3.target1上使用步骤2创建的socket,去连接 PC的ip, - - 4.target1上创建TCP socket - - 5.target1上使用步骤4创建的socket,创建TCP 监听 - - 6.target1上使用步骤4创建的socket,去连接 PC的ip, - - 7.target1上创建TCP socket - - 8.target1上使用步骤7创建的socket,去连接 PC的ip, - - 9.target1上关闭步骤7创建的socket - - 10.target1上使用步骤7创建的socket,去连接 PC的ip, - - 11.target1上关闭所有创建的socket - - 12.target1上使用步骤2创建的socket,去连接 PC的ip,' - 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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_TCP_0206 + ID: ^TCPIP_TCP_0206 SDK: '8266_NonOS 8266_RTOS @@ -11271,9 +11319,10 @@ test cases: +SOCINFO:,,, +SOCINF0ALL' - initial condition: STAM2 - initial condition description (auto): sta mode, join AP, DHCP on, will autogen a - TC with initial condition STAAP2 + 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,去连接\ @@ -11292,7 +11341,7 @@ test cases: 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_0207 SDK: '8266_NonOS 8266_RTOS @@ -11304,35 +11353,35 @@ test cases: category: Function cmd set: - '' - - - SOC SOC1 LISTEN + - - SOC SOC1 LISTEN - [SOCR SOC_COM L OK] - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p + - - SSC SSC1 soc -C -s -i -p - ['P SSC1 RE CONNECT:\d+,ERROR'] - - SSC SSC1 soc -B -t TCP - ['R SSC1 A :BIND:(\d+),OK'] - - SSC SSC1 soc -L -s - ['R SSC1 RE LISTEN:\d+,OK'] - - - SSC SSC1 soc -C -s -i -p + - - SSC SSC1 soc -C -s -i -p - ['P SSC1 RE CONNECT:\d+,ERROR'] - - SSC SSC1 soc -B -t TCP - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p + - - SSC SSC1 soc -C -s -i -p - ['P SSC1 RE CONNECT:\d+,OK'] - - SSC SSC1 soc -D -s -h B - ['P SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -C -s -i -p + - - SSC SSC1 soc -C -s -i -p - ['P SSC1 RE CONNECT:\d+,ERROR'] - - SSC SSC1 soc -T - [R SSC1 C +CLOSEALL] - - - SSC SSC1 soc -C -s -i -p + - - SSC SSC1 soc -C -s -i -p - ['P SSC1 RE CONNECT:\d+,ERROR'] comment: '' execution time: 0.0 expected result: '1.ok - 2.OK + 2 OK 3.ERROR @@ -11353,9 +11402,10 @@ test cases: 11.OK 12.ERROR' - initial condition: STAM2 - initial condition description (auto): sta mode, join AP, DHCP on, will autogen a - TC with initial condition STAAP2 + 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 @@ -11381,7 +11431,7 @@ test cases: 12.target1上使用步骤2创建的socket,去连接 PC的ip,' sub module: TCP - summary: STA mode, connect test. use socket in state that can't connect + 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. @@ -11391,875 +11441,6 @@ test cases: 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_DHCP_0101 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - 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 -p - - [''] - - - 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 -p - - ['R SSC1 C +JAP:CONNECTED'] - - - SSC SSC1 ip -Q - - ['R SSC1 RE "\+STAIP:%%s"%%()'] - 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) - 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. - - PC has 1 WiFi NIC. - - 1 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_TCP_0203 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s - - ['R SSC1 RE SEND:\d+,ERROR'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s - - ['R SSC1 RE SEND:\d+,ERROR'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s - - ['R SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -S -s - - ['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.OK - - 2.OK - - 3.ERROR - - 4.OK - - 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 - module: TCPIP - steps: '1.PC上建立TCP 监听 test_tcp_port1 - - 2.target1上创建UDP传输socket1, - - 3.target1上使用步骤2创建的socket1,去发送数据 - - 4.target1上创建TCP socket2 - - 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. - - 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_TCP_0202 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,ERROR'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,ERROR'] - - - SSC SSC1 soc -D -s - - ['R SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -L -s - - ['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.ERROR - - 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 - module: TCPIP - steps: '1.PC上建立TCP 监听 test_tcp_port1 - - 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0, - - 3.target1上使用步骤2创建的socket,去建立TCP 监听 - - 4.target1上创建TCP socket - - 5.target1上使用步骤4创建的socket,去连接 PC的ip, - - 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: use TCP SAP (socket/espconn API) in different state - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_TCP_0208 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t UDP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,ERROR'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,ERROR'] - - - SSC SSC1 soc -D -s - - ['R SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -L -s - - ['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.ERROR - - 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 - module: TCPIP - steps: '1.PC上建立TCP 监听 test_tcp_port1 - - 2.target1上创建UDP传输socket,bind到本地ip 0.0.0.0, - - 3.target1上使用步骤2创建的socket,去建立TCP 监听 - - 4.target1上创建TCP socket - - 5.target1上使用步骤4创建的socket,去连接 PC的ip, - - 6.target1上使用步骤4创建的socket,创建TCP 监听 - - 7.target1上shutdown 步骤4的socket - - 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: basic function - test point 2: use TCP SAP (socket/espconn API) in different state - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_DNS_0103 - 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 A :\+HOSTIP:OK,(.+)\r\n'] - - - SSC SSC1 soc -B -t UDP - - ['R SSC1 A :\+BIND:(\d+),OK'] - - - SSC SSC1 soc -S -s -i -p 9003 -l 10 - - ['P SSC1 RE \+SEND:\d+,OK', P SSC1 SL +10] - 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" - - 2. sendto, recvfrom1. get host name "espressif.cn" - - 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. - - 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_DHCP_0206 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -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 -p - - ['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 - - 4. get IP 192.168.4.2 - 192.168.4.4 - - 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 - module: TCPIP - steps: '1. config softap to a random ssid - - 2. disable DHCP server, do config and enable - - 3. target2 change mac, connect to softap, disconnect - - 4. Loop step3 twice - - 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. - - 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_0207 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -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 CONN 192.168.4.2 - - ['R PC_COM NC ERROR C +WIFICONN:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 C +JAP:CONNECTED'] - - - WIFI 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 -p - - ['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_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. 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: DHCP server function test - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_DHCP_0204 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -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 -p - - ['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 -p - - ['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 - - 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 - - 2. config DHCP timeout as 1 minute - - 3. target2 connect to target1 - - 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. - - 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_0205 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -t 4 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['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 - - 2. succeed - - 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. - - 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 -p -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 -p - - ['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_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. 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_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 -p -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 -p - - ['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_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. 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_TCP_0204 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SOC SOC1 ACCEPT SOC2 - - [R SOC_COM L OK] - - - SSC SSC1 soc -W -s -o 0 - - ['R SSC1 RE WORKTHREAD:\d+,OK'] - - - SOC SOC2 SEND 146000 - - [P SOC_COM R *] - - - SSC SSC1 soc -W -s -o 1 - - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL +2920] - comment: '' - execution time: 0.0 - expected result: '1.OK - - 2.OK - - 3.OK,pc server accept OK - - 4.OK - - 5.OK - - 6.OK - - 7.target收到146000 byte' - 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.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. - - 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 - 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 - - ['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: 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 - 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_0208 SDK: '8266_NonOS @@ -12313,6 +11494,7 @@ test cases: 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 @@ -12343,7 +11525,7 @@ test cases: test point 2: use TCP SAP (socket/espconn API) in different state version: v1 (2016-8-15) - CI ready: 'Yes' - ID: TCPIP_DHCP_0208 + ID: ^TCPIP_TCP_0210 SDK: '8266_NonOS 8266_RTOS @@ -12355,61 +11537,64 @@ test cases: category: Function cmd set: - '' - - - SSC SSC1 ap -S -s -p -t 4 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['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 CONN 192.168.4.2 - - ['R PC_COM NC ERROR C +WIFICONN:OK'] - - - SSC SSC1 ap -L - - [R SSC1 C 192.168.4.2 P ] + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SOC SOC1 ACCEPT SOC2 + - [R SOC_COM L OK] + - - SSC SSC1 soc -W -s -o 0 + - ['R SSC1 RE WORKTHREAD:\d+,OK'] + - - SOC SOC2 SEND 146000 + - [P SOC_COM R *] + - - SSC SSC1 soc -W -s -o 1 + - ['P SSC1 RE WORKTHREAD:\d+,OK', P SSC1 SL +2920] 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. 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 + 6.OK + + 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. config softap to a random ssid + steps: '1. PC上建立TCP 监听 test_tcp_port1 - 2. PC NIC connect to target1 softap + 2.target1上创建TCP socket - 3. disable DHCP server, do config and enable + 3.target1上使用步骤2创建的socket,去连接 PC的ip,test_tcp_port1 - 4. target2 connect to target1 softap + 4.PC与target1 创建好TCP 连接,有ACCEPT - 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.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. 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_0209 + ID: ^TCPIP_TCP_0212 SDK: '8266_NonOS 8266_RTOS @@ -12421,59 +11606,80 @@ test cases: category: Function cmd set: - '' - - - SSC SSC1 ap -S -s -p -t 4 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['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 CONN 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 P ] + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP -i + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -B -t TCP -i + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 soc -D -s + - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 soc -B -t TCP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -L -s + - ['R SSC1 RE LISTEN:\d+,OK'] + - - SOC SOC2 CONNECT 0 + - ['R SSC1 A :ACCEPT:(\d+),\d+,.+,\d+'] + - - SSC SSC1 soc -I + - ['P SSC1 RE "SOCINFO:%%s,2,%%s,\d+,%%s,%%d"%%(,,,)', + 'P SSC1 RE "SOCINFO:%%s,2,.+,\d+,.+,\d+"%%()', 'P SSC1 RE "SOCINFO:%%s,82,.+,%%d,.+,\d+"%%(,)', + 'P SSC1 RE "SOCINFO:%%s,2,%%s,%%d,%%s,\d+"%%(,,,)'] 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. 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 + + 6.OK + + 7.OK + + 8.OK + + 9.PC OK, target1 +ACCEPT:3,2,,port + + 10.+SOCINFO:,,, + + +SOCINFO:,,, + + +SOCINFO:, + + +SOCINFO:,,, + + +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. 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 - - 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. + 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,\ + \ ,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. 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_TCP_0412 + ID: ^TCPIP_TCP_0401 SDK: '8266_NonOS 8266_RTOS @@ -12493,11 +11699,445 @@ test cases: - ['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 -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 成功 + + 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) + 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 连接 + + 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. + + 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_0402 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['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 - ['R SSC1 RE CLOSE:\d+,OK'] - - - SSC SSC1 soc -T -s + 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) + 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 连接 + + 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: abnormal/special use + test point 2: TCP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_TCP_0403 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['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 -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 成功 + + 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) + 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. + + 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 + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_TCP_0404 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['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 + - ['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' + 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: abnormal/special use + test point 2: TCP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_TCP_0405 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SOC SOC1 ACCEPT SOC2 + - [R SOC_COM L OK] + - - NIC DISABLED + - [R PC_COM C OK] + - - SSC SSC1 soc -S -s -l 1 + - [''] + - - DELAY 5400 + - ['P SSC1 RE CLOSED:\d+,0'] + comment: '' + execution time: 1.5 + expected result: '1.OK + + 2.OK + + 3.OK; PC TCP server accept 成功 + + 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.PC上建立TCP 监听 test_tcp_port1 + + 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: abnormal/special use + test point 2: TCP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_TCP_0406 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SOC SOC1 ACCEPT SOC2 + - [R SOC_COM L OK] + - - NIC DISABLED + - [R PC_COM C OK] + - - SSC SSC1 soc -T -s + - ['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' + 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.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: abnormal/special use + test point 2: TCP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_TCP_0407 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['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 -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 成功 + + 4.OK + + 5.OK + + 6.OK + + 7.OK + + 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. + + 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_0408 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['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 - ['R SSC1 RE CLOSE:\d+,OK'] comment: '' execution time: 0.0 @@ -12513,26 +12153,19 @@ test cases: 6.OK - 7.OK' + 7.OK + + 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.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.关闭socket1 连接 - - 7.关闭socket2连接' + 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 send after socket changed + summary: close TCP socket after IP changed test environment: SSC_T1_1 test environment description (auto): 'PC has 2 wired NIC connected to AP. @@ -12587,6 +12220,7 @@ test cases: 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 @@ -12613,45 +12247,120 @@ test cases: test point 2: TCP handling abnormal event version: v1 (2016-8-15) - CI ready: 'Yes' - ID: WIFI_CONN_0901 + ID: ^TCPIP_TCP_0412 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 -p - - ['R SSC1 C +JAP:CONNECTED'] - - - SSC SSC1 sta -D - - ['R SSC1 RE JAP:DISCONNECTED,\d+,8'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 RE JAP:DISCONNECTED,\d+,15'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 RE JAP:DISCONNECTED,\d+,201'] + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -C -s -i -p + - ['R SSC1 RE CONNECT:\d+,OK'] + - - SOC SOC1 ACCEPT SOC2 + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t TCP + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -T -s + - ['R SSC1 RE CLOSE:\d+,OK'] + - - SSC SSC1 soc -T -s + - ['R SSC1 RE CLOSE:\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.OK; PC TCP server accept 成功 - 2. connect to AP with wrong password + 4.OK - 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 + 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上建立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.关闭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: abnormal/special use + test point 2: TCP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_UDP_0101 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 C BIND:ERROR'] + - - SSC SSC1 soc -B -t TCP -p + - ['R SSC1 RE BIND:(\d+),OK'] + 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) + 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 test environment: SSC_T1_1 test environment description (auto): 'PC has 2 wired NIC connected to AP. @@ -12659,198 +12368,58 @@ test cases: 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_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 sta -C -s -p - - ['R SSC1 C +JAP:CONNECTED'] - - - APC OFF - - [P PC_COM L OK, 'R SSC1 RE JAP:DISCONNECTED,\d+,200'] - - - APC ON - - [P PC_COM L OK] + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SOC SOC2 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -l 10 + - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 10] + - - SSC SSC1 soc -S -s -i -p -l 10 + - ['P SSC1 RE SEND:(\d+),OK', P SOC2 UL 10] 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." - 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 + 3.OK - 8266_RTOS + 4.OK - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 sta -C -s -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 - 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. + 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 - 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_SCAN_0201 - SDK: 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 P P P ] - - - SSC SSC1 phy -S -o 1 -m g - - ['R SSC1 C +PHY:OK'] - - - SSC SSC1 sta -S - - [R SSC1 P P P P ] - - - SSC SSC1 phy -S -o 1 -m n -b 20 - - ['R SSC1 C +PHY:OK'] - - - SSC SSC1 sta -S - - [R SSC1 P P P P ] - - - SSC SSC1 phy -S -o 1 -m n -b 40 - - ['R SSC1 C +PHY:OK'] - - - SSC SSC1 sta -S - - [R SSC1 P P P P ] - comment: '' - execution time: 0.0 - expected result: '3. find all 3 ext APs + 2.PC上SOC2 UDP传输,bing - 5. find all 3 ext APs + 3.target1上UDP传输,Bind socket1,本地ip target_udp_port1 - 7. find all 3 ext APs + 4.target1上使用步骤3创建的socket1,往pc_ip,test_tcp_port1上发送10字节数据 - 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 - - 3. do all channel scan - - 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: Scan in different mode and channel - version: v1 (2015-8-15) -- CI ready: 'Yes' - ID: WIFI_CONN_0503 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 sta -R -r 0 - - [R SSC1 C OK] - - - SSC SSC1 sta -C -s -p - - ['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 -p - - ['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] - 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 - - 4. reset sta reconnect policy as auto reconnect - - ' - sub module: WIFI Connect - summary: reconnect policy interact with failed STA connect/reconnect + 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. @@ -12858,287 +12427,404 @@ test cases: 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_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 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 -p - - ['P SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 sta -C -s -p - - [''] - - - DELAY 10 - - ['P SSC2 NC +JAP:DISCONNECTED', 'P SSC1 C +JAP:CONNECTED'] + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -l 1 + - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1] + - - SSC SSC1 soc -S -s -i -p -l 1472 + - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472] + - - SSC SSC1 soc -S -s -i -p -l 1473 + - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM] + - - SSC SSC1 soc -S -s -i -p -l 1472 -n 10 -j 20 + - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 14720] 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.OK - Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40. + 5.OK,没有到UDP包 - Put 4 APs near SSC targets.' + 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上SOC1 UDP传输,bing + + 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: basic function - test point 2: STA+SoftAP initial channel test - 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_PHY_0401 - SDK: ESP32_IDF + 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 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 -p - - ['R SSC1 C +JAP:CONNECTED'] - - - SSC SSC2 sta -C -s -p - - [''] - - - DELAY 10 - - ['P SSC1 NC +JAP:DISCONNECTED', 'P SSC2 C +JAP:CONNECTED'] + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SOC SOC1 SENDTO 1 + - [R SSC1 SL +1] + - - SOC SOC1 SENDTO 1472 + - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(,,)'] + - - SOC SOC1 SENDTO 1473 + - [P SSC1 NC +RECVFROM, P SOC_COM C OK] + - - SOC SOC2 BIND + - [R SOC_COM L OK] + - - SOC SOC2 SENDTO 1472 + - ['R SSC1 RE "RECVFROM:%%s,1472,%%s,%%u"%%(,,)'] 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.OK - Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40. + 5.OK,没收到UDP包 - Put 4 APs near SSC targets.' + 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 + + 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 + + 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: basic function - test point 2: STA+SoftAP initial channel test - 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_PHY_0407 - SDK: ESP32_IDF + ID: ^TCPIP_UDP_0105 + 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 phy -S -o 1 -m n -b 40 - - ['R SSC2 C +PHY:OK'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 C +JAP:CONNECTED'] - - - SSC SSC2 sta -C -s -p - - [''] - - - DELAY 10 - - ['P SSC1 NC +JAP:DISCONNECTED', 'P SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -T -s + - ['R SSC1 RE CLOSE:\d+'] 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 + expected result: '1.OK - 2. STA connect to ext AP + 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. 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. + 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 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. - - Put 4 APs near SSC targets.' + 1 SSC target connect with PC by UART.' test point 1: basic function - test point 2: STA+SoftAP initial channel test - 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_PHY_0406 - SDK: ESP32_IDF + ID: ^TCPIP_UDP_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 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 -p - - ['P SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 sta -C -s -p - - [''] - - - DELAY 10 - - ['P SSC2 NC +JAP:DISCONNECTED', 'P SSC1 C +JAP:CONNECTED'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] 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.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 - Put 4 APs near SSC targets.' + 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: 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: basic function - test point 2: STA+SoftAP initial channel test - 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_PHY_0405 - SDK: ESP32_IDF + ID: ^TCPIP_UDP_0107 + 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 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 -p - - ['R SSC1 C +JAP:CONNECTED'] - - - SSC SSC2 sta -C -s -p - - [''] - - - DELAY 10 - - ['P SSC1 NC +JAP:DISCONNECTED', 'P SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -I + - ['P SSC1 RE "SOCINFO:%%s,1,.+,%%d"%%(,)'] 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' + 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. 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. + 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 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. - - Put 4 APs near SSC targets.' + 1 SSC target connect with PC by UART.' test point 1: basic function - test point 2: STA+SoftAP initial channel test - 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_PHY_0404 - SDK: ESP32_IDF + ID: ^TCPIP_UDP_0108 + 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 SSC2 sta -C -s -p - - ['P SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 sta -C -s -p - - [''] - - - DELAY 10 - - ['P SSC2 NC +JAP:DISCONNECTED', 'P SSC1 C +JAP:CONNECTED'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -i 0.0.0.0 -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 C BIND:ERROR'] + - - SSC SSC1 soc -B -t TCP -p + - ['R SSC1 RE BIND:(\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 + 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 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. + 3.ERROR - PC has one WiFi NIC support capture wlan packet using libpcap. + 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 - Set 4 AP with phy mode 11b, 11g, 11n HT20, 11n HT40. + 2.target1上UDP传输,Bind socket2,本地ip 0.0.0.0 target_udp_port2 - Put 4 APs near SSC targets.' + 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. + + PC has 1 WiFi NIC. + + 1 SSC target connect with PC by UART.' test point 1: basic function - test point 2: STA+SoftAP initial channel test - 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: ^TCPIP_UDP_0110 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -l 1 + - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1] + - - SSC SSC1 soc -S -s -i -p -l 1472 + - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 1472] + - - SSC SSC1 soc -S -s -i -p -l 1473 + - ['P SSC1 RE SEND:(\d+),OK', P SOC_COM NC SOC_RECVFROM] + - - SSC SSC1 soc -S -s -i -p -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 + + 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 + + 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: use UDP SAP (socket/espconn API) with different parameter + version: v1 (2016-8-15) - CI ready: 'Yes' ID: ^TCPIP_UDP_0112 SDK: '8266_NonOS @@ -13164,6 +12850,7 @@ test cases: 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 @@ -13180,52 +12867,64 @@ test cases: test point 2: use UDP SAP (socket/espconn API) with different parameter version: v1 (2016-8-15) - CI ready: 'Yes' - ID: WIFI_PHY_0408 - 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 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 -p - - ['P SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 sta -C -s -p - - [''] - - - DELAY 10 - - ['P SSC2 NC +JAP:DISCONNECTED', 'P SSC1 C +JAP:CONNECTED'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\d+),OK'] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 RE BIND:(\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: 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 - Put 4 APs near SSC targets.' + 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 + 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: STA+SoftAP initial channel test - 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: ^TCPIP_UDP_0114 SDK: '8266_NonOS @@ -13251,6 +12950,7 @@ test cases: 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 @@ -13267,7 +12967,7 @@ test cases: test point 2: use UDP SAP (socket/espconn API) with different parameter version: v1 (2016-8-15) - CI ready: 'Yes' - ID: ^WIFI_CONN_0104 + ID: ^TCPIP_UDP_0201 SDK: '8266_NonOS 8266_RTOS @@ -13279,45 +12979,69 @@ test cases: category: Function cmd set: - '' - - - SSC SSC1 ap -S -s -p -t -m - 1 - - ['R SSC1 C +SAP:OK'] - - - WIFI DISCONN - - ['R PC_COM C +WIFIDISCONN:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] - - - WIFI CONN - - - ['R PC_COM C +WIFICONN:ERROR'] + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -W -s -o 0 + - ['R SSC1 RE WORKTHREAD:\d+,OK'] + - - SOC SOC1 SENDTO 1472 + - [''] + - - SOC SOC1 SENDTO 1472 + - [''] + - - SOC SOC1 SENDTO 1472 + - [''] + - - SOC SOC1 SENDTO 1472 + - [''] + - - SOC SOC1 SENDTO 1472 + - [''] 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 - 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.PC OK - 2.use PC disconnect target1 + 5.PC OK - 3.target 2 jap target1 + 6.PC 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.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 + + 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. - 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_UDP_0202 @@ -13368,6 +13092,7 @@ test cases: 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 @@ -13396,364 +13121,406 @@ test cases: test point 2: use UDP SAP (socket/espconn API) in different state version: v1 (2016-8-15) - CI ready: 'Yes' - ID: ^TCPIP_IGMP_0103 + 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 igmp -J -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 igmp -L -h -m 224.1.1.1 - - ['R SSC1 C +IGMP:OK'] - - - SSC SSC1 igmp -J -h -m 223.1.1.1 - - ['R SSC1 C +IGMP:ERROR'] - - - SSC SSC1 igmp -J -h -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: 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 - - 2. join group with correct host addr and wrong multicast addr - - 3. join group with wrong host addr and correct multicast addr - - 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. - - PC has 1 WiFi NIC. - - 1 SSC target connect with PC by UART.' - test point 1: basic function - test point 2: IGMP API parameter check - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: WIFI_CONN_0101 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -t 0 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] - - - SSC SSC1 ap -S -s -p -t 2 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] - - - SSC SSC1 ap -S -s -p -t - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] - - - SSC SSC1 ap -S -s -p -t 4 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] - - - SSC SSC1 ap -S -s -p -t 1 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -S - - ['R SSC2 RE "\+SCAN:%%s,.+,0,\d+"%%()'] - - - SSC SSC1 ap -S -s -p -t 5 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -S - - ['R SSC2 RE "\+SCAN:%%s,.+,0,\d+"%%()'] - 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_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,加密方式 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. - - 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_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 -t 0 -n 1 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] - - - SSC SSC1 ap -S -s -t 0 -n 13 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] - - - SSC SSC1 ap -S -s -n 15 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -S - - ['R SSC2 RE "\+SCAN:%%s,.+,\d+,1"%%()'] - 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 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SSC SSC1 ap -S -s -p -t -h - 0 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -S -h 0 - - [R SSC2 P , R SSC2 C +SCANDONE] - - - SSC SSC1 ap -S -s -p -t -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 C +SCANDONE] - comment: '' - execution time: 0.0 - expected result: '1.target1 set AP,set ssid broad cast - - 2.target 2上scan target_ap_mac - - 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 - module: WIFI MAC - steps: '1. target1下设置ssid 和pwd 加密方式,set ssid broad cast - - 2.target 2上scan target_ap_mac - - 3. target1下设置ssid 和pwd 加密方式,set ssid hidden, - - 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. - - 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_PHY_0504 - 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 sta -C -s -p - - ['R SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 sta -C -s -p - - ['R SSC1 C +JAP:CONNECTED'] - - - SSC SSC3 sta -C -s -p - - ['R SSC3 C +JAP:CONNECTED'] - - - SSC SSC2 sta -C -s -p - - [''] - - - 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 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_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. - - 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 point 1: basic function - test point 2: STA+SoftAP dynamic channel switch test - version: v1 (2015-8-15) -- CI ready: 'Yes' - ID: ^TCPIP_IP_0101 - SDK: '8266_NonOS - - 8266_RTOS - - 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'] + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -i -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -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 -i -p -l 5 + - ['P SSC1 RE SEND:\d+,ERROR'] comment: '' execution time: 0.0 expected result: '1.OK - 2.ERROR + 2.OK 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) + 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.target1 打开DHCP 1 + steps: '1.PC上SOC1 UDP传输,bing - 2.target1 设置sta ip 192.168.123.123 + 2.target1上UDP传输,Bind socket1,本地ip target_udp_port1 - 4.target1 关闭DHCP 1 + 3.target1上使用步骤2创建的socket1,往pc_ip,test_tcp_port1上发送5字节数据 - 5.target1 设置sta ip 192.168.123.123 + 4.断开与AP 连接 - 6.target1 查询 当前sta ip' - sub module: IP - summary: sta set and query static ip test + 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: set and query static IP + test point 1: abnormal/special use + test point 2: UDP handling abnormal event version: v1 (2016-8-15) - CI ready: 'Yes' - ID: WIFI_CONN_0801 + ID: ^TCPIP_UDP_0302 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -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 + - ['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: 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 + + 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: ^TCPIP_UDP_0303 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -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 -i -p -l 5 + - ['P SSC1 RE SEND:(\d+),OK'] + comment: '' + execution time: 0.0 + expected result: '1.OK + + 2.OK + + 3.OK + + 4.OK + + 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 \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_0304 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -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 + - ['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: 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 \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: abnormal/special use + test point 2: UDP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_UDP_0305 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -l 5 + - ['P SSC1 RE SEND:(\d+),OK', P SOC1 UL 5] + - - NIC DISABLED + - [R PC_COM C OK] + - - SSC SSC1 soc -T -s + - ['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: 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 \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: abnormal/special use + test point 2: UDP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_UDP_0306 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -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 -i -p -l 1 + - ['P SSC1 RE SEND:\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: 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 \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: abnormal/special use + test point 2: UDP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^TCPIP_UDP_0307 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: 1/5 + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SOC SOC1 BIND + - [R SOC_COM L OK] + - - SSC SSC1 soc -B -t UDP -p + - ['R SSC1 A :BIND:(\d+),OK'] + - - SSC SSC1 soc -S -s -i -p -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 + - ['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: 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 \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: abnormal/special use + test point 2: UDP handling abnormal event + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^WIFI_ADDR_0101 SDK: '8266_NonOS 8266_RTOS @@ -13765,48 +13532,40 @@ test cases: category: Function cmd set: - '' - - - SSC SSC1 ap -S -s -p -t 0 - - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['R SSC2 C +JAP:CONNECTED'] - - - SSC SSC1 ap -S -s -p -t 2 - - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,2,0'] - - - SSC SSC1 ap -S -s -p -t 3 - - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,3,2'] - - - SSC SSC1 ap -S -s -p -t 4 - - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,4,3'] - - - SSC SSC1 ap -S -s -p -t 0 - - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,0,4'] + - - 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 + - ['R SSC1 C +MAC:STA,OK'] + - - SSC SSC1 mac -S -o 2 -m + - ['R SSC1 C +MAC:AP,OK'] comment: '' execution time: 0.0 - expected result: '1. succeed + expected result: '1.OK - 2. succeed + 2.ok - 3. auth change event old mode 0 new mode 2 + 3.ok - 4. auth change event old mode 2 new mode 3 + 4.ok - 5. auth change event old mode 3 new mode 4 + 5.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 + 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. 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: test auth change event + 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. @@ -13814,7 +13573,76 @@ test cases: 2 SSC target connect with PC by UART.' test point 1: basic function - test point 2: wifi auth changed event test + test point 2: mac address function test + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^WIFI_ADDR_0102 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + 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 -p -t + - [''] + - - 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC2 mac -Q -o 1 + - ['R SSC2 A :\+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 -p + - ['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 + - ['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 + + 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. + + 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: ^WIFI_CONN_0101 @@ -13862,6 +13690,7 @@ test cases: \ 2 上查询到target_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下设置ssid 和pwd,加密方式 open\n2.target2 jap target1\n3.target1下设置ssid\ \ 和pwd,加密方式 wpa_psk \n4.target2 jap target1\n5.target1下设置ssid 和pwd,加密方式 wpa2_psk\ @@ -13880,7 +13709,7 @@ test cases: test point 2: SAP/JAP with different config version: v1 (2016-8-15) - CI ready: 'Yes' - ID: ^WIFI_CONN_0503 + ID: ^WIFI_CONN_0103 SDK: '8266_NonOS 8266_RTOS @@ -13892,40 +13721,151 @@ test cases: category: Function cmd set: - '' - - - SSC SSC1 sta -R -r 0 - - [R SSC1 C OK] - - - SSC SSC1 sta -C -s -p - - ['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 -p - - ['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 ap -S -s -p -t -h + 0 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -S -h 0 + - [R SSC2 P , R SSC2 C +SCANDONE] + - - SSC SSC1 ap -S -s -p -t -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 C +SCANDONE] comment: '' execution time: 0.0 - expected result: '1. succeed + expected result: '1.target1 set AP,set ssid broad cast - 2. not reconnect when connect failed, status when recv disconnect event is correct + 2.target 2上scan target_ap_mac - 3. not reconnect when connect failed, status when recv disconnect event is correct + 3.target1 set AP,set ssid hidden, - 4. succeed' + 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) + level: Integration + module: WIFI MAC + steps: '1. target1下设置ssid 和pwd 加密方式,set ssid broad cast + + 2.target 2上scan target_ap_mac + + 3. target1下设置ssid 和pwd 加密方式,set ssid hidden, + + 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. + + 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_0104 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t -m + 1 + - ['R SSC1 C +SAP:OK'] + - - WIFI DISCONN + - ['R PC_COM C +WIFIDISCONN:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 RE "\+JAP:CONNECTED,%%s"%%()'] + - - WIFI CONN + + - ['R PC_COM C +WIFICONN:ERROR'] + comment: '' + execution time: 0.0 + expected result: '1. target1 set AP,set max allowed sta as 1 + + 2. use PC disconnect, + + 3.target 2 jap succeed + + 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 + + 2.use PC disconnect target1 + + 3.target 2 jap target1 + + 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. + + 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_0201 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SSC SSC1 sta -Q + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + - - 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.target1 jion AP 成功 + + 2.查询JAP的状态 + + 3.target1 断开AP + + 4.查询target1 JAP 是DISCONN' 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. set sta reconnect policy as not reconnect + steps: '1.target1 jion AP 成功 - 2. sta connect to ap not exist + 2.查询JAP的状态 - 3. sta connect to ap with wrong password + 3.target1 断开AP - 4. reset sta reconnect policy as auto reconnect' + 4.查询target1 JAP 是DISCONN' sub module: WIFI Connect - summary: reconnect policy interact with failed STA connect/reconnect + summary: JAP query test test environment: SSC_T1_1 test environment description (auto): 'PC has 2 wired NIC connected to AP. @@ -13933,10 +13873,10 @@ test cases: 1 SSC target connect with PC by UART.' test point 1: basic function - test point 2: reconnect policy test + test point 2: query JAP status version: v1 (2016-8-15) - CI ready: 'Yes' - ID: ^WIFI_CONN_0502 + ID: ^WIFI_CONN_0301 SDK: '8266_NonOS 8266_RTOS @@ -13948,61 +13888,106 @@ test cases: category: Function cmd set: - '' - - - SSC SSC1 ap -S -s -p -t + - - SSC SSC1 ap -S -s -p -t -h + 0 -m 8 - ['R SSC1 C +SAP:OK'] - - - SSC SSC2 sta -C -s -p - - ['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 ap -Q + - ['R SSC1 RE "\+APCONFIG:%%s,%%s,\d+,3,0,8,\d+"%%(,)'] comment: '' execution time: 0.0 - expected result: '1.target1 set AP + expected result: '1. target1 set AP - 2.target2 jap target 1 - - 3.设置reconn,开启(此功能不需要重启系统) - - 4.target2 断开target1 连接 - - 5.等待10s,target2 自动重连target1 - - 6.target2 断开target1 连接' - initial condition: T2_2 - initial condition description (auto): target 1 as AP+STA, target 2 as AP+STA (autogen) + 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.target1下设置ssid 和pwd 加密方式 + steps: '1. target1 set AP - 2.target2 jap target 1 - - 3.设置reconn,开启(此功能不需要重启系统) - - 4.target2 断开target1 连接 - - 5.等待10s,target2 自动重连target1 - - 6.target2 断开target1 连接' + 2.target 1上查询到跟设置AP时一致' 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. + 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.' - 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: query AP config + 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' + 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.设置autoreconn,关闭 + + 2.查询当前autoreconn状态是否关闭 + + 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. + + 1 SSC target connect with PC by UART.' + test point 1: basic function + test point 2: power on auto reconnect test version: v1 (2016-8-15) - CI ready: 'Yes' ID: ^WIFI_CONN_0501 @@ -14066,6 +14051,7 @@ test cases: 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\ @@ -14082,7 +14068,7 @@ test cases: test point 2: reconnect policy test version: v1 (2016-8-15) - CI ready: 'Yes' - ID: TCPIP_TCP_0115 + ID: ^WIFI_CONN_0502 SDK: '8266_NonOS 8266_RTOS @@ -14094,78 +14080,221 @@ test cases: category: Function cmd set: - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['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'] comment: '' execution time: 0.0 - expected result: '1.OK + expected result: '1.target1 set AP - 2.OK + 2.target2 jap target 1 - 3.OK,pc tcp server accept成功 + 3.设置reconn,开启(此功能不需要重启系统) - 4 OK + 4.target2 断开target1 连接 - 5.OK,pc tcp server accept成功 + 5.等待10s,target2 自动重连target1 - 6.OK + 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 加密方式 - 7.OK,pc tcp server accept成功 + 2.target2 jap target 1 - 8 OK + 3.设置reconn,开启(此功能不需要重启系统) - 9.OK,pc tcp server accept成功 + 4.target2 断开target1 连接 - 10.OK + 5.等待10s,target2 自动重连target1 - 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 + 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. - 2.target1上创建TCP socket1 + PC has 1 WiFi NIC. - 3.target1上使用步骤2创建的socket1,去连接 PC的ip,test_tcp_port1,PC有ACCEPT + 2 SSC target connect with PC by UART.' + test point 1: abnormal/special use + test point 2: reconnect policy test + version: v1 (2016-8-15) +- CI ready: 'Yes' + ID: ^WIFI_CONN_0601 + 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 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN + + - ['R PC_COM C +WIFICONN:OK'] + - - SSC SSC2 sta -C -s -p + - ['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 - 6.target1上创建TCP socket3 + 2.PC WIFI CONNECTED - 7.target1上使用步骤6创建的socket3,去连接 PC的ip,test_tcp_port1,PC有ACCEPT + 3.target2 jap target 1 - 8.target1上创建TCP socket4 + 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 加密方式 - 9.target1上使用步骤8创建的socket4,去连接 PC的ip,test_tcp_port1,PC有ACCEPT + 2.PC WIFI CONNECTED target1 - 10.target1上创建TCP socket5 + 3.target2 jap target 1 - 11.target1上使用步骤10创建的socket5,去连接 PC的ip,test_tcp_port1,PC有ACCEPT' - sub module: TCP - summary: AP mode, create max TCP sockets test + 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. + + PC has 1 WiFi NIC. + + 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 -p -t 0 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 ap -S -s -p -t 2 + - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,2,0'] + - - SSC SSC1 ap -S -s -p -t 3 + - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,3,2'] + - - SSC SSC1 ap -S -s -p -t 4 + - ['P SSC1 C +SAP:OK', 'P SSC2 C +JAP:AUTHCHANGED,4,3'] + - - SSC SSC1 ap -S -s -p -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. 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: 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. + + 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: ^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 -p + - ['R SSC1 C +JAP:CONNECTED'] + - - SSC SSC1 sta -D + - ['R SSC1 RE JAP:DISCONNECTED,\d+,8'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE JAP:DISCONNECTED,\d+,15'] + - - SSC SSC1 sta -C -s -p + - ['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. @@ -14173,7 +14302,153 @@ test cases: 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: 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 -p + - ['R SSC1 C +JAP:CONNECTED'] + - - APC OFF + - [P PC_COM L OK, 'R SSC1 RE JAP:DISCONNECTED,\d+,200'] + - - APC ON + - [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: ^WIFI_CONN_0903 + SDK: '8266_NonOS + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 sta -C -s -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: 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. + + 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 + + 8266_RTOS + + ESP32_IDF' + Test App: SSC + allow fail: '' + auto test: 'Yes' + category: Function + cmd set: + - '' + - - SSC SSC1 ap -S -s -p -t 3 -m 1 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -C -s -p 1234567890 + - ['R SSC2 RE JAP:DISCONNECTED,\d+,204'] + - - SSC SSC2 sta -D + - ['R SSC2 C +QAP:OK'] + - - WIFI CONN + - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - SSC SSC2 sta -C -s -p + - ['R SSC2 RE JAP:DISCONNECTED,\d+,5'] + - - WIFI DISCONN + - [P PC_COM C OK, 'R SSC2 C +JAP:CONNECTED'] + - - SSC SSC1 ap -S -s -p -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 + + 2. disconnect event REASON_HANDSHAKE_TIMEOUT + + 3. succeed + + 4. succeed + + 5. disconnect event REASON_ASSOC_TOOMANY + + 6. succeed, target2 connect succeed + + 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 + + 2. target2 connect to target1 with wrong password + + 3. target2 disconnect + + 4. PC WIFI NIC connect to target1 + + 5. target2 connect to target1 with correct password + + 6. PC WIFI NIC disconnect + + 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. + + 2 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_SCAN_0101 @@ -14203,6 +14478,7 @@ test cases: 3.target2上查询到' 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 @@ -14221,7 +14497,7 @@ test cases: test point 2: scan with different config version: v1 (2016-8-15) - CI ready: 'Yes' - ID: TCPIP_TCP_0114 + ID: ^WIFI_SCAN_0102 SDK: '8266_NonOS 8266_RTOS @@ -14233,90 +14509,35 @@ test cases: category: Function cmd set: - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -T -s - - ['R SSC1 RE CLOSE:\d+,OK'] - - - SSC SSC1 soc -B -t TCP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,OK'] - - - SOC SOC2 CONNECT 0 - - ['R SSC1 A :ACCEPT:(\d+),\d+,.+,\d+'] - - - SSC SSC1 soc -T -s - - ['R SSC1 RE CLOSE:\d+,OK'] - - - SSC SSC1 soc -T -s - - ['R SSC1 RE CLOSE:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -T -s - - ['R SSC1 RE CLOSE:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s - - ['R SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -T -s - - ['R SSC1 RE CLOSE:\d+,OK'] + - - SSC SSC2 sta -S -b ff:ff:ff:ff:ff:11 + - ['R SSC2 NC +SCAN: C +SCANDONE'] + - - SSC SSC2 sta -S -b + - ['R SSC2 RE "\+SCAN:.+,%%s"%%()', 'R SSC2 NC +SCAN: C +SCANDONE'] comment: '' execution time: 0.0 - expected result: '1.OK + expected result: '1.target2 上不能查询到此mac - 2.OK + 2.target2上查询到' + 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 - 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,\ - \ ,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. + 2.target2上查询' + 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_0116 + ID: ^WIFI_SCAN_0103 SDK: '8266_NonOS 8266_RTOS @@ -14328,57 +14549,47 @@ test cases: category: Function cmd set: - '' - - - SSC SSC1 soc -B -t TCP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,OK'] - - - SOC SOC2 CONNECT 0 - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - - - SOC SOC3 CONNECT 0 - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - - - SOC SOC4 CONNECT 0 - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - - - SOC SOC5 CONNECT 0 - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] - - - SOC SOC6 CONNECT 0 - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+'] + - - SSC SSC1 sta -D + - ['R SSC1 C +QAP:'] + - - SSC SSC1 ap -S -s -p 123456789 -t 3 -n 6 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -S -n 5 + - [R SSC2 NP C +SCANDONE] + - - SSC SSC2 sta -S -n 6 + - ['R SSC2 C +SCAN:', R SSC2 P ] comment: '' execution time: 0.0 - expected result: '1.+BIND:0,OK,0.0.0.0 + expected result: '1.target1 QAP - 2.OK + 2. target1 set AP,set channel 6 - 3.OK,pc tcp server accept成功 + 3.target2 上scan不到 channel 5 - 4.OK,pc tcp server accept成功 + 4.target2 上查询channel 6的' + 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 - 5.OK,pc tcp server accept成功 + 2.target1下设置ssid 和pwd 加密方式,set channel 6 - 6.OK,pc tcp server accept成功 + 3.target2 上scan channel 5 - 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,\ - \ ,tcp 连接创建成功,创建socket2 \n4.PC CONNECT, ,tcp 连接创建成功,创建socket3\ - \ \n5.PC CONNECT, ,tcp 连接创建成功,创建socket4 \n6.PC CONNECT,\ - \ ,tcp 连接创建成功,创建socket5 \n7.PC CONNECT, ,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. + 4.target2 上查询channel 6的' + 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_0111 + ID: ^WIFI_SCAN_0104 SDK: '8266_NonOS 8266_RTOS @@ -14390,47 +14601,59 @@ test cases: category: Function cmd set: - '' - - - SSC SSC1 soc -B -t TCP -p - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -L -s - - ['R SSC1 RE LISTEN:\d+,OK'] - - - SOC SOC1 CONNECT 0 - - ['R SSC1 RE ACCEPT:(\d+),\d+,.+,\d+', P SOC_COM C OK] - - - SOC SOC1 CONNECT 0 - - [P SOC_COM C ERROR, P SSC1 NC ACCEPT] + - - SSC SSC1 ap -S -s -p 123456789 -t 3 -h 0 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -S -h 0 + - [R SSC2 P C +SCANDONE] + - - SSC SSC2 sta -S -h 1 + - [R SSC2 P C +SCANDONE] + - - SSC SSC1 ap -S -s -p 123456789 -h 1 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -S -h 0 + - [R SSC2 NP C +SCANDONE] + - - SSC SSC2 sta -S -h 1 + - [R SSC2 P C +SCANDONE] comment: '' execution time: 0.0 - expected result: '1.OK + expected result: '1.target1 set AP,set ssid broad cast - 2.OK + 2.target 2上scan - 3.PC TCP client accept + 3.target 2上scan - 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到本地端口 + 4.target1 set AP,set ssid hidden, - 2.target1上使用步骤1创建的socket,创建TCP 监听 + 5.target 2上不能查询到 - 3.PC TCP 连接到target1 , + 6.target 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 - 4.PC tcp 连接到不存在的port ,' - 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. + 2.target 2上scan + + 3.target 2上scan + + 4.target1下设置ssid 和pwd 加密方式,set ssid hidden, + + 5.target 2上查询 + + 6.target 2上查询' + 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_0113 + ID: ^WIFI_SCAN_0105 SDK: '8266_NonOS 8266_RTOS @@ -14442,154 +14665,54 @@ test cases: category: Function cmd set: - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s -h B - - ['R SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s -h W - - ['R SSC1 RE SHUTDOWN:\d+,OK'] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SSC SSC1 soc -D -s -h R - - ['R SSC1 RE SHUTDOWN:\d+,OK'] + - - SSC SSC1 sta -D + - ['R SSC1 C +QAP:'] + - - SSC SSC1 ap -S -s -p 123456789 -t 3 -h 0 -n 11 + - ['R SSC1 C +SAP:OK'] + - - SSC SSC2 sta -S -s -b -n 11 + - [R SSC2 P C +SCANDONE] + - - SSC SSC2 sta -S -s -b -n 11 + - [R SSC2 NP C +SCANDONE] + - - SSC SSC2 sta -S -s -b ff:ff:ff:ff:ff:11 -n 11 + - [R SSC2 P , R SSC2 NP C +SCANDONE] + - - SSC SSC2 sta -S -s -b -n 10 + - [R SSC2 P , R SSC2 NP C +SCANDONE] comment: '' execution time: 0.0 - expected result: '1.OK + expected result: '1.target1 QAP - 2.OK + 2. target1 set AP,set ssid broad cast,set channel 11 - 3.OK,pc tcp server accept成功 + 3.target2 上查询到 - 4.OK + 4.target2 上查询不到 - 5.OK + 5.target2 上查询不到 - 6.OK,pc tcp server accept成功 + 6.target2 上查询不到' + 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 - 7.OK + 2. target1 set AP,set ssid broad cast,set channel 11 - 8.OK + 3.target2 上查询到 - 9.OK,pc tcp server accept成功 + 4.target2 上查询不到 - 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 + 5.target2 上查询不到 - 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: AP mode, shutdown basic test - test environment: SSC_T1_1 - test environment description (auto): 'PC has 2 wired NIC connected to AP. + 6.target2 上查询不到' + 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 - version: v1 (2016-8-15) -- CI ready: 'Yes' - ID: TCPIP_TCP_0112 - SDK: '8266_NonOS - - 8266_RTOS - - ESP32_IDF' - Test App: SSC - allow fail: '' - auto test: 'Yes' - category: Function - cmd set: - - '' - - - SOC SOC1 LISTEN - - [R SOC_COM L OK] - - - SSC SSC1 soc -B -t TCP - - ['R SSC1 A :BIND:(\d+),OK'] - - - SSC SSC1 soc -C -s -i -p - - ['R SSC1 RE CONNECT:\d+,OK'] - - - SOC SOC1 ACCEPT SOC2 - - [R SOC_COM L OK] - - - SOC SOC2 SEND 5 - - [R SSC1 SL +5] - - - SSC SSC1 soc -S -s -l 5 - - ['P SSC1 RE SEND:\d+,OK', P SOC2 RL 5] - - - SOC SOC2 SEND 146000 - - [R SSC1 SL +146000] - - - SSC SSC1 soc -S -s -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成功 - - 4.OK - - 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 - 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: 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: 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) diff --git a/components/test/TestEnvAll.yml b/components/idf_test/integration_test/TestEnvAll.yml similarity index 100% rename from components/test/TestEnvAll.yml rename to components/idf_test/integration_test/TestEnvAll.yml index a978f5f73..afa6cb812 100644 --- a/components/test/TestEnvAll.yml +++ b/components/idf_test/integration_test/TestEnvAll.yml @@ -1,82 +1,18 @@ 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 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). - - 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, 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, 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: 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} -- {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: 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 - - 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: 1.0, script path: EnvBase.py, tag: AT_T1_HighSpeedUART, +- {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 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. - - 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. - 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: Y, Target Count: 1.0, UART ports: 'SSC1 +- {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. - 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: '', 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} + 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. @@ -85,10 +21,88 @@ test environment: 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: N, Target Count: 1.0, script path: EnvBase.py, tag: SSC_T1_WEP, - test environment detail: '1 SSC target connect with PC by UART. +- {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. - One WEP share key AP placed near SSC1.', test script: EnvBase} + 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. @@ -102,12 +116,15 @@ test environment: \ 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. @@ -116,30 +133,6 @@ test environment: 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. @@ -148,12 +141,100 @@ test environment: 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. @@ -170,106 +251,25 @@ test environment: 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, 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: 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: 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. - - 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. - - 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: 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: 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: 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. + 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. - 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. + PC has 1 wired NIC connected to switch. - 1 SSC target connect with PC by UART. + APC, AP also connect with swtich. - 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. + All devices connected with switch use same IP subnet. - 2 SSC target connect with PC by UART. + 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. - 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. - - 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: 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: 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: 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} diff --git a/components/idf_test/uint_test/InitialConditionAll.yml b/components/idf_test/uint_test/InitialConditionAll.yml new file mode 100644 index 000000000..ba06af9f8 --- /dev/null +++ b/components/idf_test/uint_test/InitialConditionAll.yml @@ -0,0 +1,2935 @@ +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,"%%(,)'] + - - SSC SSC1 dhcp -Q -o 2 + - ['R SSC1 C +DHCP:AP,STARTED'] + - - SSC SSC1 mac -Q -o 2 + - [R SSC1 P ] + 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 ap -S -s -p -t + - ['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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 ap -S -s -p -t + - ['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,"%%(,)'] + - - SSC SSC1 ap -L + - ['R SSC1 RE "\+LSTA:.+,%%s"%%()'] + - - SSC SSC1 dhcp -Q -o 2 + - ['R SSC1 C +DHCP:AP,STARTED'] + - - SSC SSC1 mac -Q -o 2 + - [R SSC1 P ] + 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 dhcp -S -o 2 + - [R SSC1 C +DHCP] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN + + - ['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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 dhcp -S -o 2 + - [R SSC1 C +DHCP] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN + + - ['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,"%%(,)'] + - - SSC SSC1 dhcp -Q -o 2 + - ['R SSC1 C +DHCP:AP,STARTED'] + - - SSC SSC1 mac -Q -o 2 + - [R SSC1 P ] + 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 ap -S -s -p -t + - ['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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 ap -S -s -p -t + - ['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,"%%(,)'] + - - SSC SSC1 ap -L + - ['R SSC1 RE "\+LSTA:.+,%%s"%%()'] + - - SSC SSC1 dhcp -Q -o 2 + - ['R SSC1 C +DHCP:AP,STARTED'] + - - SSC SSC1 mac -Q -o 2 + - [R SSC1 P ] + 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 dhcp -S -o 2 + - [R SSC1 C +DHCP] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN + + - ['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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 dhcp -S -o 2 + - [R SSC1 C +DHCP] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN + + - ['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 + - [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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SOC SOC1 ULISTEN + - [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 -p -u + - ['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 :(\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,"%%(,)'] + - - SSC SSC1 dhcp -Q -o 2 + - ['R SSC1 C +DHCP:AP,STARTED'] + - - SSC SSC1 mac -Q -o 2 + - [R SSC1 P ] + 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 dhcp -S -o 2 + - [R SSC1 C +DHCP] + - - SSC SSC1 ap -S -s -p -t + - ['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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 dhcp -S -o 2 + - [R SSC1 C +DHCP] + - - SSC SSC1 ap -S -s -p -t + - ['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,"%%(,)'] + - - SSC SSC1 ap -L + - ['R SSC1 RE "\+LSTA:.+,%%s"%%()'] + - - SSC SSC1 dhcp -Q -o 2 + - ['R SSC1 C +DHCP:AP,STARTED'] + - - SSC SSC1 mac -Q -o 2 + - [R SSC1 P ] + 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 dhcp -S -o 2 + - [R SSC1 C +DHCP] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN + + - ['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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC1 dhcp -S -o 2 + - [R SSC1 C +DHCP] + - - SSC SSC1 ap -S -s -p -t + - ['R SSC1 C +SAP:OK'] + - - WIFI CONN + + - ['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 ] + - - 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 + - [R AT1 L OK] + - - ATS AT1 AT+CWDHCP_DEF=2,1 + - [R AT1 R *] + - - WIFI CONN + + - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - ATS AT1 AT+CWLIF + - [R AT1 P ] + 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 ] + - - 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 :(\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 ] + - - ATS AT1 AT+CIPMUX? + - ['R AT1 L +CIPMUX:1'] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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 + - [R AT1 L OK] + - - ATS AT1 AT+CWDHCP_DEF=2,1 + - [R AT1 R *] + - - WIFI CONN + + - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - ATS AT1 AT+CWLIF + - [R AT1 P ] + - - 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 + - [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 + - [R AT1 R *] + - - ATS AT1 AT+CWLIF + - [R AT1 P ] + - - 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 :(\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 ] + - - 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 + - [R AT1 L OK] + - - ATS AT1 AT+CWDHCP_DEF=2,1 + - [R AT1 R *] + - - WIFI CONN + + - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - ATS AT1 AT+CWLIF + - [R AT1 P ] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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 + - [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 ] + - - 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 :(\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 :(\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 :(\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 :(\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 ] + - - ATS AT1 AT+CIPMUX? + - ['R AT1 L +CIPMUX:1'] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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 + - [R AT1 L OK] + - - WIFI CONN + + - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - ATS AT1 AT+CWLIF + - [R AT1 P ] + - - 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 + - [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 + - [R AT1 R *] + - - ATS AT1 AT+CWLIF + - [R AT1 P ] + - - 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 :(\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 ] + - - 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 + - [R AT1 L OK] + - - ATS AT1 AT+CWDHCP_DEF=0,1 + - [R AT1 R *] + - - WIFI CONN + + - ['R PC_COM NC ERROR C +WIFICONN:OK'] + - - ATS AT1 AT+CWLIF + - [R AT1 P ] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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 + - [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 ] + - - 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 :(\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 :(\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 :(\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 :(\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 :(\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 ] + - - 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 + - [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 + - [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 + - [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 + - [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 + - [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 :(\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 ] + - - 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 + - [R AT1 L OK] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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 + - [R AT1 L OK] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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 :(\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 ] + - - ATS AT1 AT+CIPMUX? + - ['R AT1 L +CIPMUX:1'] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [R AT1 R *] + - - ATC AT1 CIPSTA_DEF + - [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 + - [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 + - [R AT1 R *] + - - ATC AT1 CIPSTA_DEF + - [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 + - [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 + - [R AT1 R *] + - - ATC AT1 CIPSTA_DEF + - [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 :(\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 ] + - - 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 + - [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 + - [R AT1 L OK] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [R AT1 R *] + - - ATS AT1 AT+CIPMUX=0 + - [R AT1 L OK] + - - ATS AT1 AT+CIPCLOSE + - [R AT1 R *] + - - ATC AT1 CIPSTA_DEF + - [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 + - [R AT1 L OK] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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 + - [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 :(\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 :(\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 :(\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 :(\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 :(\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 ] + - - 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 + - [R AT1 L OK] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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 + - [R AT1 L OK] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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 :(\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 :(\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 :(\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 :(\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 ] + - - 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 + - [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 + - [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 + - [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 + - [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 + - [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 :(\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 ] + - - 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 + - [R AT1 L OK] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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 + - [R AT1 L OK] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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 :(\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 ] + - - ATS AT1 AT+CIPMUX? + - ['R AT1 L +CIPMUX:1'] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [R AT1 R *] + - - ATC AT1 CIPSTA_DEF + - [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 + - [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 + - [R AT1 R *] + - - ATC AT1 CIPSTA_DEF + - [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 + - [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 + - [R AT1 R *] + - - ATC AT1 CIPSTA_DEF + - [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 :(\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 ] + - - 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 + - [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 + - [R AT1 L OK] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [R AT1 R *] + - - ATS AT1 AT+CIPMUX=0 + - [R AT1 L OK] + - - ATS AT1 AT+CIPCLOSE + - [R AT1 R *] + - - ATC AT1 CIPSTA_DEF + - [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 + - [R AT1 L OK] + - - ATS AT1 AT+CIPSERVER=0 + - [R AT1 R *] + - - ATC AT1 CIPCLOSE + - [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 + - [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 :(\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 :(\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 :(\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-] reboot + - ['P SSC[1-] C !!!ready!!!'] + - - SSC SSC[1-] mesh -E -o 0 + - ['P SSC[1-] C +MESH:DISABLED'] + - - SSC SSC[1-] op -S -o 1 + - ['P SSC[1-] C +MODE:OK'] + - - SSC SSC[1-] sta -D + - ['P SSC[1-] C +QAP:OK'] + initial condition detail: all mesh node disabled + restore cmd set: + - '' + - - SSC SSC[1-] mesh -E -o 0 + - ['P SSC[1-] C +MESH:DISABLED'] + - - SSC SSC[1-] op -S -o 1 + - ['P SSC[1-] C +MODE:OK'] + - - SSC SSC[1-] sta -D + - ['P SSC[1-] C +QAP:OK'] + restore post cmd set: + - '' + - - SSC SSC1 ram + - ['R SSC1 A :(\d+)'] + script path: InitCondBase.py + start: 31.0 + tag: DISABLED + test script: InitCondBase +- check cmd set: + - '' + - - ASSERT + - [dummy] + - - SSC SSC[1-] mesh -Q -t 4 + - ['R SSC[1-] T '] + - - MESHTREE + - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] + force restore cmd set: + - '' + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC[1-] mesh -E -o 0 + - ['P SSC[1-] C +MESH:DISABLED'] + - - SSC SSC[1-] mesh -I -g -a 4 -k -i + -p -h 5 + - ['P SSC[1-] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK'] + - - SSC SSC[1-] mesh -A -s -k + - ['P SSC[1-] 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-] mesh -E -o 1 -t 2 + - ['P SSC[2-] C +MESH:ENABLED'] + - - DELAY 60 + - [''] + - - SSC SSC[1-] mesh -C + - ['P SSC[1-] C +MESH:CONNECTED'] + - - SSC SSC[1-] mesh -Q -t 4 + - ['R SSC[1-] T '] + - - MESHTREE + - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] + - - SSC SSC[1-] mesh -O -t 1 -o 1 + - ['P SSC[1-] C +MESH:OK'] + initial condition detail: all mesh node enabled as ONLINE, mesh network established + restore cmd set: + - '' + - - SSC SSC[1-] reboot + - ['P SSC[1-] C !!!ready!!!'] + - - SOC SOC1 LISTEN + - [R SOC_COM L OK] + - - SSC SSC[1-] mesh -E -o 0 + - ['P SSC[1-] C +MESH:DISABLED'] + - - SSC SSC[1-] mesh -I -g -a 4 -k -i + -p -h 5 + - ['P SSC[1-] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK'] + - - SSC SSC[1-] mesh -A -s -k + - ['P SSC[1-] 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-] mesh -E -o 1 -t 2 + - ['P SSC[2-] C +MESH:ENABLED'] + - - DELAY 60 + - [''] + - - SSC SSC[1-] mesh -C + - ['P SSC[1-] C +MESH:CONNECTED'] + - - SSC SSC[1-] mesh -Q -t 4 + - ['R SSC[1-] T '] + - - MESHTREE + - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] + - - SSC SSC[1-] mesh -O -t 1 -o 1 + - ['P SSC[1-] C +MESH:OK'] + restore post cmd set: + - '' + - - SSC SSC1 ram + - ['R SSC1 A :(\d+)'] + script path: InitCondBase.py + start: 17.0 + tag: ENABLED_1 + test script: InitCondBase +- check cmd set: + - '' + - - ASSERT + - [dummy] + - - SSC SSC[1-] mesh -Q -t 4 + - ['R SSC[1-] T '] + - - MESHTREE + - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] + force restore cmd set: + - '' + - - SSC SSC[1-] reboot + - ['P SSC[1-] C !!!ready!!!'] + - - SSC SSC[1-] mesh -I -g -a 4 -k -i + -p -h 5 + - ['P SSC[1-] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK'] + - - SSC SSC1 mesh -A -s -k + - ['P SSC1 C +MESHINIT:AP,OK'] + - - SSC SSC1 mesh -E -o 1 -t 1 + - ['P SSC1 C +MESH:ENABLED'] + - - SSC SSC[2-] mesh -E -o 1 -t 2 + - [''] + - - DELAY 60 + - ['P SSC[2-] C +MESH:ENABLED'] + - - SSC SSC[1-] mesh -C + - ['P SSC[1-] C +MESH:CONNECTED'] + - - SSC SSC[1-] mesh -Q -t 4 + - ['R SSC[1-] T '] + - - MESHTREE + - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] + initial condition detail: root as LOCAL, rest node as ONLINE, mesh network established + restore cmd set: + - '' + - - SSC SSC[1-] mesh -E -o 0 + - ['P SSC[1-] C +MESH:DISABLED'] + - - SSC SSC[1-] mesh -I -g -a 4 -k -i + -p -h 5 + - ['P SSC[1-] C ENCRYPTION,OK C GROUP,OK C SERVER,OK C HOP,OK'] + - - SSC SSC1 mesh -A -s -k + - ['P SSC1 C +MESHINIT:AP,OK'] + - - SSC SSC1 mesh -E -o 1 -t 1 + - ['P SSC1 C +MESH:ENABLED'] + - - SSC SSC[2-] mesh -E -o 1 -t 2 + - [''] + - - DELAY 60 + - ['P SSC[2-] C +MESH:ENABLED'] + - - SSC SSC[1-] mesh -C + - ['P SSC[1-] C +MESH:CONNECTED'] + - - SSC SSC[1-] mesh -Q -t 4 + - ['R SSC[1-] T '] + - - MESHTREE + - ['R PC_COM RE "MESHTREE:%%s%20nodes"%%()'] + restore post cmd set: + - '' + - - SSC SSC1 ram + - ['R SSC1 A :(\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 ] + - - SSC SSC1 espnow -D + - ['R SSC1 C +ESPNOW:'] + force restore cmd set: + - '' + - - SSC SSC[1-] reboot + - ['R SSC[1-] C !!!ready!!!'] + - - SSC SSC1 op -S -o 2 + - ['R SSC1 C +MODE:OK'] + - - SSC SSC1 mac -S -m -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 -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 :(\d+)'] + script path: InitCondBase.py + start: 17.0 + tag: NOW1 + test script: InitCondBase +- check cmd set: + - '' + - - SSC SSC[1-] op -Q + - ['R SSC[1-] C +CURMODE:2'] + - - SSC SSC[1-] mac -Q -o 3 + - ['R SSC[1-] P ]_ap_mac> P ]_mac>'] + - - SSC SSC[1-] espnow -D + - ['R SSC[1-] C +ESPNOW:'] + - - SSC SSC[1-] espnow -I + - ['R SSC[1-] C +ESPNOW:OK'] + - - SSC SSC[1-] espnow -R -t Set -r 2 + - ['R SSC[1-] C +ESPNOW:OK'] + force restore cmd set: + - '' + - - SSC SSC[1-] reboot + - ['R SSC[1-] C !!!ready!!!'] + - - SSC SSC[1-] op -S -o 3 + - ['R SSC[1-] C +MODE:OK'] + - - SSC SSC[1-] mac -S -m ]_ap_mac> -o 2 + - ['R SSC[1-] C +MAC:AP,OK'] + - - SSC SSC[1-] mac -S -m ]_mac> -o 1 + - ['R SSC[1-] C +MAC:STA,OK'] + - - SSC SSC[1-] op -S -o 2 + - ['R SSC[1-] C +MODE:OK'] + - - SSC SSC[1-] espnow -D + - ['R SSC[1-] C +ESPNOW:'] + - - SSC SSC[1-] espnow -I + - ['R SSC[1-] C +ESPNOW:OK'] + - - SSC SSC[1-] espnow -R -t Set -r 2 + - ['R SSC[1-] C +ESPNOW:OK'] + initial condition detail: multiple () targets in AP mode, espnow is initialized + with self role slave + restore cmd set: + - '' + - - SSC SSC[1-] op -S -o 3 + - ['R SSC[1-] C +MODE:OK'] + - - SSC SSC[1-] mac -S -m ]_ap_mac> -o 2 + - ['R SSC[1-] C +MAC:AP,OK'] + - - SSC SSC[1-] mac -S -m ]_mac> -o 1 + - ['R SSC[1-] C +MAC:STA,OK'] + - - SSC SSC[1-] op -S -o 2 + - ['R SSC[1-] C +MODE:OK'] + - - SSC SSC[1-] espnow -D + - ['R SSC[1-] C +ESPNOW:'] + - - SSC SSC[1-] espnow -I + - ['R SSC[1-] C +ESPNOW:OK'] + - - SSC SSC[1-] espnow -R -t Set -r 2 + - ['R SSC[1-] C +ESPNOW:OK'] + restore post cmd set: + - '' + - - SSC SSC1 ram + - ['R SSC1 A :(\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 :(\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 P '] + - - 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 -o 2 + - ['R SSC[1,2] C +MAC:AP,OK'] + - - SSC SSC[1,2] mac -S -m -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 -o 2 + - ['R SSC[1,2] C +MAC:AP,OK'] + - - SSC SSC[1,2] mac -S -m -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 :(\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 P '] + - - 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 -o 2 + - ['R SSC[1,2] C +MAC:AP,OK'] + - - SSC SSC[1,2] mac -S -m -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 -o 2 + - ['R SSC[1,2] C +MAC:AP,OK'] + - - SSC SSC[1,2] mac -S -m -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 :(\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 ] + 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 + - ['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 + - ['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"%%()'] + - - SSC SSC1 dhcp -Q -o 1 + - ['R SSC1 C +DHCP:STA,STARTED'] + - - SSC SSC1 mac -Q -o 1 + - [R SSC1 P ] + 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 + - ['R SSC1 C +MAC:STA,OK'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + 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 + - ['R SSC1 C +MAC:STA,OK'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + 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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + force restore cmd set: + - '' + - - SSC SSC1 upgrade -R -r 1 -s + - [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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SOC SOC1 ULISTEN + - [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 -p -u + - ['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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + 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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + restore post cmd set: + - '' + - - SSC SSC1 upgrade -D + - ['R SSC1 C +UPGRADE:OK'] + - - SSC SSC1 ram + - ['R SSC1 A :(\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 ] + 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 + - ['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 + - ['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"%%()'] + - - SSC SSC1 dhcp -Q -o 1 + - ['R SSC1 C +DHCP:STA,STARTED'] + - - SSC SSC1 mac -Q -o 1 + - [R SSC1 P ] + 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 + - ['R SSC1 C +MAC:STA,OK'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + 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 + - ['R SSC1 C +MAC:STA,OK'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + 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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + force restore cmd set: + - '' + - - SSC SSC1 upgrade -R -r 1 -s + - [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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + - - SOC SOC1 ULISTEN + - [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 -p -u + - ['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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + 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 -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + restore post cmd set: + - '' + - - SSC SSC1 upgrade -D + - ['R SSC1 C +UPGRADE:OK'] + - - SSC SSC1 ram + - ['R SSC1 A :(\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 ] + 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 + - ['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 + - ['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"%%()'] + - - SSC SSC1 dhcp -Q -o 1 + - ['R SSC1 C +DHCP:STA,STARTED'] + - - SSC SSC1 mac -Q -o 1 + - [R SSC1 P ] + 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 + - ['R SSC1 C +MAC:STA,OK'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + 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 + - ['R SSC1 C +MAC:STA,OK'] + - - SSC SSC1 sta -C -s -p + - ['R SSC1 RE "\+JAP:CONNECTED,%%s"%%()'] + 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 ] + - - SSC SSC2 mac -Q -o 1 + - [R SSC2 P ] + 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC2 mac -S -o 1 -m + - ['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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC2 mac -S -o 1 -m + - ['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 ] + - - SSC SSC2 mac -Q -o 1 + - [R SSC2 P ] + 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC2 mac -S -o 1 -m + - ['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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC2 mac -S -o 1 -m + - ['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 ] + - - SSC SSC2 mac -Q -o 1 + - [R SSC2 P ] + 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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC2 mac -S -o 1 -m + - ['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 + - ['R SSC1 C +MAC:AP,OK'] + - - SSC SSC2 mac -S -o 1 -m + - ['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 :(\d+)'] + script path: InitCondBase.py + start: 87.0 + tag: T3_PHY1 + test script: InitCondBase diff --git a/components/idf_test/uint_test/TestCaseAll.yml b/components/idf_test/uint_test/TestCaseAll.yml new file mode 100644 index 000000000..2b2c65e0b --- /dev/null +++ b/components/idf_test/uint_test/TestCaseAll.yml @@ -0,0 +1 @@ +test cases: [] diff --git a/components/idf_test/uint_test/TestEnvAll.yml b/components/idf_test/uint_test/TestEnvAll.yml new file mode 100644 index 000000000..afa6cb812 --- /dev/null +++ b/components/idf_test/uint_test/TestEnvAll.yml @@ -0,0 +1,275 @@ +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} diff --git a/components/test/CIConfigs/Function_TCPIP_01.yml b/components/test/CIConfigs/Function_TCPIP_01.yml deleted file mode 100644 index e947b0c5c..000000000 --- a/components/test/CIConfigs/Function_TCPIP_01.yml +++ /dev/null @@ -1,10 +0,0 @@ -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] diff --git a/components/test/CIConfigs/Function_TCPIP_02.yml b/components/test/CIConfigs/Function_TCPIP_02.yml deleted file mode 100644 index 6a3cb08d6..000000000 --- a/components/test/CIConfigs/Function_TCPIP_02.yml +++ /dev/null @@ -1,10 +0,0 @@ -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] diff --git a/components/test/CIConfigs/Function_TCPIP_03.yml b/components/test/CIConfigs/Function_TCPIP_03.yml deleted file mode 100644 index 0c4ac3752..000000000 --- a/components/test/CIConfigs/Function_TCPIP_03.yml +++ /dev/null @@ -1,10 +0,0 @@ -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] diff --git a/components/test/CIConfigs/Function_TCPIP_04.yml b/components/test/CIConfigs/Function_TCPIP_04.yml deleted file mode 100644 index f8bdb264b..000000000 --- a/components/test/CIConfigs/Function_TCPIP_04.yml +++ /dev/null @@ -1,10 +0,0 @@ -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] diff --git a/components/test/CIConfigs/Function_TCPIP_05.yml b/components/test/CIConfigs/Function_TCPIP_05.yml deleted file mode 100644 index 21b3b7a6d..000000000 --- a/components/test/CIConfigs/Function_TCPIP_05.yml +++ /dev/null @@ -1,8 +0,0 @@ -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] diff --git a/components/test/CIConfigs/Function_TCPIP_07.yml b/components/test/CIConfigs/Function_TCPIP_07.yml deleted file mode 100644 index 2a047b8e1..000000000 --- a/components/test/CIConfigs/Function_TCPIP_07.yml +++ /dev/null @@ -1,10 +0,0 @@ -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] diff --git a/components/test/CIConfigs/Function_TCPIP_12.yml b/components/test/CIConfigs/Function_TCPIP_12.yml deleted file mode 100644 index e9f5b72a5..000000000 --- a/components/test/CIConfigs/Function_TCPIP_12.yml +++ /dev/null @@ -1,6 +0,0 @@ -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] diff --git a/components/test/CIConfigs/Function_WIFI_01.yml b/components/test/CIConfigs/Function_WIFI_01.yml deleted file mode 100644 index da9bfecd5..000000000 --- a/components/test/CIConfigs/Function_WIFI_01.yml +++ /dev/null @@ -1,10 +0,0 @@ -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] diff --git a/components/test/CIConfigs/Function_WIFI_02.yml b/components/test/CIConfigs/Function_WIFI_02.yml deleted file mode 100644 index e1b61a20e..000000000 --- a/components/test/CIConfigs/Function_WIFI_02.yml +++ /dev/null @@ -1,7 +0,0 @@ -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] diff --git a/components/test/CIConfigs/Function_WIFI_06.yml b/components/test/CIConfigs/Function_WIFI_06.yml deleted file mode 100644 index f3db504c9..000000000 --- a/components/test/CIConfigs/Function_WIFI_06.yml +++ /dev/null @@ -1,7 +0,0 @@ -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] diff --git a/components/test/README.md b/components/test/README.md deleted file mode 100644 index 1d0c4cfbd..000000000 --- a/components/test/README.md +++ /dev/null @@ -1,4 +0,0 @@ - -# Note: The test cases in this folder are for Espressif internal use. - -# Goto internal project wiki Testing page for detail about this folder. diff --git a/components/test/TestCaseScript/ATFunc/CmdInterruptTest.py b/components/test/TestCaseScript/ATFunc/CmdInterruptTest.py deleted file mode 100755 index e11ae6f1d..000000000 --- a/components/test/TestCaseScript/ATFunc/CmdInterruptTest.py +++ /dev/null @@ -1,130 +0,0 @@ -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() - diff --git a/components/test/TestCaseScript/ATFunc/LAP.py b/components/test/TestCaseScript/ATFunc/LAP.py deleted file mode 100644 index b389e48c0..000000000 --- a/components/test/TestCaseScript/ATFunc/LAP.py +++ /dev/null @@ -1,64 +0,0 @@ -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 :([[^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() diff --git a/components/test/TestCaseScript/ATFunc/SendDataValidation.py b/components/test/TestCaseScript/ATFunc/SendDataValidation.py deleted file mode 100755 index 27f1e7f7c..000000000 --- a/components/test/TestCaseScript/ATFunc/SendDataValidation.py +++ /dev/null @@ -1,161 +0,0 @@ -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 "] - 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\" "] - 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() - diff --git a/components/test/TestCaseScript/ATFunc/UARTTest.py b/components/test/TestCaseScript/ATFunc/UARTTest.py deleted file mode 100644 index 184f440d4..000000000 --- a/components/test/TestCaseScript/ATFunc/UARTTest.py +++ /dev/null @@ -1,164 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/ATFunc/__init__.py b/components/test/TestCaseScript/ATFunc/__init__.py deleted file mode 100755 index 5a3bbc44d..000000000 --- a/components/test/TestCaseScript/ATFunc/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -__all__ = ["TCPClientMulti", "TCPClientSingle", "TCPServerMulti", - "TCPTransparent", "UDPMulti", "UDPSingle"] \ No newline at end of file diff --git a/components/test/TestCaseScript/ATStress/ATPassThrough.py b/components/test/TestCaseScript/ATStress/ATPassThrough.py deleted file mode 100755 index 5149ffe3d..000000000 --- a/components/test/TestCaseScript/ATStress/ATPassThrough.py +++ /dev/null @@ -1,179 +0,0 @@ -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 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 "] - 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 "] - 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\" "] - 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 %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 "] - 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 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() - diff --git a/components/test/TestCaseScript/ATStress/ATSleep.py b/components/test/TestCaseScript/ATStress/ATSleep.py deleted file mode 100644 index 586862a77..000000000 --- a/components/test/TestCaseScript/ATStress/ATSleep.py +++ /dev/null @@ -1,251 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/ATStress/SoftAPServer.py b/components/test/TestCaseScript/ATStress/SoftAPServer.py deleted file mode 100755 index 7522658f1..000000000 --- a/components/test/TestCaseScript/ATStress/SoftAPServer.py +++ /dev/null @@ -1,308 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/ATStress/TCPClientMulti.py b/components/test/TestCaseScript/ATStress/TCPClientMulti.py deleted file mode 100755 index 610a55cbc..000000000 --- a/components/test/TestCaseScript/ATStress/TCPClientMulti.py +++ /dev/null @@ -1,116 +0,0 @@ -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 "] - 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\" " % 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() - diff --git a/components/test/TestCaseScript/ATStress/TCPClientSingle.py b/components/test/TestCaseScript/ATStress/TCPClientSingle.py deleted file mode 100755 index 7127c3d0f..000000000 --- a/components/test/TestCaseScript/ATStress/TCPClientSingle.py +++ /dev/null @@ -1,123 +0,0 @@ -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 "] - elif link_type == "SSL": - test_action_string = ["SOC SOC1 SLISTEN "] - 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\" "] - elif link_type == "SSL": - checker_stings = ["R SOC1 C +SACCEPT", "R AT1 NC CLOSE L OK"] - test_action_strings = ["ATC AT1 CIPSTART \"SSL\" "] - 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() - diff --git a/components/test/TestCaseScript/ATStress/TCPSendPerf.py b/components/test/TestCaseScript/ATStress/TCPSendPerf.py deleted file mode 100755 index a2f6e1a06..000000000 --- a/components/test/TestCaseScript/ATStress/TCPSendPerf.py +++ /dev/null @@ -1,148 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/ATStress/TCPServerMulti.py b/components/test/TestCaseScript/ATStress/TCPServerMulti.py deleted file mode 100755 index c317bc974..000000000 --- a/components/test/TestCaseScript/ATStress/TCPServerMulti.py +++ /dev/null @@ -1,126 +0,0 @@ -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 "] - 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 %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() - diff --git a/components/test/TestCaseScript/ATStress/TCPTransparent.py b/components/test/TestCaseScript/ATStress/TCPTransparent.py deleted file mode 100755 index d116923bf..000000000 --- a/components/test/TestCaseScript/ATStress/TCPTransparent.py +++ /dev/null @@ -1,280 +0,0 @@ -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 "] - 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\" "] - 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() - diff --git a/components/test/TestCaseScript/ATStress/UDPMulti.py b/components/test/TestCaseScript/ATStress/UDPMulti.py deleted file mode 100755 index 4423db3ce..000000000 --- a/components/test/TestCaseScript/ATStress/UDPMulti.py +++ /dev/null @@ -1,113 +0,0 @@ -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 "] - 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\" 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 " % (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 %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() - diff --git a/components/test/TestCaseScript/ATStress/UDPSingle.py b/components/test/TestCaseScript/ATStress/UDPSingle.py deleted file mode 100755 index 0f30330ab..000000000 --- a/components/test/TestCaseScript/ATStress/UDPSingle.py +++ /dev/null @@ -1,105 +0,0 @@ -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 "] - 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\" 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 " % 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 %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() - diff --git a/components/test/TestCaseScript/ATStress/UDPTransparent.py b/components/test/TestCaseScript/ATStress/UDPTransparent.py deleted file mode 100755 index 699d2b1ad..000000000 --- a/components/test/TestCaseScript/ATStress/UDPTransparent.py +++ /dev/null @@ -1,262 +0,0 @@ -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 "] - 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\" 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, "", - "", 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() - diff --git a/components/test/TestCaseScript/ATStress/__init__.py b/components/test/TestCaseScript/ATStress/__init__.py deleted file mode 100755 index 5a3bbc44d..000000000 --- a/components/test/TestCaseScript/ATStress/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -__all__ = ["TCPClientMulti", "TCPClientSingle", "TCPServerMulti", - "TCPTransparent", "UDPMulti", "UDPSingle"] \ No newline at end of file diff --git a/components/test/TestCaseScript/IOT/SCIOT.py b/components/test/TestCaseScript/IOT/SCIOT.py deleted file mode 100755 index 5ced3ef12..000000000 --- a/components/test/TestCaseScript/IOT/SCIOT.py +++ /dev/null @@ -1,357 +0,0 @@ -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(("", 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 = "" - self.udp_port = "" - 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() diff --git a/components/test/TestCaseScript/IOT/SCUDPServer.py b/components/test/TestCaseScript/IOT/SCUDPServer.py deleted file mode 100755 index 75f24f79a..000000000 --- a/components/test/TestCaseScript/IOT/SCUDPServer.py +++ /dev/null @@ -1,378 +0,0 @@ -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, ("", 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 diff --git a/components/test/TestCaseScript/IOT/WifiConnUtility.py b/components/test/TestCaseScript/IOT/WifiConnUtility.py deleted file mode 100755 index d50474561..000000000 --- a/components/test/TestCaseScript/IOT/WifiConnUtility.py +++ /dev/null @@ -1,244 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/IOT/WifiJAP.py b/components/test/TestCaseScript/IOT/WifiJAP.py deleted file mode 100755 index 0bb629295..000000000 --- a/components/test/TestCaseScript/IOT/WifiJAP.py +++ /dev/null @@ -1,183 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/IOT/__init__.py b/components/test/TestCaseScript/IOT/__init__.py deleted file mode 100755 index db0afd1fc..000000000 --- a/components/test/TestCaseScript/IOT/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__author__ = 'Administrator' diff --git a/components/test/TestCaseScript/MeshStress/MeshSendRecv.py b/components/test/TestCaseScript/MeshStress/MeshSendRecv.py deleted file mode 100755 index bad4619a7..000000000 --- a/components/test/TestCaseScript/MeshStress/MeshSendRecv.py +++ /dev/null @@ -1,525 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/MeshStress/__init__.py b/components/test/TestCaseScript/MeshStress/__init__.py deleted file mode 100755 index 6e94287c4..000000000 --- a/components/test/TestCaseScript/MeshStress/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__all__ = ["StableCase1"] \ No newline at end of file diff --git a/components/test/TestCaseScript/SSLTest/Capability.py b/components/test/TestCaseScript/SSLTest/Capability.py deleted file mode 100755 index efdb6eeb9..000000000 --- a/components/test/TestCaseScript/SSLTest/Capability.py +++ /dev/null @@ -1,90 +0,0 @@ - - -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() diff --git a/components/test/TestCaseScript/SSLTest/ConfigUtility.py b/components/test/TestCaseScript/SSLTest/ConfigUtility.py deleted file mode 100755 index f36fe44fe..000000000 --- a/components/test/TestCaseScript/SSLTest/ConfigUtility.py +++ /dev/null @@ -1,333 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/SSLTest/Parameter.py b/components/test/TestCaseScript/SSLTest/Parameter.py deleted file mode 100755 index 1670c5fd2..000000000 --- a/components/test/TestCaseScript/SSLTest/Parameter.py +++ /dev/null @@ -1,56 +0,0 @@ - - -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() diff --git a/components/test/TestCaseScript/SSLTest/SSLHandler.py b/components/test/TestCaseScript/SSLTest/SSLHandler.py deleted file mode 100644 index 7fe19b3ce..000000000 --- a/components/test/TestCaseScript/SSLTest/SSLHandler.py +++ /dev/null @@ -1,498 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/SSLTest/SSLHandshake.py b/components/test/TestCaseScript/SSLTest/SSLHandshake.py deleted file mode 100755 index 5eb68c350..000000000 --- a/components/test/TestCaseScript/SSLTest/SSLHandshake.py +++ /dev/null @@ -1,240 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/SSLTest/SSLLowMem.py b/components/test/TestCaseScript/SSLTest/SSLLowMem.py deleted file mode 100644 index fdc058f90..000000000 --- a/components/test/TestCaseScript/SSLTest/SSLLowMem.py +++ /dev/null @@ -1,140 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/SSLTest/SSLSendRecv.py b/components/test/TestCaseScript/SSLTest/SSLSendRecv.py deleted file mode 100644 index 13fe0b152..000000000 --- a/components/test/TestCaseScript/SSLTest/SSLSendRecv.py +++ /dev/null @@ -1,147 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/SSLTest/__init__.py b/components/test/TestCaseScript/SSLTest/__init__.py deleted file mode 100755 index 98fe3be4a..000000000 --- a/components/test/TestCaseScript/SSLTest/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__all__ = ["Capability", "ConfigUtility", "Parameter", "SSLHandler", "SSLHandshake"] diff --git a/components/test/TestCaseScript/SleepMode/AutoSleep.py b/components/test/TestCaseScript/SleepMode/AutoSleep.py deleted file mode 100755 index 9db70227c..000000000 --- a/components/test/TestCaseScript/SleepMode/AutoSleep.py +++ /dev/null @@ -1,561 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/SleepMode/DeepSleep.py b/components/test/TestCaseScript/SleepMode/DeepSleep.py deleted file mode 100755 index 252ebb075..000000000 --- a/components/test/TestCaseScript/SleepMode/DeepSleep.py +++ /dev/null @@ -1,259 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/SleepMode/ForceSleep.py b/components/test/TestCaseScript/SleepMode/ForceSleep.py deleted file mode 100755 index 4938a97c2..000000000 --- a/components/test/TestCaseScript/SleepMode/ForceSleep.py +++ /dev/null @@ -1,254 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/SleepMode/__init__.py b/components/test/TestCaseScript/SleepMode/__init__.py deleted file mode 100755 index fcd54657f..000000000 --- a/components/test/TestCaseScript/SleepMode/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__all__ = ["AutoSleep", "DeepSleep", "ForceSleep"] diff --git a/components/test/TestCaseScript/StableTest/StableCase1.py b/components/test/TestCaseScript/StableTest/StableCase1.py deleted file mode 100755 index 2554c1499..000000000 --- a/components/test/TestCaseScript/StableTest/StableCase1.py +++ /dev/null @@ -1,160 +0,0 @@ -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 = "" - target_ip = "" - elif target_role == "STA": - pc_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 :BIND:(\d+),OK"] - test_action_string = ["SSC SSC1 soc -B -t UDP -p "] - 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 :BIND:(\d+),OK"] - test_action_string = ["SSC SSC1 soc -B -t TCP -p "] - 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 "] - 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 %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 :ACCEPT:(\d+),\d+", "P SOC_COM C OK"] - test_action_string = ["SOC SOC2 CONNECT %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 +%s" % data_len, "P SOC2 RL %s" % data_len] - test_action_string = ["SSC SSC1 soc -S -s -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 +%s" % data_len, "P SOC1 RL %s" % data_len] - test_action_string = ["SSC SSC1 soc -S -s " - "-i %s -p -l %s" % (pc_ip, data_len), - "SOC SOC1 SENDTO %s %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() diff --git a/components/test/TestCaseScript/StableTest/__init__.py b/components/test/TestCaseScript/StableTest/__init__.py deleted file mode 100755 index be905f816..000000000 --- a/components/test/TestCaseScript/StableTest/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__all__ = ["StableCase1"] diff --git a/components/test/TestCaseScript/TCPIPStress/ARPStress.py b/components/test/TestCaseScript/TCPIPStress/ARPStress.py deleted file mode 100755 index 38dcb8fd8..000000000 --- a/components/test/TestCaseScript/TCPIPStress/ARPStress.py +++ /dev/null @@ -1,121 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/TCPIPStress/PingStress.py b/components/test/TestCaseScript/TCPIPStress/PingStress.py deleted file mode 100755 index 71ab91ce5..000000000 --- a/components/test/TestCaseScript/TCPIPStress/PingStress.py +++ /dev/null @@ -1,122 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/TCPIPStress/__init__.py b/components/test/TestCaseScript/TCPIPStress/__init__.py deleted file mode 100755 index 25ae68917..000000000 --- a/components/test/TestCaseScript/TCPIPStress/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__all__ = ["ARPStress", "PingStress"] diff --git a/components/test/TestCaseScript/TCPStress/TCPAP4STA.py b/components/test/TestCaseScript/TCPStress/TCPAP4STA.py deleted file mode 100755 index 95be6fbe4..000000000 --- a/components/test/TestCaseScript/TCPStress/TCPAP4STA.py +++ /dev/null @@ -1,168 +0,0 @@ -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() - diff --git a/components/test/TestCaseScript/TCPStress/TCPAPNSTA.py b/components/test/TestCaseScript/TCPStress/TCPAPNSTA.py deleted file mode 100755 index 6c160a9a0..000000000 --- a/components/test/TestCaseScript/TCPStress/TCPAPNSTA.py +++ /dev/null @@ -1,209 +0,0 @@ -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 :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 "] - 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 :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:(\d+),.+" % (i+2)] - test_action_string = ["SSCC SSC%d soc -C -s -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 -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 -l %d -n %d -j %d" % - (i+2, send_len, _tmp_count, send_delay)) - checker_stings.append("P SSC1 RE \"\+SEND:%%%%s,OK\"%%%%() 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 :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 "] - 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 :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:(\d+),.+" % (i + 2)] - test_action_string = ["SSCC SSC%d soc -C -s -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() - diff --git a/components/test/TestCaseScript/TCPStress/TCPConnStressTC.py b/components/test/TestCaseScript/TCPStress/TCPConnStressTC.py deleted file mode 100755 index b04ede6ac..000000000 --- a/components/test/TestCaseScript/TCPStress/TCPConnStressTC.py +++ /dev/null @@ -1,363 +0,0 @@ -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 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 ", "ATC AT1 CIPSERVER 1 "] - 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() - diff --git a/components/test/TestCaseScript/TCPStress/TCPConnUtility.py b/components/test/TestCaseScript/TCPStress/TCPConnUtility.py deleted file mode 100755 index 305936901..000000000 --- a/components/test/TestCaseScript/TCPStress/TCPConnUtility.py +++ /dev/null @@ -1,273 +0,0 @@ -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 = "" - self.target_server_port = "" - self.pc_ip = "" - self.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() diff --git a/components/test/TestCaseScript/TCPStress/TCPConnection.py b/components/test/TestCaseScript/TCPStress/TCPConnection.py deleted file mode 100755 index 8b481c7df..000000000 --- a/components/test/TestCaseScript/TCPStress/TCPConnection.py +++ /dev/null @@ -1,321 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/TCPStress/TCPConnectionUtility.py b/components/test/TestCaseScript/TCPStress/TCPConnectionUtility.py deleted file mode 100755 index f28218af0..000000000 --- a/components/test/TestCaseScript/TCPStress/TCPConnectionUtility.py +++ /dev/null @@ -1,251 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/TCPStress/TCPDataValidation.py b/components/test/TestCaseScript/TCPStress/TCPDataValidation.py deleted file mode 100755 index b056af38f..000000000 --- a/components/test/TestCaseScript/TCPStress/TCPDataValidation.py +++ /dev/null @@ -1,244 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/TCPStress/TCPRandomSend.py b/components/test/TestCaseScript/TCPStress/TCPRandomSend.py deleted file mode 100755 index 5a07a2d96..000000000 --- a/components/test/TestCaseScript/TCPStress/TCPRandomSend.py +++ /dev/null @@ -1,103 +0,0 @@ -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 :\+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 -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() diff --git a/components/test/TestCaseScript/TCPStress/TCPSendRecv.py b/components/test/TestCaseScript/TCPStress/TCPSendRecv.py deleted file mode 100755 index e14d7f04d..000000000 --- a/components/test/TestCaseScript/TCPStress/TCPSendRecv.py +++ /dev/null @@ -1,143 +0,0 @@ -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 :\+BIND:(\d+),OK"] - test_action_string = ["SSC SSC1 soc -B -t TCP -p "] - 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 :\+LISTEN:(\d+),OK"] - test_action_string = ["SSC SSC1 soc -L -s "] - 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 :\+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:(\d+),\d+" % i, - "P SSC2 RE \+CONNECT:\d+,OK"] - test_action_string = ["SSC SSC2 soc -C -s -i -p " % 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 -l %d -n %d -j %d" % - (i, send_len, TEST_COUNT_ONE_ROUND, send_delay)] - checker_stings.append("P SSC2 RE \"\+SEND:%%%%s,OK\"%%%%() NC ERROR NC CLOSE" % i) - - if duplex is True: - checker_stings.append("P SSC1 RE \"\+SEND:%%%%s,OK\"%%%%()" % i) - test_action_string.append("SSC SSC1 soc -S -s -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() - - diff --git a/components/test/TestCaseScript/TCPStress/TCPSoftAPSTASendRecv.py b/components/test/TestCaseScript/TCPStress/TCPSoftAPSTASendRecv.py deleted file mode 100644 index de31bacc1..000000000 --- a/components/test/TestCaseScript/TCPStress/TCPSoftAPSTASendRecv.py +++ /dev/null @@ -1,318 +0,0 @@ -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 :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 "] - 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 :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:(\d+),.+"] - test_action_string = ["SSCC SSC2 soc -C -s -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 :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 "] - 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 :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:(\d+),.+" % (i + 3)] - test_action_string = ["SSCC SSC%d soc -C -s -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 -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 -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 -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 -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 :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 "] - 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 :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:(\d+),.+"] - test_action_string = ["SSCC SSC2 soc -C -s -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 :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 "] - 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 :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:(\d+),.+" % (i + 3)] - test_action_string = ["SSCC SSC%d soc -C -s -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() diff --git a/components/test/TestCaseScript/TCPStress/TCPThroughput.py b/components/test/TestCaseScript/TCPStress/TCPThroughput.py deleted file mode 100755 index 0c40603e3..000000000 --- a/components/test/TestCaseScript/TCPStress/TCPThroughput.py +++ /dev/null @@ -1,315 +0,0 @@ -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 " - 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 %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 :\+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 :\+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 -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 -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() diff --git a/components/test/TestCaseScript/TCPStress/__init__.py b/components/test/TestCaseScript/TCPStress/__init__.py deleted file mode 100755 index 049c1b961..000000000 --- a/components/test/TestCaseScript/TCPStress/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__all__ = ["TCPConnUtility", "TCPConnSingleMode", "TCPConnMixedMode"] \ No newline at end of file diff --git a/components/test/TestCaseScript/UDPStress/UDPSendRecv.py b/components/test/TestCaseScript/UDPStress/UDPSendRecv.py deleted file mode 100755 index 3a528c6ba..000000000 --- a/components/test/TestCaseScript/UDPStress/UDPSendRecv.py +++ /dev/null @@ -1,130 +0,0 @@ -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 :\+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 :\+BIND:(\d+),OK" % i, - "R SSC2 A :\+BIND:(\d+),OK" % i] - test_action_string = ["SSC SSC1 soc -B -t UDP -p " % i, - "SSC SSC2 soc -B -t UDP -p " % 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 -l %d -n %d -j %d " - "-i -p " % - (i, send_len, TEST_COUNT_ONE_ROUND, send_delay, i)] - checker_stings.append("P SSC2 RE \"\+SEND:%%%%s,OK\"%%%%() NC ERROR NC CLOSE" % i) - if duplex is True: - test_action_string.append("SSC SSC1 soc -S -s -l %d -n %d -j %d" - " -i -p " % - (i, send_len, TEST_COUNT_ONE_ROUND, send_delay, i)) - checker_stings.append("P SSC1 RE \"\+SEND:%%%%s,OK\"%%%%()" % 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() - - diff --git a/components/test/TestCaseScript/UDPStress/UDPThroughput.py b/components/test/TestCaseScript/UDPStress/UDPThroughput.py deleted file mode 100755 index dac7c2206..000000000 --- a/components/test/TestCaseScript/UDPStress/UDPThroughput.py +++ /dev/null @@ -1,305 +0,0 @@ -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 " - 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 %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 :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 :\+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 :\+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 -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 :RECVLEN:(\d+)"], - ["SSC SSC1 soc -Q -s -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() diff --git a/components/test/TestCaseScript/UDPStress/__init__.py b/components/test/TestCaseScript/UDPStress/__init__.py deleted file mode 100755 index d29ee405a..000000000 --- a/components/test/TestCaseScript/UDPStress/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__all__ = ["UDPSendRecv", ] diff --git a/components/test/TestCaseScript/WiFiStress/SoftAPNSTA.py b/components/test/TestCaseScript/WiFiStress/SoftAPNSTA.py deleted file mode 100755 index 70a1169f2..000000000 --- a/components/test/TestCaseScript/WiFiStress/SoftAPNSTA.py +++ /dev/null @@ -1,178 +0,0 @@ -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() - diff --git a/components/test/TestCaseScript/WiFiStress/WifiConnUtility.py b/components/test/TestCaseScript/WiFiStress/WifiConnUtility.py deleted file mode 100755 index 24702bfc8..000000000 --- a/components/test/TestCaseScript/WiFiStress/WifiConnUtility.py +++ /dev/null @@ -1,240 +0,0 @@ -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 " - 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() diff --git a/components/test/TestCaseScript/WiFiStress/WifiJAP.py b/components/test/TestCaseScript/WiFiStress/WifiJAP.py deleted file mode 100755 index 20dd28041..000000000 --- a/components/test/TestCaseScript/WiFiStress/WifiJAP.py +++ /dev/null @@ -1,218 +0,0 @@ -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() diff --git a/components/test/TestCaseScript/WiFiStress/WifiJAPAtt.py b/components/test/TestCaseScript/WiFiStress/WifiJAPAtt.py deleted file mode 100755 index 2c2eadc79..000000000 --- a/components/test/TestCaseScript/WiFiStress/WifiJAPAtt.py +++ /dev/null @@ -1,173 +0,0 @@ -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 " - 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 %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 :\+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() diff --git a/components/test/TestCaseScript/WiFiStress/WifiSmartConfig.py b/components/test/TestCaseScript/WiFiStress/WifiSmartConfig.py deleted file mode 100755 index 3a95a920f..000000000 --- a/components/test/TestCaseScript/WiFiStress/WifiSmartConfig.py +++ /dev/null @@ -1,273 +0,0 @@ -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, [("", ""), - ("", "")])) - 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 CONN %s %s " % (_ht_ap[0], _ht_ap[1])] - checker_stings = ["P AT1 L OK", "P PC_COM L OK"] - else: - cmd = ["SSC SSC1 smart -E", "WIFI CONN %s %s " % (_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 %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() diff --git a/components/test/TestCaseScript/WiFiStress/__init__.py b/components/test/TestCaseScript/WiFiStress/__init__.py deleted file mode 100755 index 7960a3ce8..000000000 --- a/components/test/TestCaseScript/WiFiStress/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__all__ = ["WifiJAP", ] \ No newline at end of file diff --git a/components/test/TestCaseScript/__init__.py b/components/test/TestCaseScript/__init__.py deleted file mode 100755 index 0cc319da7..000000000 --- a/components/test/TestCaseScript/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -__all__ = ['ATFunc', "ATStress", "IOT", "MeshStress", "StableTest", "TCPIPStress" - "TCPStress", "UDPStress", "WiFiStress"]