spinlock: Support ztest mocking

Spinlocks are written above the arch-provided _arch_irq_un/lock()
calls.  But those aren't stubbed by the mocking layer, and as it's not
an "arch" I don't see an obvious place to put them.  Handle them in
spinlock.h.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
This commit is contained in:
Andy Ross 2018-07-24 12:19:16 -07:00 committed by Anas Nashif
commit fb505b3cfd

View file

@ -8,6 +8,22 @@
#include <atomic.h> #include <atomic.h>
/* These stubs aren't provided by the mocking framework, and I can't
* find a proper place to put them as mocking seems not to have a
* proper "arch" layer.
*/
#ifdef ZTEST_UNITTEST
static inline int _arch_irq_lock(void)
{
return 0;
}
static inline void _arch_irq_unlock(int key)
{
ARG_UNUSED(key);
}
#endif
#if defined(CONFIG_ASSERT) && (CONFIG_MP_NUM_CPUS < 4) #if defined(CONFIG_ASSERT) && (CONFIG_MP_NUM_CPUS < 4)
#include <misc/__assert.h> #include <misc/__assert.h>
struct k_spinlock; struct k_spinlock;
@ -37,6 +53,7 @@ struct k_spinlock {
static ALWAYS_INLINE k_spinlock_key_t k_spin_lock(struct k_spinlock *l) static ALWAYS_INLINE k_spinlock_key_t k_spin_lock(struct k_spinlock *l)
{ {
ARG_UNUSED(l);
k_spinlock_key_t k; k_spinlock_key_t k;
/* Note that we need to use the underlying arch-specific lock /* Note that we need to use the underlying arch-specific lock