example_test.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import re
  2. import os
  3. import ttfw_idf
  4. @ttfw_idf.idf_example_test(env_tag="Example_EthKitV1")
  5. def test_examples_protocol_https_request(env, extra_data):
  6. """
  7. steps: |
  8. 1. join AP
  9. 2. connect to www.howsmyssl.com:443
  10. 3. send http request
  11. """
  12. dut1 = env.get_dut("https_request", "examples/protocols/https_request", dut_class=ttfw_idf.ESP32DUT)
  13. # check and log bin size
  14. binary_file = os.path.join(dut1.app.binary_path, "https_request.bin")
  15. bin_size = os.path.getsize(binary_file)
  16. ttfw_idf.log_performance("https_request_bin_size", "{}KB".format(bin_size // 1024))
  17. ttfw_idf.check_performance("https_request_bin_size", bin_size // 1024, dut1.TARGET)
  18. # start test
  19. dut1.start_app()
  20. dut1.expect("Connection established...", timeout=30)
  21. dut1.expect("Reading HTTP response...")
  22. dut1.expect(re.compile(r"Completed (\d) requests"))
  23. # test mbedtls dynamic resource
  24. dut1 = env.get_dut("https_request", "examples/protocols/https_request", dut_class=ttfw_idf.ESP32DUT, app_config_name='ssldyn')
  25. # check and log bin size
  26. binary_file = os.path.join(dut1.app.binary_path, "https_request.bin")
  27. bin_size = os.path.getsize(binary_file)
  28. ttfw_idf.log_performance("https_request_bin_size", "{}KB".format(bin_size // 1024))
  29. ttfw_idf.check_performance("https_request_bin_size", bin_size // 1024, dut1.TARGET)
  30. # start test
  31. dut1.start_app()
  32. dut1.expect("Connection established...", timeout=30)
  33. dut1.expect("Reading HTTP response...")
  34. dut1.expect(re.compile(r"Completed (\d) requests"))
  35. if __name__ == '__main__':
  36. test_examples_protocol_https_request()