/* 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 interrupt_enable/disable */
CTS_TEST(test_interrupt_enable)
CTS_TEST(test_interrupt_disable)

/* Test task_wait_for_event */
CTS_TEST(test_task_wait_event)

/* Test task_disable_irq */
CTS_TEST(test_task_disable_irq)

/* Test nested interrupt. Lower priority IRQ is fired, followed by
 * higher priority IRQ. Handler executions should be nested.
 *
 * P1                    *-----*
 *                      /       \
 * P2             *----*         *----*
 *               /                     \
 * task_cts ----*                       *----
 *                A      B     C      D
 */
CTS_TEST(test_nested_interrupt_low_high)

/* Test nested interrupt. Higher priority IRQ is fired, followed by
 * lower priority IRQ. Handlers should be executed sequentially.
 *
 * P1               *-----*
 *                 /       \
 * P2             /         *-----*
 *               /                 \
 * task_cts ----*                   *----
 *                  B     C A     D
 */
CTS_TEST(test_nested_interrupt_high_low)

/*
 * Other ideas
 *
 * Test back-to-back interrupts, NVIC, Priorities
 */