mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-01 21:02:27 +00:00
cts: Added file to list error codes as integers
BRANCH=None BUG=None TEST=Manual - Connect handshake and gpio test lines between th and dut - Build tests - run 'cat /dev/ttyACM0' in one terminal - run 'cat /def/ttyACM1' in another - Flash boards - All test results print their test name followed by a space and and integer error code Change-Id: If52e9b50705779b3a291e2d0f6b0721a5b6197d8 Reviewed-on: https://chromium-review.googlesource.com/359988 Commit-Ready: Chris Chen <twothreecc@google.com> Tested-by: Chris Chen <twothreecc@google.com> Reviewed-by: Randall Spangler <rspangler@chromium.org>
This commit is contained in:
10
cts/common/cts.rc
Normal file
10
cts/common/cts.rc
Normal file
@@ -0,0 +1,10 @@
|
||||
/* Copyright 2016 The Chromium OS Authors. All rights reserved.
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
/* This file is included by cts_common.h as an enumeration of error codes. */
|
||||
CTS_RC_SUCCESS,
|
||||
CTS_RC_FAILURE,
|
||||
CTS_RC_BAD_SYNC,
|
||||
CTS_RC_UNKNOWN
|
||||
@@ -18,11 +18,9 @@
|
||||
/* In a single test, only one board can return unknown, the other must
|
||||
* return a useful result (i.e. success, failure, etc)
|
||||
*/
|
||||
enum cts_error_code {
|
||||
CTS_SUCCESS,
|
||||
CTS_ERROR_FAILURE,
|
||||
CTS_ERROR_BAD_SYNC,
|
||||
CTS_ERROR_UNKNOWN
|
||||
|
||||
enum cts_rc {
|
||||
#include "cts.rc"
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*/
|
||||
|
||||
struct cts_test {
|
||||
enum cts_error_code (*run)(void);
|
||||
enum cts_rc (*run)(void);
|
||||
char *name;
|
||||
};
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
/* Returns unknown because TH could potentially still get stuck
|
||||
* even if the DUT completes the sync
|
||||
*/
|
||||
enum cts_error_code sync(void)
|
||||
enum cts_rc sync(void)
|
||||
{
|
||||
int input_level;
|
||||
|
||||
@@ -28,5 +28,5 @@ enum cts_error_code sync(void)
|
||||
} while (input_level);
|
||||
gpio_set_level(GPIO_HANDSHAKE_OUTPUT, 0);
|
||||
|
||||
return CTS_ERROR_UNKNOWN;
|
||||
return CTS_RC_UNKNOWN;
|
||||
}
|
||||
|
||||
@@ -8,6 +8,6 @@
|
||||
|
||||
#include "cts_common.h"
|
||||
|
||||
enum cts_error_code sync(void);
|
||||
enum cts_rc sync(void);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
/* Return SUCCESS if and only if we reach end of function
|
||||
* Returning success here means sync was successful
|
||||
*/
|
||||
enum cts_error_code sync(void)
|
||||
enum cts_rc sync(void)
|
||||
{
|
||||
int input_level;
|
||||
|
||||
@@ -32,5 +32,5 @@ enum cts_error_code sync(void)
|
||||
input_level = gpio_get_level(GPIO_HANDSHAKE_INPUT);
|
||||
} while (input_level);
|
||||
|
||||
return CTS_SUCCESS;
|
||||
return CTS_RC_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -8,6 +8,6 @@
|
||||
|
||||
#include "cts_common.h"
|
||||
|
||||
enum cts_error_code sync(void);
|
||||
enum cts_rc sync(void);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -11,28 +11,28 @@
|
||||
#include "dut_common.h"
|
||||
#include "cts_common.h"
|
||||
|
||||
enum cts_error_code sync_test(void)
|
||||
enum cts_rc sync_test(void)
|
||||
{
|
||||
return CTS_SUCCESS;
|
||||
return CTS_RC_SUCCESS;
|
||||
}
|
||||
|
||||
enum cts_error_code set_high_test(void)
|
||||
enum cts_rc set_high_test(void)
|
||||
{
|
||||
gpio_set_flags(GPIO_OUTPUT_TEST, GPIO_ODR_LOW);
|
||||
gpio_set_level(GPIO_OUTPUT_TEST, 1);
|
||||
msleep(READ_WAIT_TIME_MS*2);
|
||||
return CTS_ERROR_UNKNOWN;
|
||||
return CTS_RC_UNKNOWN;
|
||||
}
|
||||
|
||||
enum cts_error_code set_low_test(void)
|
||||
enum cts_rc set_low_test(void)
|
||||
{
|
||||
gpio_set_flags(GPIO_OUTPUT_TEST, GPIO_ODR_LOW);
|
||||
gpio_set_level(GPIO_OUTPUT_TEST, 0);
|
||||
msleep(READ_WAIT_TIME_MS*2);
|
||||
return CTS_ERROR_UNKNOWN;
|
||||
return CTS_RC_UNKNOWN;
|
||||
}
|
||||
|
||||
enum cts_error_code read_high_test(void)
|
||||
enum cts_rc read_high_test(void)
|
||||
{
|
||||
int level;
|
||||
|
||||
@@ -40,12 +40,12 @@ enum cts_error_code read_high_test(void)
|
||||
msleep(READ_WAIT_TIME_MS);
|
||||
level = gpio_get_level(GPIO_INPUT_TEST);
|
||||
if (level)
|
||||
return CTS_SUCCESS;
|
||||
return CTS_RC_SUCCESS;
|
||||
else
|
||||
return CTS_ERROR_FAILURE;
|
||||
return CTS_RC_FAILURE;
|
||||
}
|
||||
|
||||
enum cts_error_code read_low_test(void)
|
||||
enum cts_rc read_low_test(void)
|
||||
{
|
||||
int level;
|
||||
|
||||
@@ -53,12 +53,12 @@ enum cts_error_code read_low_test(void)
|
||||
msleep(READ_WAIT_TIME_MS);
|
||||
level = gpio_get_level(GPIO_INPUT_TEST);
|
||||
if (!level)
|
||||
return CTS_SUCCESS;
|
||||
return CTS_RC_SUCCESS;
|
||||
else
|
||||
return CTS_ERROR_FAILURE;
|
||||
return CTS_RC_FAILURE;
|
||||
}
|
||||
|
||||
enum cts_error_code od_read_high_test(void)
|
||||
enum cts_rc od_read_high_test(void)
|
||||
{
|
||||
int level;
|
||||
|
||||
@@ -66,47 +66,27 @@ enum cts_error_code od_read_high_test(void)
|
||||
msleep(READ_WAIT_TIME_MS);
|
||||
level = gpio_get_level(GPIO_OUTPUT_TEST);
|
||||
if (!level)
|
||||
return CTS_SUCCESS;
|
||||
return CTS_RC_SUCCESS;
|
||||
else
|
||||
return CTS_ERROR_FAILURE;
|
||||
return CTS_RC_FAILURE;
|
||||
}
|
||||
|
||||
#include "cts_testlist.h"
|
||||
|
||||
void cts_task(void)
|
||||
{
|
||||
enum cts_error_code results[CTS_TEST_ID_COUNT];
|
||||
enum cts_rc result;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < CTS_TEST_ID_COUNT; i++) {
|
||||
sync();
|
||||
results[i] = tests[i].run();
|
||||
result = tests[i].run();
|
||||
CPRINTF("\n%s %d\n", tests[i].name, result);
|
||||
uart_flush_output();
|
||||
}
|
||||
|
||||
CPRINTS("GPIO test suite finished");
|
||||
uart_flush_output();
|
||||
CPRINTS("Results:");
|
||||
for (i = 0; i < CTS_TEST_ID_COUNT; i++) {
|
||||
switch (results[i]) {
|
||||
case CTS_SUCCESS:
|
||||
CPRINTS("%s) Passed", tests[i].name);
|
||||
break;
|
||||
case CTS_ERROR_FAILURE:
|
||||
CPRINTS("%s) Failed", tests[i].name);
|
||||
break;
|
||||
case CTS_ERROR_BAD_SYNC:
|
||||
CPRINTS("%s) Bad sync", tests[i].name);
|
||||
break;
|
||||
case CTS_ERROR_UNKNOWN:
|
||||
CPRINTS("%s) Test result unknown", tests[i].name);
|
||||
break;
|
||||
default:
|
||||
CPRINTS("%s) ErrorCode (%d) not recognized",
|
||||
tests[i].name, results[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
while (1) {
|
||||
watchdog_reload();
|
||||
sleep(1);
|
||||
|
||||
@@ -11,12 +11,12 @@
|
||||
#include "dut_common.h"
|
||||
#include "cts_common.h"
|
||||
|
||||
enum cts_error_code sync_test(void)
|
||||
enum cts_rc sync_test(void)
|
||||
{
|
||||
return CTS_SUCCESS;
|
||||
return CTS_RC_SUCCESS;
|
||||
}
|
||||
|
||||
enum cts_error_code set_high_test(void)
|
||||
enum cts_rc set_high_test(void)
|
||||
{
|
||||
int level;
|
||||
|
||||
@@ -24,12 +24,12 @@ enum cts_error_code set_high_test(void)
|
||||
msleep(READ_WAIT_TIME_MS);
|
||||
level = gpio_get_level(GPIO_INPUT_TEST);
|
||||
if (level)
|
||||
return CTS_SUCCESS;
|
||||
return CTS_RC_SUCCESS;
|
||||
else
|
||||
return CTS_ERROR_FAILURE;
|
||||
return CTS_RC_FAILURE;
|
||||
}
|
||||
|
||||
enum cts_error_code set_low_test(void)
|
||||
enum cts_rc set_low_test(void)
|
||||
{
|
||||
int level;
|
||||
|
||||
@@ -37,70 +37,50 @@ enum cts_error_code set_low_test(void)
|
||||
msleep(READ_WAIT_TIME_MS);
|
||||
level = gpio_get_level(GPIO_INPUT_TEST);
|
||||
if (!level)
|
||||
return CTS_SUCCESS;
|
||||
return CTS_RC_SUCCESS;
|
||||
else
|
||||
return CTS_ERROR_FAILURE;
|
||||
return CTS_RC_FAILURE;
|
||||
}
|
||||
|
||||
enum cts_error_code read_high_test(void)
|
||||
enum cts_rc read_high_test(void)
|
||||
{
|
||||
gpio_set_flags(GPIO_OUTPUT_TEST, GPIO_ODR_LOW);
|
||||
gpio_set_level(GPIO_OUTPUT_TEST, 1);
|
||||
msleep(READ_WAIT_TIME_MS*2);
|
||||
return CTS_ERROR_UNKNOWN;
|
||||
return CTS_RC_UNKNOWN;
|
||||
}
|
||||
|
||||
enum cts_error_code read_low_test(void)
|
||||
enum cts_rc read_low_test(void)
|
||||
{
|
||||
gpio_set_flags(GPIO_OUTPUT_TEST, GPIO_ODR_LOW);
|
||||
gpio_set_level(GPIO_OUTPUT_TEST, 0);
|
||||
msleep(READ_WAIT_TIME_MS*2);
|
||||
return CTS_ERROR_UNKNOWN;
|
||||
return CTS_RC_UNKNOWN;
|
||||
}
|
||||
|
||||
enum cts_error_code od_read_high_test(void)
|
||||
enum cts_rc od_read_high_test(void)
|
||||
{
|
||||
gpio_set_flags(GPIO_INPUT_TEST, GPIO_OUTPUT | GPIO_ODR_LOW);
|
||||
msleep(READ_WAIT_TIME_MS*2);
|
||||
return CTS_ERROR_UNKNOWN;
|
||||
return CTS_RC_UNKNOWN;
|
||||
}
|
||||
|
||||
#include "cts_testlist.h"
|
||||
|
||||
void cts_task(void)
|
||||
{
|
||||
enum cts_error_code results[CTS_TEST_ID_COUNT];
|
||||
enum cts_rc result;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < CTS_TEST_ID_COUNT; i++) {
|
||||
sync();
|
||||
results[i] = tests[i].run();
|
||||
result = tests[i].run();
|
||||
CPRINTF("\n%s %d\n", tests[i].name, result);
|
||||
uart_flush_output();
|
||||
}
|
||||
|
||||
CPRINTS("GPIO test suite finished");
|
||||
uart_flush_output();
|
||||
CPRINTS("Results:");
|
||||
for (i = 0; i < CTS_TEST_ID_COUNT; i++) {
|
||||
switch (results[i]) {
|
||||
case CTS_SUCCESS:
|
||||
CPRINTS("%s) Passed", tests[i].name);
|
||||
break;
|
||||
case CTS_ERROR_FAILURE:
|
||||
CPRINTS("%s) Failed", tests[i].name);
|
||||
break;
|
||||
case CTS_ERROR_BAD_SYNC:
|
||||
CPRINTS("%s) Bad sync", tests[i].name);
|
||||
break;
|
||||
case CTS_ERROR_UNKNOWN:
|
||||
CPRINTS("%s) Test result unknown", tests[i].name);
|
||||
break;
|
||||
default:
|
||||
CPRINTS("%s) ErrorCode (%d) not recognized",
|
||||
tests[i].name, results[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
while (1) {
|
||||
watchdog_reload();
|
||||
sleep(1);
|
||||
|
||||
Reference in New Issue
Block a user