From 442e00839e4fc3c11506f5c8a9477b465865aecc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 15 Sep 2013 08:40:16 -0400 Subject: [PATCH] Assume that /proc/meminfo can be missing Travis tests are failing, probably because /proc/meminfo is not available in the test environment. The same might be true in some virtualized systems, so just treat missing /proc/meminfo as a sign that hibernation is not possible. --- src/shared/sleep-config.c | 3 ++- src/test/test-fileio.c | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/shared/sleep-config.c b/src/shared/sleep-config.c index 5ec7cce45..148c4dc61 100644 --- a/src/shared/sleep-config.c +++ b/src/shared/sleep-config.c @@ -172,7 +172,8 @@ static bool enough_memory_for_hibernation(void) { r = get_status_field("/proc/meminfo", "\nSwapFree:", &swapfree); if (r < 0) { - log_error("Failed to retrieve SwapFree from /proc/meminfo: %s", strerror(-r)); + log_full(r == -ENOENT ? LOG_DEBUG : LOG_WARNING, + "Failed to retrieve SwapFree from /proc/meminfo: %s", strerror(-r)); return false; } diff --git a/src/test/test-fileio.c b/src/test/test-fileio.c index 4a4ed79c1..3511f3a3a 100644 --- a/src/test/test-fileio.c +++ b/src/test/test-fileio.c @@ -232,12 +232,16 @@ static void test_executable_is_script(void) { static void test_status_field(void) { _cleanup_free_ char *t = NULL, *p = NULL, *s = NULL; unsigned long long total, buffers; + int r; assert_se(get_status_field("/proc/self/status", "\nThreads:", &t) == 0); puts(t); assert_se(streq(t, "1")); - assert_se(get_status_field("/proc/meminfo", "MemTotal:", &p) == 0); + r = get_status_field("/proc/meminfo", "MemTotal:", &p); + if (r == -ENOENT) + return; + assert(r == 0); puts(p); assert_se(safe_atollu(p, &total) == 0); -- 2.30.2