test.sh 7.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #!/usr/bin/env bash
  2. { coverage debug sys \
  3. && coverage erase &> output \
  4. && echo -e "\n***\nRunning idf_size.py..." &>> output \
  5. && coverage run -a $IDF_PATH/tools/idf_size.py app.map &>> output \
  6. && echo -e "\n***\nRunning idf_size.py on bootloader..." &>> output \
  7. && coverage run -a $IDF_PATH/tools/idf_size.py bootloader.map &>> output \
  8. && echo -e "\n***\nRunning idf_size.py --archives..." &>> output \
  9. && coverage run -a $IDF_PATH/tools/idf_size.py --archives app.map &>> output \
  10. && echo -e "\n***\nRunning idf_size.py --files..." &>> output \
  11. && coverage run -a $IDF_PATH/tools/idf_size.py --files app.map &>> output \
  12. && echo -e "\n***\nRunning idf_size.py --archive_details..." &>> output \
  13. && coverage run -a $IDF_PATH/tools/idf_size.py --archive_details libdriver.a app.map &>> output \
  14. && echo -e "\n***\nRunning idf_size.py diff with bootloader..." &>> output \
  15. && coverage run -a $IDF_PATH/tools/idf_size.py app.map --diff bootloader.map &>> output \
  16. && echo -e "\n***\nRunning idf_size.py diff with itself..." &>> output \
  17. && coverage run -a $IDF_PATH/tools/idf_size.py app.map --diff app.map &>> output \
  18. && echo -e "\n***\nRunning idf_size.py diff with another app..." &>> output \
  19. && coverage run -a $IDF_PATH/tools/idf_size.py app.map --diff app2.map &>> output \
  20. && echo -e "\n***\nRunning idf_size.py diff with app in reverse order..." &>> output \
  21. && coverage run -a $IDF_PATH/tools/idf_size.py app2.map --diff app.map &>> output \
  22. && echo -e "\n***\nRunning idf_size.py diff --archives with bootloader..." &>> output \
  23. && coverage run -a $IDF_PATH/tools/idf_size.py app.map --archives --diff bootloader.map &>> output \
  24. && echo -e "\n***\nRunning idf_size.py diff --archives with itself..." &>> output \
  25. && coverage run -a $IDF_PATH/tools/idf_size.py app.map --archives --diff app.map &>> output \
  26. && echo -e "\n***\nRunning idf_size.py diff --archives with another app..." &>> output \
  27. && coverage run -a $IDF_PATH/tools/idf_size.py app.map --archives --diff app2.map &>> output \
  28. && echo -e "\n***\nRunning idf_size.py diff --archives with app in reverse order..." &>> output \
  29. && coverage run -a $IDF_PATH/tools/idf_size.py app2.map --archives --diff app.map &>> output \
  30. && echo -e "\n***\nRunning idf_size.py diff --files with bootloader..." &>> output \
  31. && coverage run -a $IDF_PATH/tools/idf_size.py app.map --files --diff bootloader.map &>> output \
  32. && echo -e "\n***\nRunning idf_size.py diff --files with itself..." &>> output \
  33. && coverage run -a $IDF_PATH/tools/idf_size.py app.map --files --diff app.map &>> output \
  34. && echo -e "\n***\nRunning idf_size.py diff --files with another app..." &>> output \
  35. && coverage run -a $IDF_PATH/tools/idf_size.py app.map --files --diff app2.map &>> output \
  36. && echo -e "\n***\nRunning idf_size.py diff --files with app in reverse order..." &>> output \
  37. && coverage run -a $IDF_PATH/tools/idf_size.py app2.map --files --diff app.map &>> output \
  38. && echo -e "\n***\nRunning idf_size.py diff --archive_details with bootloader..." &>> output \
  39. && coverage run -a $IDF_PATH/tools/idf_size.py app.map --archive_details libdriver.a --diff bootloader.map &>> output \
  40. && echo -e "\n***\nRunning idf_size.py diff --archive_details with bootloader..." &>> output \
  41. && coverage run -a $IDF_PATH/tools/idf_size.py app.map --archive_details libc.a --diff bootloader.map &>> output \
  42. && echo -e "\n***\nRunning idf_size.py diff --archive_details with itself..." &>> output \
  43. && coverage run -a $IDF_PATH/tools/idf_size.py app.map --archive_details libdriver.a --diff app.map &>> output \
  44. && echo -e "\n***\nRunning idf_size.py diff --archive_details with another app..." &>> output \
  45. && coverage run -a $IDF_PATH/tools/idf_size.py app.map --archive_details libdriver.a --diff app2.map &>> output \
  46. && echo -e "\n***\nRunning idf_size.py diff --archive_details with app in reverse order..." &>> output \
  47. && coverage run -a $IDF_PATH/tools/idf_size.py app2.map --archive_details libdriver.a --diff app.map &>> output \
  48. && echo -e "\n***\nRunning idf_size.py diff --archive_details with another app..." &>> output \
  49. && coverage run -a $IDF_PATH/tools/idf_size.py app.map --archive_details libfreertos.a --diff app2.map &>> output \
  50. && echo -e "\n***\nRunning idf_size.py for esp32s2..." &>> output \
  51. && coverage run -a $IDF_PATH/tools/idf_size.py --target esp32s2 app_esp32s2.map &>> output \
  52. && echo -e "\n***\nRunning idf_size.py on bootloader for esp32s2..." &>> output \
  53. && coverage run -a $IDF_PATH/tools/idf_size.py --target esp32s2 bootloader_esp32s2.map &>> output \
  54. && echo -e "\n***\nRunning idf_size.py --archives for esp32s2..." &>> output \
  55. && coverage run -a $IDF_PATH/tools/idf_size.py --target esp32s2 --archives app_esp32s2.map &>> output \
  56. && echo -e "\n***\nRunning idf_size.py --files for esp32s2..." &>> output \
  57. && coverage run -a $IDF_PATH/tools/idf_size.py --target esp32s2 --files app_esp32s2.map &>> output \
  58. && echo -e "\n***\nRunning idf_size.py --archive_details for esp32s2..." &>> output \
  59. && coverage run -a $IDF_PATH/tools/idf_size.py --target esp32s2 --archive_details libdriver.a app_esp32s2.map &>> output \
  60. && echo -e "\n***\nProducing JSON output..." &>> output \
  61. && coverage run -a $IDF_PATH/tools/idf_size.py --json app.map &>> output \
  62. && coverage run -a $IDF_PATH/tools/idf_size.py --json --archives app.map &>> output \
  63. && coverage run -a $IDF_PATH/tools/idf_size.py --json --files app.map &>> output \
  64. && coverage run -a $IDF_PATH/tools/idf_size.py --json --archive_details libdriver.a app.map &>> output \
  65. && coverage run -a $IDF_PATH/tools/idf_size.py --json app.map --diff app2.map &>> output \
  66. && coverage run -a $IDF_PATH/tools/idf_size.py --json --archives app.map --diff app2.map &>> output \
  67. && coverage run -a $IDF_PATH/tools/idf_size.py --json --files app.map --diff app2.map &>> output \
  68. && coverage run -a $IDF_PATH/tools/idf_size.py --json --archive_details libdriver.a app.map --diff app2.map &>> output \
  69. && echo -e "\n***\nProducing JSON file output..." &>> output \
  70. && coverage run -a $IDF_PATH/tools/idf_size.py --json --output-file output.json app.map &>> output \
  71. && echo -e "\n***\nProducing text file output..." &>> output \
  72. && coverage run -a $IDF_PATH/tools/idf_size.py -o output.txt app.map &>> output \
  73. && echo -e "\n***\nRunning idf_size_tests.py..." &>> output \
  74. && coverage run -a $IDF_PATH/tools/test_idf_size/test_idf_size.py &>> output \
  75. && echo -e "\n\nComparing expected output..." \
  76. && diff -Z output expected_output \
  77. && echo -e "\n\nComparing expected json output..." \
  78. && diff -Z output.json expected_output.json \
  79. && echo -e "\n\nComparing expected text output..." \
  80. && diff -Z output.txt expected_output.txt \
  81. && coverage report \
  82. ; } || { echo 'The test for idf_size has failed. Please examine the artifacts.' ; exit 1; }
  83. # Note: "diff -Z is used because some versions of Python print trailing whitespace for JSON pretty-printing, and some don't