Switch unit tests to jerry-libc.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
This commit is contained in:
+6
-3
@@ -234,7 +234,7 @@ project (Jerry CXX C ASM)
|
|||||||
set(FLAGS_COMMON_RELEASE "-Os -nostdlib")
|
set(FLAGS_COMMON_RELEASE "-Os -nostdlib")
|
||||||
|
|
||||||
# Unit tests
|
# Unit tests
|
||||||
set(FLAGS_COMMON_UNITTESTS "-O3 -nodefaultlibs")
|
set(FLAGS_COMMON_UNITTESTS "-O3 -nostdlib")
|
||||||
|
|
||||||
# Include directories
|
# Include directories
|
||||||
# Core interface
|
# Core interface
|
||||||
@@ -310,8 +310,9 @@ project (Jerry CXX C ASM)
|
|||||||
add_subdirectory(plugins)
|
add_subdirectory(plugins)
|
||||||
|
|
||||||
# Targets declaration
|
# Targets declaration
|
||||||
|
string(TOLOWER "${PLATFORM_EXT}" PLATFORM_L)
|
||||||
|
|
||||||
function(declare_targets_for_build_mode BUILD_MODE)
|
function(declare_targets_for_build_mode BUILD_MODE)
|
||||||
string(TOLOWER "${PLATFORM_EXT}" PLATFORM_L)
|
|
||||||
set(TARGET_NAME ${BUILD_MODE_PREFIX_${BUILD_MODE}}.${PLATFORM_L})
|
set(TARGET_NAME ${BUILD_MODE_PREFIX_${BUILD_MODE}}.${PLATFORM_L})
|
||||||
set(PLUGINS_TARGET_NAME ${BUILD_MODE_PREFIX_${BUILD_MODE}}.plugins.${PLATFORM_L}.lib)
|
set(PLUGINS_TARGET_NAME ${BUILD_MODE_PREFIX_${BUILD_MODE}}.plugins.${PLATFORM_L}.lib)
|
||||||
set(LIBC_TARGET_NAME ${BUILD_MODE_PREFIX_${BUILD_MODE}}.jerry-libc.${PLATFORM_L}.lib)
|
set(LIBC_TARGET_NAME ${BUILD_MODE_PREFIX_${BUILD_MODE}}.jerry-libc.${PLATFORM_L}.lib)
|
||||||
@@ -424,6 +425,7 @@ project (Jerry CXX C ASM)
|
|||||||
set(TARGET_NAME unit-${TARGET_NAME})
|
set(TARGET_NAME unit-${TARGET_NAME})
|
||||||
|
|
||||||
set(CORE_TARGET_NAME unittests.jerry-core)
|
set(CORE_TARGET_NAME unittests.jerry-core)
|
||||||
|
set(LIBC_TARGET_NAME unittests.jerry-libc.${PLATFORM_L}.lib)
|
||||||
set(FDLIBM_TARGET_NAME unittests.jerry-fdlibm${SUFFIX_THIRD_PARTY_LIB})
|
set(FDLIBM_TARGET_NAME unittests.jerry-fdlibm${SUFFIX_THIRD_PARTY_LIB})
|
||||||
|
|
||||||
add_executable(${TARGET_NAME} ${SOURCE_UNIT_TEST_MAIN})
|
add_executable(${TARGET_NAME} ${SOURCE_UNIT_TEST_MAIN})
|
||||||
@@ -432,7 +434,8 @@ project (Jerry CXX C ASM)
|
|||||||
set_property(TARGET ${TARGET_NAME}
|
set_property(TARGET ${TARGET_NAME}
|
||||||
PROPERTY LINK_FLAGS "${COMPILE_FLAGS_JERRY} ${CXX_FLAGS_JERRY} ${FLAGS_COMMON_UNITTESTS} ${LINKER_FLAGS_COMMON}")
|
PROPERTY LINK_FLAGS "${COMPILE_FLAGS_JERRY} ${CXX_FLAGS_JERRY} ${FLAGS_COMMON_UNITTESTS} ${LINKER_FLAGS_COMMON}")
|
||||||
target_include_directories(${TARGET_NAME} PRIVATE ${INCLUDE_CORE_INTERFACE})
|
target_include_directories(${TARGET_NAME} PRIVATE ${INCLUDE_CORE_INTERFACE})
|
||||||
target_link_libraries(${TARGET_NAME} ${CORE_TARGET_NAME} ${FDLIBM_TARGET_NAME} ${PREFIX_IMPORTED_LIB}libc
|
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE ${INCLUDE_LIBC_INTERFACE})
|
||||||
|
target_link_libraries(${TARGET_NAME} ${CORE_TARGET_NAME} ${LIBC_TARGET_NAME} ${FDLIBM_TARGET_NAME}
|
||||||
${PREFIX_IMPORTED_LIB}libgcc ${PREFIX_IMPORTED_LIB}libgcc_eh)
|
${PREFIX_IMPORTED_LIB}libgcc ${PREFIX_IMPORTED_LIB}libgcc_eh)
|
||||||
|
|
||||||
add_cppcheck_target(${TARGET_NAME})
|
add_cppcheck_target(${TARGET_NAME})
|
||||||
|
|||||||
@@ -139,3 +139,4 @@ set(COMPILE_FLAGS_LIBC "${COMPILE_FLAGS_JERRY} ${C_FLAGS_JERRY}")
|
|||||||
|
|
||||||
declare_targets_for_build_mode(DEBUG)
|
declare_targets_for_build_mode(DEBUG)
|
||||||
declare_targets_for_build_mode(RELEASE)
|
declare_targets_for_build_mode(RELEASE)
|
||||||
|
declare_targets_for_build_mode(UNITTESTS)
|
||||||
|
|||||||
@@ -218,6 +218,8 @@ const jerry_api_char_ptr_t magic_string_items[] =
|
|||||||
int
|
int
|
||||||
main (void)
|
main (void)
|
||||||
{
|
{
|
||||||
|
TEST_INIT ();
|
||||||
|
|
||||||
jerry_init (JERRY_FLAG_EMPTY);
|
jerry_init (JERRY_FLAG_EMPTY);
|
||||||
|
|
||||||
bool is_ok;
|
bool is_ok;
|
||||||
|
|||||||
+24
-15
@@ -24,8 +24,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Verify that unit tests are built with all debug checks enabled
|
* Verify that unit tests are built with all debug checks enabled
|
||||||
*/
|
*/
|
||||||
@@ -33,21 +31,32 @@ using namespace std;
|
|||||||
# error "defined (JERRY_NDEBUG) || defined (JERRY_DISABLE_HEAVY_DEBUG) in a unit test"
|
# error "defined (JERRY_NDEBUG) || defined (JERRY_DISABLE_HEAVY_DEBUG) in a unit test"
|
||||||
#endif /* JERRY_NDEBUG || JERRY_DISABLE_HEAVY_DEBUG */
|
#endif /* JERRY_NDEBUG || JERRY_DISABLE_HEAVY_DEBUG */
|
||||||
|
|
||||||
#define TEST_RANDOMIZE() \
|
/**
|
||||||
|
* Test initialization statement that should be included
|
||||||
|
* at the beginning of main function in every unit test.
|
||||||
|
*/
|
||||||
|
#define TEST_INIT() \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
struct timeval current_time; \
|
FILE *f_rnd = fopen ("/dev/urandom", "r"); \
|
||||||
gettimeofday (¤t_time, NULL); \
|
\
|
||||||
\
|
if (f_rnd == NULL) \
|
||||||
time_t seconds = current_time.tv_sec; \
|
{ \
|
||||||
suseconds_t microseconds = current_time.tv_usec; \
|
return 1; \
|
||||||
\
|
} \
|
||||||
uint32_t seed = (uint32_t) (seconds + microseconds); \
|
\
|
||||||
\
|
uint32_t seed; \
|
||||||
printf ("TEST_RANDOMIZE: seed is %u\n", seed); \
|
\
|
||||||
\
|
size_t bytes_read = fread (&seed, 1, sizeof (seed), f_rnd); \
|
||||||
|
\
|
||||||
|
fclose (f_rnd); \
|
||||||
|
\
|
||||||
|
if (bytes_read != sizeof (seed)) \
|
||||||
|
{ \
|
||||||
|
return 1; \
|
||||||
|
} \
|
||||||
|
\
|
||||||
srand (seed); \
|
srand (seed); \
|
||||||
} \
|
} while (0)
|
||||||
while (0)
|
|
||||||
|
|
||||||
#endif /* TEST_COMMON_H */
|
#endif /* TEST_COMMON_H */
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ int
|
|||||||
main (int __attr_unused___ argc,
|
main (int __attr_unused___ argc,
|
||||||
char __attr_unused___ **argv)
|
char __attr_unused___ **argv)
|
||||||
{
|
{
|
||||||
TEST_RANDOMIZE ();
|
TEST_INIT ();
|
||||||
|
|
||||||
mem_heap_init (test_native_heap, sizeof (test_native_heap));
|
mem_heap_init (test_native_heap, sizeof (test_native_heap));
|
||||||
|
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ int
|
|||||||
main (int __attr_unused___ argc,
|
main (int __attr_unused___ argc,
|
||||||
char __attr_unused___ **argv)
|
char __attr_unused___ **argv)
|
||||||
{
|
{
|
||||||
TEST_RANDOMIZE ();
|
TEST_INIT ();
|
||||||
|
|
||||||
const ecma_char_t *ptrs[test_sub_iters];
|
const ecma_char_t *ptrs[test_sub_iters];
|
||||||
ecma_number_t numbers[test_sub_iters];
|
ecma_number_t numbers[test_sub_iters];
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ int
|
|||||||
main (int __attr_unused___ argc,
|
main (int __attr_unused___ argc,
|
||||||
char __attr_unused___ **argv)
|
char __attr_unused___ **argv)
|
||||||
{
|
{
|
||||||
|
TEST_INIT ();
|
||||||
|
|
||||||
const ecma_char_t* zt_strings[] =
|
const ecma_char_t* zt_strings[] =
|
||||||
{
|
{
|
||||||
(const ecma_char_t*) "1",
|
(const ecma_char_t*) "1",
|
||||||
|
|||||||
@@ -69,6 +69,8 @@ int
|
|||||||
main (int __attr_unused___ argc,
|
main (int __attr_unused___ argc,
|
||||||
char __attr_unused___ **argv)
|
char __attr_unused___ **argv)
|
||||||
{
|
{
|
||||||
|
TEST_INIT ();
|
||||||
|
|
||||||
char program[] = "a=1;var a;";
|
char program[] = "a=1;var a;";
|
||||||
bool is_ok;
|
bool is_ok;
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ int
|
|||||||
main (int __attr_unused___ argc,
|
main (int __attr_unused___ argc,
|
||||||
char __attr_unused___ **argv)
|
char __attr_unused___ **argv)
|
||||||
{
|
{
|
||||||
TEST_RANDOMIZE ();
|
TEST_INIT ();
|
||||||
|
|
||||||
for (uint32_t i = 0; i < test_iters; i++)
|
for (uint32_t i = 0; i < test_iters; i++)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ int
|
|||||||
main (int __attr_unused___ argc,
|
main (int __attr_unused___ argc,
|
||||||
char __attr_unused___ **argv)
|
char __attr_unused___ **argv)
|
||||||
{
|
{
|
||||||
TEST_RANDOMIZE ();
|
TEST_INIT ();
|
||||||
|
|
||||||
mem_init ();
|
mem_init ();
|
||||||
|
|
||||||
|
|||||||
@@ -213,7 +213,7 @@ int
|
|||||||
main (int __attr_unused___ argc,
|
main (int __attr_unused___ argc,
|
||||||
char __attr_unused___ **argv)
|
char __attr_unused___ **argv)
|
||||||
{
|
{
|
||||||
TEST_RANDOMIZE ();
|
TEST_INIT ();
|
||||||
|
|
||||||
mem_init ();
|
mem_init ();
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ int
|
|||||||
main (int __attr_unused___ argc,
|
main (int __attr_unused___ argc,
|
||||||
char __attr_unused___ **argv)
|
char __attr_unused___ **argv)
|
||||||
{
|
{
|
||||||
|
TEST_INIT ();
|
||||||
|
|
||||||
const ecma_char_t* zt_strings[] =
|
const ecma_char_t* zt_strings[] =
|
||||||
{
|
{
|
||||||
(const ecma_char_t*) "1",
|
(const ecma_char_t*) "1",
|
||||||
|
|||||||
Reference in New Issue
Block a user