diff options
Diffstat (limited to 'test/irq_locking.c')
-rw-r--r-- | test/irq_locking.c | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/test/irq_locking.c b/test/irq_locking.c deleted file mode 100644 index 6d08b1175d..0000000000 --- a/test/irq_locking.c +++ /dev/null @@ -1,83 +0,0 @@ -/* Copyright 2020 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. - */ - -#include "task.h" -#include "test_util.h" - -static uint32_t interrupt_disable_count; -static uint32_t interrupt_enable_count; - -/** Mock implementation of interrupt_disable. */ -void interrupt_disable(void) -{ - ++interrupt_disable_count; -} - -/** Mock implementation of interrupt_enable. */ -void interrupt_enable(void) -{ - ++interrupt_enable_count; -} - -static int test_simple_lock_unlock(void) -{ - uint32_t key = irq_lock(); - - irq_unlock(key); - - TEST_EQ(interrupt_disable_count, 1, "%u"); - TEST_EQ(interrupt_enable_count, 1, "%u"); - - return EC_SUCCESS; -} - -static int test_unlock_when_all_keys_removed(void) -{ - uint32_t key0 = irq_lock(); - uint32_t key1 = irq_lock(); - - TEST_EQ(interrupt_disable_count, 2, "%u"); - - irq_unlock(key1); - - TEST_EQ(interrupt_enable_count, 0, "%u"); - - irq_unlock(key0); - - TEST_EQ(interrupt_enable_count, 1, "%u"); - - return EC_SUCCESS; -} - -static int test_unlock_from_root_key(void) -{ - uint32_t key0 = irq_lock(); - uint32_t key1 = irq_lock(); - - TEST_NE(key0, key1, "%u"); - TEST_EQ(interrupt_disable_count, 2, "%u"); - - irq_unlock(key0); - TEST_EQ(interrupt_enable_count, 1, "%u"); - - return EC_SUCCESS; -} - -void before_test(void) -{ - interrupt_disable_count = 0; - interrupt_enable_count = 0; -} - -void run_test(int argc, char **argv) -{ - test_reset(); - - RUN_TEST(test_simple_lock_unlock); - RUN_TEST(test_unlock_when_all_keys_removed); - RUN_TEST(test_unlock_from_root_key); - - test_print_result(); -} |