Add unit test suites (#3490)
This commit is contained in:
49
tests/unit/running-modes/wasm-apps/CMakeLists.txt
Normal file
49
tests/unit/running-modes/wasm-apps/CMakeLists.txt
Normal file
@ -0,0 +1,49 @@
|
||||
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
project(wasm-apps)
|
||||
|
||||
set(WAMR_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../..)
|
||||
|
||||
set(CMAKE_SYSTEM_PROCESSOR wasm32)
|
||||
set(CMAKE_SYSROOT ${WAMR_ROOT_DIR}/wamr-sdk/app/libc-builtin-sysroot)
|
||||
|
||||
if (NOT DEFINED WASI_SDK_DIR)
|
||||
set(WASI_SDK_DIR "/opt/wasi-sdk")
|
||||
endif ()
|
||||
|
||||
set(CMAKE_C_FLAGS "-nostdlib -pthread -Qunused-arguments")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -z stack-size=8192 -nostdlib")
|
||||
set(CMAKE_C_COMPILER_TARGET "wasm32")
|
||||
set(CMAKE_C_COMPILER "${WASI_SDK_DIR}/bin/clang")
|
||||
|
||||
set(DEFINED_SYMBOLS
|
||||
"${WAMR_ROOT_DIR}/wamr-sdk/app/libc-builtin-sysroot/share/defined-symbols.txt")
|
||||
|
||||
set(CMAKE_EXE_LINKER_FLAGS
|
||||
"-Wl,--no-entry \
|
||||
-Wl,--initial-memory=65536 \
|
||||
-Wl,--export-all \
|
||||
-Wl,--allow-undefined"
|
||||
)
|
||||
|
||||
add_executable(mytest.wasm mytest.c)
|
||||
target_link_libraries(mytest.wasm)
|
||||
|
||||
add_executable(hello.wasm hello.c)
|
||||
target_link_libraries(hello.wasm)
|
||||
|
||||
add_custom_command(TARGET hello.wasm POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
${CMAKE_CURRENT_BINARY_DIR}/hello.wasm
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../
|
||||
COMMENT "Copy hello.wasm to the same directory of google test"
|
||||
)
|
||||
|
||||
add_custom_command(TARGET mytest.wasm POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
${CMAKE_CURRENT_BINARY_DIR}/mytest.wasm
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../
|
||||
COMMENT "Copy mytest.wasm to the same directory of google test"
|
||||
)
|
||||
31
tests/unit/running-modes/wasm-apps/hello.c
Normal file
31
tests/unit/running-modes/wasm-apps/hello.c
Normal file
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright (C) 2019 Intel Corporation. All rights reserved.
|
||||
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
*/
|
||||
|
||||
double
|
||||
foo(double d)
|
||||
{
|
||||
return d / 3.0;
|
||||
}
|
||||
|
||||
double
|
||||
maybe_min(double d, double e)
|
||||
{
|
||||
return d < e ? d : e;
|
||||
}
|
||||
|
||||
double
|
||||
factor(double a, double b, double c)
|
||||
{
|
||||
return (a * c) + (b * c);
|
||||
}
|
||||
|
||||
int
|
||||
echo(int a)
|
||||
{
|
||||
double b = foo(14.5);
|
||||
double c = maybe_min(12.2, 15.4);
|
||||
double d = factor(a, b, c);
|
||||
return 2 * a;
|
||||
}
|
||||
53
tests/unit/running-modes/wasm-apps/mytest.c
Normal file
53
tests/unit/running-modes/wasm-apps/mytest.c
Normal file
@ -0,0 +1,53 @@
|
||||
/*
|
||||
* Copyright (C) 2019 Intel Corporation. All rights reserved.
|
||||
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int
|
||||
recursive(int a)
|
||||
{
|
||||
if (a > 0) {
|
||||
return recursive(a - 1) + 1;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
testFunction(int *input, int length)
|
||||
{
|
||||
int sum = 0;
|
||||
for (int i = 0; i < length; ++i) {
|
||||
sum += input[i];
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
|
||||
int arr[5] = { 1, 2, 3, 4, 5 };
|
||||
testFunction(arr, recursive(5));
|
||||
|
||||
char *buf;
|
||||
|
||||
printf("Hello world!\n");
|
||||
|
||||
buf = malloc(1024);
|
||||
if (!buf) {
|
||||
printf("malloc buf failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
printf("buf ptr: %p\n", buf);
|
||||
|
||||
snprintf(buf, 1024, "%s", "1234\n");
|
||||
printf("buf: %s", buf);
|
||||
|
||||
free(buf);
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user