-#include "src/mc/PageStore.hpp"
-
-static int value = 0;
-
-static void new_content(void* data, std::size_t size)
-{
- ::memset(data, ++value, size);
-}
-
-static void* getpage()
-{
- return mmap(nullptr, getpagesize(), PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
-}
-
-BOOST_AUTO_TEST_CASE(pageStore) {
-
- using simgrid::mc::PageStore;
-
- std::cout << "Test adding/removing pages in the store" << std::endl;
-
- std::size_t pagesize = (size_t) getpagesize();
- std::unique_ptr<PageStore> store = std::unique_ptr<PageStore>(new simgrid::mc::PageStore(500));
- void* data = getpage();
+#include "src/mc/sosp/PageStore.hpp"
+
+using simgrid::mc::PageStore;
+
+/***********************************/
+// a class to hold the variable used in the test cases
+class BOOST_tests {
+ public:
+ static std::size_t pagesize;
+ static std::unique_ptr<PageStore> store;
+ static void* data;
+ static size_t pageno1, pageno2, pageno3, pageno4;
+ static int value;
+ public: // member functions used by the test suite(s)
+ static void Init();
+ static void store_page_once();
+ static void store_same_page();
+ static void store_new_page();
+ static void unref_pages();
+ static void reallocate_page();
+
+ static void new_content(void* data, std::size_t size);
+ static void* getpage();
+};
+
+// static member datat initialization
+std::size_t BOOST_tests::pagesize = 0;
+std::unique_ptr<PageStore> BOOST_tests::store = nullptr;
+void* BOOST_tests::data = nullptr;
+size_t BOOST_tests::pageno1 = 0;
+size_t BOOST_tests::pageno2 = 0;
+size_t BOOST_tests::pageno3 = 0;
+size_t BOOST_tests::pageno4 = 0;
+int BOOST_tests::value = 0;
+
+void BOOST_tests::Init() {
+ pagesize = (size_t) getpagesize();
+ store = std::unique_ptr<PageStore>(new simgrid::mc::PageStore(500));
+ data = getpage();