test_index.c 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include "m-string.h"
  2. #include <stdio.h>
  3. #include <furi.h>
  4. #include <furi-hal.h>
  5. #include "minunit_vars.h"
  6. #include <notification/notification-messages.h>
  7. #include <cli/cli.h>
  8. #include <loader/loader.h>
  9. int run_minunit();
  10. int run_minunit_test_irda_decoder_encoder();
  11. int run_minunit_test_rpc();
  12. void unit_tests_cli(Cli* cli, string_t args, void* context) {
  13. uint32_t test_result = 0;
  14. minunit_run = 0;
  15. minunit_assert = 0;
  16. minunit_fail = 0;
  17. minunit_status = 0;
  18. Loader* loader = furi_record_open("loader");
  19. furi_record_close("loader");
  20. NotificationApp* notification = furi_record_open("notification");
  21. furi_record_close("notification");
  22. if(loader_is_locked(loader)) {
  23. FURI_LOG_E("UNIT_TESTS", "RPC: stop all applications to run tests");
  24. notification_message(notification, &sequence_blink_magenta_100);
  25. } else {
  26. notification_message_block(notification, &sequence_set_only_blue_255);
  27. test_result |= run_minunit();
  28. test_result |= run_minunit_test_irda_decoder_encoder();
  29. test_result |= run_minunit_test_rpc();
  30. if(test_result == 0) {
  31. notification_message(notification, &sequence_success);
  32. FURI_LOG_I("UNIT_TESTS", "PASSED");
  33. } else {
  34. notification_message(notification, &sequence_error);
  35. FURI_LOG_E("UNIT_TESTS", "FAILED");
  36. }
  37. }
  38. }
  39. void unit_tests_cli_init() {
  40. Cli* cli = furi_record_open("cli");
  41. cli_add_command(cli, "unit_tests", CliCommandFlagParallelSafe, unit_tests_cli, NULL);
  42. furi_record_close("cli");
  43. }