Files
OpenCellular/cts/task/cts.testlist
Daisuke Nojiri ff85876719 eCTS: Check order and expectation of test results
This patch makes the framework verify not only the result but also
the execution order of the tests. It also allows each test to
specify expected return code and strings printed by TH and DUT.
The final test results depends on the return code and the expectation.
Therefore, the output now includes 'RESULT' column showing PASS or FAIL:

   test name       TH_RETURN_CODE DUT_RETURN_CODE TH_STR DUT_STR RESULT
test_task_switch          SUCCESS         SUCCESS      1       1   PASS
test_task_priority        SUCCESS         FAILURE      1       1   FAIL
test_stack_overflow   DID_NOT_END     DID_NOT_END      1       1   PASS

Additionally, this patch:

 * Adds CTS_RC_DID_NOT_START and CTS_RC_DID_NOT_END to indicate whether
   the test did start or end, respectively.
 * Makes stack overflow test check whether stack overflow was detected
   and reboot occurred
 * Removes post_corruption_test and conflict test since now
   the test results are stricly compared against expected results.
 * Fixes gpylint errors.

BUG=none
BRANCH=none
TEST=Run gpio, meta, timer, interrupt, and cts/cts.py -m task

Change-Id: I3b7005236e705dcac0c8f4711b44c85ff9a4f676
Reviewed-on: https://chromium-review.googlesource.com/538878
Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org>
Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
2017-06-23 00:51:19 -07:00

28 lines
995 B
Plaintext

/* 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.
*/
/*
* Test task switching. Task A wakes up B and goes to sleep. Task B wakes
* up C then goes to sleep. Task C wakes up A then goes to sleep. This is
* repeated TEST_COUNT times. It's expected all tasks to run exactly
* TEST_COUNT times. Tick task runs to inject some irregularity.
*/
CTS_TEST(test_task_switch,,,,)
/*
* Test task priority. CTS task wakes up A and C then goes to sleep. Since C
* has a higher priority, C should run first. This should result in C running
* one more time than A (or B).
*/
CTS_TEST(test_task_priority,,,,)
/*
* Test stack overflow. CTS task overflows the stack and it should be detected
* when task switch happens. Reboot is expected.
*/
CTS_TEST(test_stack_overflow,\
CTS_RC_DID_NOT_END, "Stack overflow in CTS task!",\
CTS_RC_DID_NOT_END, "Stack overflow in CTS task!")