From 1ff59e2cd264b4e5604740d8e1a34174282ab482 Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Wed, 16 Nov 2016 11:17:04 +0700 Subject: [PATCH] backend: add some trivial tests for RTTI --- backend.native/tests/build.gradle | 8 ++++++++ backend.native/tests/datagen/rtti/abstract_super-test.c | 9 +++++++++ backend.native/tests/datagen/rtti/abstract_super.kt | 3 +++ backend.native/tests/datagen/rtti/vtable1-test.c | 9 +++++++++ backend.native/tests/datagen/rtti/vtable1.kt | 7 +++++++ 5 files changed, 36 insertions(+) create mode 100644 backend.native/tests/datagen/rtti/abstract_super-test.c create mode 100644 backend.native/tests/datagen/rtti/abstract_super.kt create mode 100644 backend.native/tests/datagen/rtti/vtable1-test.c create mode 100644 backend.native/tests/datagen/rtti/vtable1.kt diff --git a/backend.native/tests/build.gradle b/backend.native/tests/build.gradle index 7b3d082b2af..e32f71b132f 100644 --- a/backend.native/tests/build.gradle +++ b/backend.native/tests/build.gradle @@ -262,3 +262,11 @@ task cycle(type: UnitKonanTest) { task cycle_do(type: UnitKonanTest) { source = "codegen/cycles/cycle_do.kt" } + +task abstract_super(type: UnitKonanTest) { + source = "datagen/rtti/abstract_super.kt" +} + +task vtable1(type: UnitKonanTest) { + source = "datagen/rtti/vtable1.kt" +} \ No newline at end of file diff --git a/backend.native/tests/datagen/rtti/abstract_super-test.c b/backend.native/tests/datagen/rtti/abstract_super-test.c new file mode 100644 index 00000000000..e0ff5e0a807 --- /dev/null +++ b/backend.native/tests/datagen/rtti/abstract_super-test.c @@ -0,0 +1,9 @@ +extern void *resolve_symbol(const char*); + +int +run_test() { + // This test now checks that the source can be successfully compiled and linked; + // TODO: check the contents of TypeInfo? + + return 0; +} diff --git a/backend.native/tests/datagen/rtti/abstract_super.kt b/backend.native/tests/datagen/rtti/abstract_super.kt new file mode 100644 index 00000000000..abe62ef760d --- /dev/null +++ b/backend.native/tests/datagen/rtti/abstract_super.kt @@ -0,0 +1,3 @@ +abstract class Super + +class Foo : Super() diff --git a/backend.native/tests/datagen/rtti/vtable1-test.c b/backend.native/tests/datagen/rtti/vtable1-test.c new file mode 100644 index 00000000000..e0ff5e0a807 --- /dev/null +++ b/backend.native/tests/datagen/rtti/vtable1-test.c @@ -0,0 +1,9 @@ +extern void *resolve_symbol(const char*); + +int +run_test() { + // This test now checks that the source can be successfully compiled and linked; + // TODO: check the contents of TypeInfo? + + return 0; +} diff --git a/backend.native/tests/datagen/rtti/vtable1.kt b/backend.native/tests/datagen/rtti/vtable1.kt new file mode 100644 index 00000000000..e08fe2db078 --- /dev/null +++ b/backend.native/tests/datagen/rtti/vtable1.kt @@ -0,0 +1,7 @@ +abstract class Super { + abstract fun bar() +} + +class Foo : Super() { + final override fun bar() {} +}