-/****************************************************
-TODO: comment
-****************************************************/
+/* Copyright (c) 2014-2018. The SimGrid Team. All rights reserved. */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
#define BOOST_TEST_MODULE PAGESTORE
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
}
BOOST_AUTO_TEST_CASE(pageStore) {
-// XBT_TEST_UNIT("base", test_mc_page_store, "Test adding/removing pages in the store")
-// {
using simgrid::mc::PageStore;
std::cout << "Test adding/removing pages in the store" << std::endl;
- // xbt_test_add("Init");
std::size_t pagesize = (size_t) getpagesize();
std::unique_ptr<PageStore> store = std::unique_ptr<PageStore>(new simgrid::mc::PageStore(500));
void* data = getpage();
BOOST_CHECK_MESSAGE(store->size()==0, "Bad size");
- // xbt_test_add("Store the page once");
new_content(data, pagesize);
size_t pageno1 = store->store_page(data);
BOOST_CHECK_MESSAGE(store->get_ref(pageno1)==1, "Bad refcount");
BOOST_CHECK_MESSAGE(::memcmp(data, copy, pagesize)==0, "Page data should be the same");
BOOST_CHECK_MESSAGE(store->size()==1, "Bad size");
- // xbt_test_add("Store the same page again");
size_t pageno2 = store->store_page(data);
BOOST_CHECK_MESSAGE(pageno1==pageno2, "Page should be the same");
BOOST_CHECK_MESSAGE(store->get_ref(pageno1)==2, "Bad refcount");
BOOST_CHECK_MESSAGE(store->size()==1, "Bad size");
- // xbt_test_add("Store a new page");
new_content(data, pagesize);
size_t pageno3 = store->store_page(data);
BOOST_CHECK_MESSAGE(pageno1 != pageno3, "New page should be different");
BOOST_CHECK_MESSAGE(store->size()==2, "Bad size");
- // xbt_test_add("Unref pages");
store->unref_page(pageno1);
BOOST_CHECK_MESSAGE(store->get_ref(pageno1)==1, "Bad refcount");
BOOST_CHECK_MESSAGE(store->size()==2, "Bad size");
store->unref_page(pageno2);
BOOST_CHECK_MESSAGE(store->size()==1, "Bad size");
- // xbt_test_add("Reallocate page");
new_content(data, pagesize);
size_t pageno4 = store->store_page(data);
BOOST_CHECK_MESSAGE(pageno1 == pageno4, "Page was not reused");
BOOST_CHECK_MESSAGE(store->get_ref(pageno4)==1, "Bad refcount");
BOOST_CHECK_MESSAGE(store->size()==2, "Bad size");
}
-
-/*******************************/
-/* GENERATED FILE, DO NOT EDIT */
-/*******************************/
-/*************************************************
-TODO: comment
-*************************************************/
+/* Copyright (c) 2014-2018. The SimGrid Team. All rights reserved. */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
#define BOOST_TEST_MODULE snapshots
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
-
-// /*******************************/
-// /* GENERATED FILE, DO NOT EDIT */
-// /*******************************/
-//
-// #include <stdio.h>
-// #include "xbt.h"
-// /*******************************/
-// /* GENERATED FILE, DO NOT EDIT */
-// /*******************************/
-//
-// #line 180 "mc/mc_snapshot.cpp"
-
#include <cstdlib>
#include <cstring>
static int test_snapshot(bool sparse_checkpoint) {
- // xbt_test_add("Initialization");
_sg_mc_sparse_checkpoint = sparse_checkpoint;
BOOST_CHECK_EQUAL(xbt_pagesize, getpagesize());
BOOST_CHECK_EQUAL(1 << xbt_pagebits, xbt_pagesize);
for(int n=1; n!=256; ++n) {
- // Store region page(s):
size_t byte_size = n * xbt_pagesize;
void* source = mmap(nullptr, byte_size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
BOOST_CHECK_MESSAGE(source!=MAP_FAILED, "Could not allocate source memory");
- // Init memory and take snapshots:
init_memory(source, byte_size);
simgrid::mc::RegionSnapshot region0 = simgrid::mc::sparse_region(
simgrid::mc::RegionType::Unknown, source, source, byte_size);
void* destination = mmap(nullptr, byte_size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
BOOST_CHECK_MESSAGE(source!=MAP_FAILED, "Could not allocate destination memory");
- // xbt_test_add("Reading whole region data for %i page(s)", n);
const void* read = MC_region_read(®ion, destination, source, byte_size);
BOOST_CHECK_MESSAGE(not memcmp(source, read, byte_size), "Mismatch in MC_region_read()");
- // xbt_test_add("Reading parts of region data for %i page(s)", n);
for(int j=0; j!=100; ++j) {
size_t offset = rand() % byte_size;
size_t size = rand() % (byte_size - offset);
BOOST_CHECK_MESSAGE(not memcmp((char*)source + offset, read, size), "Mismatch in MC_region_read()");
}
- // xbt_test_add("Compare whole region data for %i page(s)", n);
BOOST_CHECK_MESSAGE(MC_snapshot_region_memcmp(source, ®ion0, source, ®ion, byte_size),
"Unexpected match in MC_snapshot_region_memcmp() with previous snapshot");
- // xbt_test_add("Compare parts of region data for %i page(s) with itself", n);
for(int j=0; j!=100; ++j) {
size_t offset = rand() % byte_size;
size_t size = rand() % (byte_size - offset);
}
if (n==1) {
- // xbt_test_add("Read pointer for %i page(s)", n);
memcpy(source, &mc_model_checker, sizeof(void*));
simgrid::mc::RegionSnapshot region2 = simgrid::mc::sparse_region(
simgrid::mc::RegionType::Unknown, source, source, byte_size);
return 1; // dummy value, for BOOST unit test
}
-
-/*******************************/
-/* GENERATED FILE, DO NOT EDIT */
-/*******************************/
-