mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-21 23:37:13 +00:00
2lib: Add test_mockable attribute
Some tests mock library functions. This previously worked due to adding
CFLAGS += -Xlinker --allow-multiple-definition
to the test binaries. But the new version of binutils seems to need
the default implementation to be weak if compiled with -O2 in some
cases. Add test_mockable for use with functions where this is now
needed.
BUG=chromium:723906
BRANCH=none
TEST=Add CFLAGS += -O2 to the makefile, then make -j runtests
Tests break before this change with -O2, and work afterwards
Change-Id: I95996a3e1086251442055765295a75de4c20ee3c
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/527601
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Rahul Chaudhry <rahulchaudhry@chromium.org>
Reviewed-by: Rahul Chaudhry <rahulchaudhry@chromium.org>
This commit is contained in:
committed by
chrome-bot
parent
4007d6ff21
commit
3522e574a2
@@ -46,6 +46,18 @@ struct vb2_public_key;
|
||||
# define VB2_DEBUG_RAW(format, args...)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Define test_mockable and for mocking functions when compiled for Chrome OS
|
||||
* environment (that is, not for firmware).
|
||||
*/
|
||||
#ifndef test_mockable
|
||||
#ifdef CHROMEOS_ENVIRONMENT
|
||||
#define test_mockable __attribute__((weak))
|
||||
#else
|
||||
#define test_mockable
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Alignment for work buffer pointers/allocations should be useful for any
|
||||
* data type. When declaring workbuf buffers on the stack, the caller should
|
||||
|
||||
@@ -39,7 +39,9 @@ typedef uint32_t VbError_t;
|
||||
/*
|
||||
* Define test_mockable for mocking functions.
|
||||
*/
|
||||
#ifndef test_mockable
|
||||
#define test_mockable __attribute__((weak))
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Predefined error numbers. Success is 0. Errors are non-zero, but differ
|
||||
|
||||
@@ -23,6 +23,7 @@ int vb2_verify_packed_key_inside(const void *parent,
|
||||
key->key_offset, key->key_size);
|
||||
}
|
||||
|
||||
test_mockable
|
||||
int vb2_unpack_key_buffer(struct vb2_public_key *key,
|
||||
const uint8_t *buf,
|
||||
uint32_t size)
|
||||
|
||||
Reference in New Issue
Block a user