Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Changed the 2 unit tests, snapshot and PAGESTORE, into BOOST unit tests.
[simgrid.git] / src / mc / remote / RemoteClient.cpp
index 0172d70..6f7505f 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2014-2017. The SimGrid Team. All rights reserved.          */
+/* 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. */
@@ -85,6 +85,9 @@ static const std::vector<std::string> filtered_libraries = {
     "libelf",
     "libevent",
     "libgcc_s",
+    "libimf",
+    "libintlc",
+    "libirng",
     "liblua5.1",
     "liblua5.3",
     "liblzma",
@@ -92,11 +95,13 @@ static const std::vector<std::string> filtered_libraries = {
     "libpthread",
     "librt",
     "libstdc++",
+    "libsvml",
     "libunwind",
     "libunwind-x86_64",
     "libunwind-x86",
     "libunwind-ptrace",
-    "libz"};
+    "libz",
+    "libboost_unit_test_framework"};
 
 static bool is_simgrid_lib(const std::string& libname)
 {
@@ -110,19 +115,18 @@ static bool is_filtered_lib(const std::string& libname)
 
 static std::string get_lib_name(const std::string& pathname)
 {
-  constexpr char digits[]  = ".0123456789";
-  std::string map_basename = simgrid::xbt::Path(pathname).getBasename();
+  std::string map_basename = simgrid::xbt::Path(pathname).get_base_name();
   std::string libname;
 
   size_t pos = map_basename.rfind(".so");
-  if (pos != std::string::npos && map_basename.find_first_not_of(digits, pos + 3) == std::string::npos) {
-    // strip the extension (matching regex "\.so[.0-9]*$")
+  if (pos != std::string::npos) {
+    // strip the extension (matching regex "\.so.*$")
     libname.assign(map_basename, 0, pos);
 
     // strip the version suffix (matching regex "-[.0-9-]*$")
     while (true) {
       pos = libname.rfind('-');
-      if (pos == std::string::npos || libname.find_first_not_of(digits, pos + 1) != std::string::npos)
+      if (pos == std::string::npos || libname.find_first_not_of(".0123456789", pos + 1) != std::string::npos)
         break;
       libname.erase(pos);
     }
@@ -443,7 +447,7 @@ const void* RemoteClient::read_bytes(void* buffer, std::size_t size, RemotePtr<v
                                      ReadOptions options) const
 {
   if (process_index != simgrid::mc::ProcessIndexDisabled) {
-    std::shared_ptr<simgrid::mc::ObjectInformation> const& info = this->find_object_info_rw((void*)address.address());
+    std::shared_ptr<simgrid::mc::ObjectInformation> const& info = this->find_object_info_rw(address);
 // Segment overlap is not handled.
 #if HAVE_SMPI
     if (info.get() && this->privatized(*info)) {