Skip to content

Commit

Permalink
Fixes H_VMImage to test VM primitives
Browse files Browse the repository at this point in the history
Issue: #92
  • Loading branch information
kpp committed Aug 12, 2016
1 parent 6a1167e commit aefcc90
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 6 deletions.
11 changes: 6 additions & 5 deletions tests/helpers/VMImage.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,12 @@ class H_VMImage
std::auto_ptr<IMemoryManager> m_memoryManager;
std::auto_ptr<Image> m_smalltalkImage;
public:
H_VMImage(const std::string& imageName) {
std::auto_ptr<IMemoryManager> memoryManager(new BakerMemoryManager());
memoryManager->initializeHeap(1024*1024, 1024*1024);
std::auto_ptr<Image> smalltalkImage(new Image(memoryManager.get()));
smalltalkImage->loadImage(TESTS_DIR "./data/" + imageName + ".image");
H_VMImage(const std::string& imageName) :
m_memoryManager(new BakerMemoryManager()),
m_smalltalkImage(new Image(m_memoryManager.get()))
{
m_memoryManager->initializeHeap(1024*1024, 1024*1024);
m_smalltalkImage->loadImage(TESTS_DIR "./data/" + imageName + ".image");
}
TObjectArray* newArray(std::size_t fields);
TString* newString(std::size_t size);
Expand Down
23 changes: 22 additions & 1 deletion tests/vm_primitives.cpp
Original file line number Diff line number Diff line change
@@ -1,9 +1,30 @@
#include <gtest/gtest.h>
#include "helpers/VMImage.h"
#include "patterns/InitVMImage.h"
#include <primitives.h>
#include <opcodes.h>

class P_InitVM_Image : public ::testing::TestWithParam<std::string /*image name*/>
{
protected:
H_VMImage* m_image;
public:
virtual ~P_InitVM_Image() {}

virtual void SetUp()
{
bool is_parameterized_test = ::testing::UnitTest::GetInstance()->current_test_info()->value_param();
if (!is_parameterized_test) {
// Use TEST_P instead of TEST_F !
abort();
}
ParamType image_name = GetParam();
m_image = new H_VMImage(image_name);
}
virtual void TearDown() {
delete m_image;
}
};

INSTANTIATE_TEST_CASE_P(_, P_InitVM_Image, ::testing::Values(std::string("VMPrimitives")) );

TEST_P(P_InitVM_Image, smallint)
Expand Down

0 comments on commit aefcc90

Please sign in to comment.