diff options
author | Arve Hjønnevåg | 2018-06-25 15:12:55 -0500 |
---|---|---|
committer | Arve Hjønnevåg | 2018-06-29 17:03:25 -0500 |
commit | b6d6075983e28fd744a8071dcb6c0816a0d6444c (patch) | |
tree | c883d5d782c7d94e51fe53964f3c07fd617e3958 /trusty | |
parent | 9d254f0dacc95a296df268eaa6a61cf3e7d144d2 (diff) | |
download | platform-system-core-b6d6075983e28fd744a8071dcb6c0816a0d6444c.tar.gz platform-system-core-b6d6075983e28fd744a8071dcb6c0816a0d6444c.tar.xz platform-system-core-b6d6075983e28fd744a8071dcb6c0816a0d6444c.zip |
trusty: tipc_test: Read output and test result from ta2ta_ipc_test
Bug: 79993976
Test: tipc-test -t ta2ta-ipc
Change-Id: If30b9acfab035974ddf1bec0e89e530fdeab4b2f
Diffstat (limited to 'trusty')
-rw-r--r-- | trusty/libtrusty/tipc-test/tipc_test.c | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/trusty/libtrusty/tipc-test/tipc_test.c b/trusty/libtrusty/tipc-test/tipc_test.c index 1fb34c939..d20d4eebf 100644 --- a/trusty/libtrusty/tipc-test/tipc_test.c +++ b/trusty/libtrusty/tipc-test/tipc_test.c | |||
@@ -587,8 +587,15 @@ static int blocked_read_test(uint repeat) | |||
587 | 587 | ||
588 | static int ta2ta_ipc_test(void) | 588 | static int ta2ta_ipc_test(void) |
589 | { | 589 | { |
590 | enum test_message_header { | ||
591 | TEST_PASSED = 0, | ||
592 | TEST_FAILED = 1, | ||
593 | TEST_MESSAGE = 2, | ||
594 | }; | ||
595 | |||
590 | int fd; | 596 | int fd; |
591 | char rx_buf[64]; | 597 | int ret; |
598 | unsigned char rx_buf[256]; | ||
592 | 599 | ||
593 | if (!opt_silent) { | 600 | if (!opt_silent) { |
594 | printf("%s:\n", __func__); | 601 | printf("%s:\n", __func__); |
@@ -601,12 +608,31 @@ static int ta2ta_ipc_test(void) | |||
601 | return fd; | 608 | return fd; |
602 | } | 609 | } |
603 | 610 | ||
604 | /* wait for test to complete */ | 611 | /* Wait for tests to complete and read status */ |
605 | (void) read(fd, rx_buf, sizeof(rx_buf)); | 612 | while (true) { |
613 | ret = read(fd, rx_buf, sizeof(rx_buf)); | ||
614 | if (ret <= 0 || ret >= (int)sizeof(rx_buf)) { | ||
615 | fprintf(stderr, "%s: Read failed: %d\n", __func__, ret); | ||
616 | tipc_close(fd); | ||
617 | return -1; | ||
618 | } | ||
619 | |||
620 | if (rx_buf[0] == TEST_PASSED) { | ||
621 | break; | ||
622 | } else if (rx_buf[0] == TEST_FAILED) { | ||
623 | break; | ||
624 | } else if (rx_buf[0] == TEST_MESSAGE) { | ||
625 | write(STDOUT_FILENO, rx_buf + 1, ret - 1); | ||
626 | } else { | ||
627 | fprintf(stderr, "%s: Bad message header: %d\n", | ||
628 | __func__, rx_buf[0]); | ||
629 | break; | ||
630 | } | ||
631 | } | ||
606 | 632 | ||
607 | tipc_close(fd); | 633 | tipc_close(fd); |
608 | 634 | ||
609 | return 0; | 635 | return rx_buf[0] == TEST_PASSED ? 0 : -1; |
610 | } | 636 | } |
611 | 637 | ||
612 | typedef struct uuid | 638 | typedef struct uuid |