blob: 4b61d0493dc03043e730a6d402d2af0a5842789f [file] [log] [blame]
/*
* Copyright (c) 2016 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @addtogroup t_stack_api
* @{
* @defgroup t_stack_fail_pop test_stack_fail_pop
* @brief TestPurpose: verify zephyr stack pop when empty
* - API coverage
* -# k_stack_pop
* @}
*/
#include <ztest.h>
#include <irq_offload.h>
#define TIMEOUT 100
#define STACK_LEN 2
static u32_t data[STACK_LEN];
/*test cases*/
void test_stack_pop_fail(void *p1, void *p2, void *p3)
{
struct k_stack stack;
u32_t rx_data;
k_stack_init(&stack, data, STACK_LEN);
/**TESTPOINT: stack pop returns -EBUSY*/
zassert_equal(k_stack_pop(&stack, &rx_data, K_NO_WAIT), -EBUSY, NULL);
/**TESTPOINT: stack pop returns -EAGAIN*/
zassert_equal(k_stack_pop(&stack, &rx_data, TIMEOUT), -EAGAIN, NULL);
}