blob: 76ad1e3bc677522e7f5aa84378587941ec69d233 [file] [log] [blame]
# Unit tests for kelvin simulator.
exports_files([
"testfiles/hello_world_rv32imf.elf",
"testfiles/kelvin_vldvst.elf",
"testfiles/rv32i.elf",
"testfiles/rv32m.elf",
"testfiles/rv32soft_fp.elf",
"testfiles/rv32uf_fadd.elf",
])
cc_test(
name = "kelvin_encoding_test",
size = "small",
srcs = [
"kelvin_encoding_test.cc",
],
deps = [
"//sim:kelvin_decoder",
"//sim:kelvin_isa",
"//sim:kelvin_state",
"@com_google_googletest//:gtest_main",
"@com_google_mpact-riscv//riscv:riscv_state",
"@com_google_mpact-sim//mpact/sim/generic:arch_state",
],
)
cc_test(
name = "kelvin_decoder_test",
size = "small",
srcs = [
"kelvin_decoder_test.cc",
],
data = [
"testfiles/hello_world_rv32imf.elf",
],
deps = [
"//sim:kelvin_decoder",
"//sim:kelvin_state",
"@com_github_serge1_elfio//:elfio",
"@com_google_absl//absl/log",
"@com_google_absl//absl/log:check",
"@com_google_googletest//:gtest_main",
"@com_google_mpact-sim//mpact/sim/generic:instruction",
"@com_google_mpact-sim//mpact/sim/util/memory",
"@com_google_mpact-sim//mpact/sim/util/program_loader:elf_loader",
],
)
cc_test(
name = "kelvin_top_test",
size = "small",
srcs = [
"kelvin_top_test.cc",
],
data = [
"testfiles/hello_world_mpause.elf",
"testfiles/hello_world_rv32imf.elf",
"testfiles/kelvin_vldvst.elf",
"testfiles/rv32i.elf",
"testfiles/rv32m.elf",
"testfiles/rv32soft_fp.elf",
"testfiles/rv32uf_fadd.elf",
],
deps = [
"//sim:kelvin_top",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/log:check",
"@com_google_absl//absl/status",
"@com_google_googletest//:gtest_main",
"@com_google_mpact-sim//mpact/sim/generic:core",
"@com_google_mpact-sim//mpact/sim/util/memory",
"@com_google_mpact-sim//mpact/sim/util/program_loader:elf_loader",
],
)
cc_library(
name = "kelvin_vector_instructions_test_base",
testonly = True,
hdrs = ["kelvin_vector_instructions_test_base.h"],
copts = [
"-Werror",
"-Wvla-extension",
],
deps = [
"//sim:kelvin_state",
"@com_google_absl//absl/random",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:span",
"@com_google_mpact-riscv//riscv:riscv_state",
"@com_google_mpact-sim//mpact/sim/generic:arch_state",
"@com_google_mpact-sim//mpact/sim/generic:core",
"@com_google_mpact-sim//mpact/sim/generic:instruction",
"@com_google_mpact-sim//mpact/sim/generic:type_helpers",
"@com_google_mpact-sim//mpact/sim/util/memory",
],
)
cc_test(
name = "kelvin_vector_instructions_test",
srcs = ["kelvin_vector_instructions_test.cc"],
copts = [
"-Werror",
"-Wvla-extension",
],
deps = [
":kelvin_vector_instructions_test_base",
"//sim:kelvin_instructions",
"@com_google_absl//absl/functional:bind_front",
"@com_google_absl//absl/strings",
"@com_google_googletest//:gtest_main",
"@com_google_mpact-sim//mpact/sim/generic:instruction",
],
)
cc_test(
name = "kelvin_vector_convolution_instructions_test",
srcs = [
"kelvin_vector_convolution_instructions_test.cc",
"testfiles/kelvin_vector_convolution_testdata.h",
],
copts = [
"-Werror",
"-Wvla-extension",
],
deps = [
":kelvin_vector_instructions_test_base",
"//sim:kelvin_instructions",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:span",
"@com_google_googletest//:gtest_main",
"@com_google_mpact-riscv//riscv:riscv_state",
"@com_google_mpact-sim//mpact/sim/generic:instruction",
],
)
cc_test(
name = "kelvin_vector_memory_instructions_test",
srcs = ["kelvin_vector_memory_instructions_test.cc"],
copts = [
"-Werror",
"-Wvla-extension",
],
deps = [
":kelvin_vector_instructions_test_base",
"//sim:kelvin_instructions",
"@com_google_absl//absl/functional:bind_front",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:span",
"@com_google_googletest//:gtest_main",
"@com_google_mpact-sim//mpact/sim/generic:instruction",
],
)
cc_test(
name = "kelvin_log_instructions_test",
srcs = ["kelvin_log_instructions_test.cc"],
copts = [
"-Werror",
"-Wvla-extension",
],
deps = [
":kelvin_vector_instructions_test_base",
"//sim:kelvin_instructions",
"@com_google_absl//absl/functional:bind_front",
"@com_google_googletest//:gtest_main",
"@com_google_mpact-sim//mpact/sim/generic:instruction",
],
)