/* 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!")
