Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--android/jni/com/mapswithme/core/logging.cpp2
-rw-r--r--base/logging.cpp6
-rw-r--r--indexer/index.hpp4
-rw-r--r--indexer/mwm_set.hpp6
-rw-r--r--map/feature_vec_model.hpp2
-rw-r--r--map/map_tests/mwm_set_test.cpp19
6 files changed, 21 insertions, 18 deletions
diff --git a/android/jni/com/mapswithme/core/logging.cpp b/android/jni/com/mapswithme/core/logging.cpp
index bcda11d230..58d488e1e0 100644
--- a/android/jni/com/mapswithme/core/logging.cpp
+++ b/android/jni/com/mapswithme/core/logging.cpp
@@ -38,7 +38,7 @@ void AndroidMessage(LogLevel level, SrcPoint const & src, string const & s)
void AndroidLogMessage(LogLevel level, SrcPoint const & src, string const & s)
{
AndroidMessage(level, src, s);
- CHECK(level < g_LogAbortLevel, ("Abort. Log level is too serious", level));
+ CHECK_LESS(level, g_LogAbortLevel, ("Abort. Log level is too serious", level));
}
void AndroidAssertMessage(SrcPoint const & src, string const & s)
diff --git a/base/logging.cpp b/base/logging.cpp
index 0ac3b05cac..713903ae6a 100644
--- a/base/logging.cpp
+++ b/base/logging.cpp
@@ -60,7 +60,6 @@ namespace my
void LogMessageDefault(LogLevel level, SrcPoint const & srcPoint, string const & msg)
{
lock_guard<mutex> lock(g_logMutex);
- UNUSED_VALUE(lock);
static LogHelper logger;
@@ -70,19 +69,18 @@ namespace my
out << DebugPrint(srcPoint) << msg << endl;
std::cerr << out.str();
- CHECK(level < g_LogAbortLevel, ("Abort. Log level is too serious", level));
+ CHECK_LESS(level, g_LogAbortLevel, ("Abort. Log level is too serious", level));
}
void LogMessageTests(LogLevel level, SrcPoint const &, string const & msg)
{
lock_guard<mutex> lock(g_logMutex);
- UNUSED_VALUE(lock);
ostringstream out;
out << msg << endl;
std::cerr << out.str();
- CHECK(level < g_LogAbortLevel, ("Abort. Log level is too serious", level));
+ CHECK_LESS(level, g_LogAbortLevel, ("Abort. Log level is too serious", level));
}
LogMessageFn LogMessage = &LogMessageDefault;
diff --git a/indexer/index.hpp b/indexer/index.hpp
index eab3b90c79..02ab500383 100644
--- a/indexer/index.hpp
+++ b/indexer/index.hpp
@@ -73,10 +73,8 @@ public:
virtual void OnMapDeregistered(platform::LocalCountryFile const & localFile) {}
};
-
/// Registers a new map.
- WARN_UNUSED_RESULT pair<MwmId, RegResult> RegisterMap(
- platform::LocalCountryFile const & localFile);
+ pair<MwmId, RegResult> RegisterMap(platform::LocalCountryFile const & localFile);
/// Deregisters a map from internal records.
///
diff --git a/indexer/mwm_set.hpp b/indexer/mwm_set.hpp
index fb847e5f10..652d4be163 100644
--- a/indexer/mwm_set.hpp
+++ b/indexer/mwm_set.hpp
@@ -164,12 +164,10 @@ public:
/// are older than the localFile (in this case mwm handle will point
/// to just-registered file).
protected:
- WARN_UNUSED_RESULT pair<MwmId, RegResult> RegisterImpl(
- platform::LocalCountryFile const & localFile);
+ pair<MwmId, RegResult> RegisterImpl(platform::LocalCountryFile const & localFile);
public:
- WARN_UNUSED_RESULT pair<MwmId, RegResult> Register(
- platform::LocalCountryFile const & localFile);
+ pair<MwmId, RegResult> Register(platform::LocalCountryFile const & localFile);
//@}
/// @name Remove mwm.
diff --git a/map/feature_vec_model.hpp b/map/feature_vec_model.hpp
index fce5e8b0e4..659a263c17 100644
--- a/map/feature_vec_model.hpp
+++ b/map/feature_vec_model.hpp
@@ -46,7 +46,7 @@ class FeaturesFetcher : public Index::Observer
}
/// Registers a new map.
- WARN_UNUSED_RESULT pair<MwmSet::MwmId, MwmSet::RegResult> RegisterMap(
+ pair<MwmSet::MwmId, MwmSet::RegResult> RegisterMap(
platform::LocalCountryFile const & localFile);
/// Deregisters a map denoted by file from internal records.
diff --git a/map/map_tests/mwm_set_test.cpp b/map/map_tests/mwm_set_test.cpp
index 3ea80b0536..d3919c19c8 100644
--- a/map/map_tests/mwm_set_test.cpp
+++ b/map/map_tests/mwm_set_test.cpp
@@ -5,6 +5,8 @@
#include "platform/local_country_file_utils.hpp"
#include "platform/platform.hpp"
+#include "base/scope_guard.hpp"
+
#ifndef OMIM_OS_WINDOWS
#include <sys/stat.h>
#endif
@@ -22,6 +24,7 @@ UNIT_TEST(MwmSet_FileSystemErrors)
LocalCountryFile localFile(dir, file, 0);
TEST(CountryIndexes::DeleteFromDisk(localFile), ());
+ // Maximum level to check exception handling logic.
LogLevel oldLevel = g_LogAbortLevel;
g_LogAbortLevel = LCRITICAL;
@@ -29,21 +32,27 @@ UNIT_TEST(MwmSet_FileSystemErrors)
int const readOnlyMode = S_IRUSR | S_IRGRP | S_IROTH | S_IXUSR | S_IXGRP | S_IXOTH;
TEST_EQUAL(chmod(dir.c_str(), readOnlyMode), 0, ());
+ auto restoreFn = [oldLevel, &dir, readOnlyMode] ()
+ {
+ g_LogAbortLevel = oldLevel;
+ TEST_EQUAL(chmod(dir.c_str(), readOnlyMode | S_IWUSR), 0, ());
+ };
+ MY_SCOPE_GUARD(restoreGuard, restoreFn);
+
Index index;
auto p = index.RegisterMap(localFile);
TEST_EQUAL(p.second, Index::RegResult::Success, ());
+ // Registering should pass ok.
TEST(index.GetMwmIdByCountryFile(file) != Index::MwmId(), ());
+ // Getting handle causes feature offsets index building which should fail
+ // because of write permissions.
TEST(!index.GetMwmHandleById(p.first).IsAlive(), ());
+ // Map is automatically deregistered after the fail.
vector<shared_ptr<MwmInfo>> infos;
index.GetMwmsInfo(infos);
TEST(infos.empty(), ());
-
- // Restore writable permission.
- TEST_EQUAL(chmod(dir.c_str(), readOnlyMode | S_IWUSR), 0, ());
-
- g_LogAbortLevel = oldLevel;
}
#endif