From 48c2f6421a77d56363002e808d2320a5091bc734 Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Fri, 14 Jun 2024 15:07:07 +0300 Subject: [PATCH] #111: test --- .../interpreter/garbage-collector-test.cpp | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/test/ChaiVM/interpreter/garbage-collector-test.cpp b/test/ChaiVM/interpreter/garbage-collector-test.cpp index 4376970..9232e30 100644 --- a/test/ChaiVM/interpreter/garbage-collector-test.cpp +++ b/test/ChaiVM/interpreter/garbage-collector-test.cpp @@ -1,6 +1,32 @@ #include #include "executor-test-fixture.hpp" +using namespace chai; +using namespace interpreter; +using namespace utils::fileformat; + TEST_F(ExecutorTest, CollectRoots) { - // + auto bar_klass = chaiFile_.registerKlass("Bar"); + chaiFile_.addField(bar_klass, "bar.num1", 0U, FieldTag::I64); + chaiFile_.addField(bar_klass, "bar.num2", 0U, FieldTag::I64); + chaiFile_.addField(bar_klass, "bar.num3", 0U, FieldTag::I64); + chaiFile_.addField(bar_klass, "bar.num4", 0U, FieldTag::I64); + constexpr int64_t threshold = 1000; + //Immidiate zero_imm = chaiFile_.addConst(std::make_unique(0)); + Immidiate one_imm = chaiFile_.addConst(std::make_unique(1)); + Immidiate threshold_imm = chaiFile_.addConst(std::make_unique(threshold)); + + load(one_imm); + load(R1); + load(threshold_imm); + load(R10); + load(bar_klass); + load(R2); + load(R1); + load(R2); + load(R10, static_cast(-4)); + load(); + update(); + exec_.run(); + EXPECT_EQ(exec_.acc(), threshold); }