Add unit test suites (#3490)
This commit is contained in:
1
tests/unit/interpreter/.gitignore
vendored
Normal file
1
tests/unit/interpreter/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/build/*
|
||||
42
tests/unit/interpreter/CMakeLists.txt
Normal file
42
tests/unit/interpreter/CMakeLists.txt
Normal file
@ -0,0 +1,42 @@
|
||||
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
|
||||
cmake_minimum_required(VERSION 2.9)
|
||||
|
||||
project (test-interpreter)
|
||||
|
||||
add_definitions (-DRUN_ON_LINUX)
|
||||
|
||||
add_definitions (-Dattr_container_malloc=malloc)
|
||||
add_definitions (-Dattr_container_free=free)
|
||||
# add_definitions (-DWASM_ENABLE_WAMR_COMPILER=1)
|
||||
|
||||
set (WAMR_BUILD_LIBC_WASI 0)
|
||||
set (WAMR_BUILD_APP_FRAMEWORK 1)
|
||||
set (WAMR_BUILD_AOT 0)
|
||||
|
||||
include (../unit_common.cmake)
|
||||
|
||||
include_directories (${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
file (GLOB_RECURSE source_all ${CMAKE_CURRENT_SOURCE_DIR}/*.cc)
|
||||
|
||||
set (UNIT_SOURCE ${source_all})
|
||||
|
||||
set (unit_test_sources
|
||||
${UNIT_SOURCE}
|
||||
${PLATFORM_SHARED_SOURCE}
|
||||
${UTILS_SHARED_SOURCE}
|
||||
${MEM_ALLOC_SHARED_SOURCE}
|
||||
${NATIVE_INTERFACE_SOURCE}
|
||||
${LIBC_BUILTIN_SOURCE}
|
||||
${IWASM_COMMON_SOURCE}
|
||||
${IWASM_INTERP_SOURCE}
|
||||
)
|
||||
|
||||
# Now simply link against gtest or gtest_main as needed. Eg
|
||||
add_executable (interpreter_test ${unit_test_sources})
|
||||
|
||||
target_link_libraries (interpreter_test ${LLVM_AVAILABLE_LIBS} gtest_main )
|
||||
|
||||
gtest_discover_tests(interpreter_test)
|
||||
50
tests/unit/interpreter/interpreter_test.cc
Normal file
50
tests/unit/interpreter/interpreter_test.cc
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright (C) 2019 Intel Corporation. All rights reserved.
|
||||
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
*/
|
||||
|
||||
#include <limits.h>
|
||||
#include "gtest/gtest.h"
|
||||
#include "wasm_runtime_common.h"
|
||||
#include "bh_platform.h"
|
||||
|
||||
// To use a test fixture, derive a class from testing::Test.
|
||||
class InterpreterTest : public testing::Test
|
||||
{
|
||||
protected:
|
||||
// You should make the members protected s.t. they can be
|
||||
// accessed from sub-classes.
|
||||
|
||||
// virtual void SetUp() will be called before each test is run. You
|
||||
// should define it if you need to initialize the varaibles.
|
||||
// Otherwise, this can be skipped.
|
||||
virtual void SetUp()
|
||||
{
|
||||
memset(&init_args, 0, sizeof(RuntimeInitArgs));
|
||||
|
||||
init_args.mem_alloc_type = Alloc_With_Pool;
|
||||
init_args.mem_alloc_option.pool.heap_buf = global_heap_buf;
|
||||
init_args.mem_alloc_option.pool.heap_size = sizeof(global_heap_buf);
|
||||
|
||||
ASSERT_EQ(wasm_runtime_full_init(&init_args), true);
|
||||
}
|
||||
|
||||
// virtual void TearDown() will be called after each test is run.
|
||||
// You should define it if there is cleanup work to do. Otherwise,
|
||||
// you don't have to provide it.
|
||||
//
|
||||
virtual void TearDown() { wasm_runtime_destroy(); }
|
||||
|
||||
public:
|
||||
char global_heap_buf[512 * 1024];
|
||||
RuntimeInitArgs init_args;
|
||||
};
|
||||
|
||||
TEST_F(InterpreterTest, wasm_runtime_is_built_in_module)
|
||||
{
|
||||
bool ret = wasm_runtime_is_built_in_module("env");
|
||||
ASSERT_TRUE(ret);
|
||||
|
||||
ret = ret = wasm_runtime_is_built_in_module("env1");
|
||||
ASSERT_FALSE(ret);
|
||||
}
|
||||
Reference in New Issue
Block a user