Add unit test suites (#3490)

This commit is contained in:
Zhang, Yi
2024-06-04 11:24:27 +08:00
committed by GitHub
parent 0a80cc4e94
commit 380cd7b0e7
194 changed files with 14104 additions and 34 deletions

View 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"
)

View 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;
}

View 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;
}