X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Ftest%2Ftest-fileio.c;h=525354b9cb5b674032b1679435e50c83cbd21eb5;hp=1184e7e02f5568c7e7656ebc9c81ac1bb0bba0f5;hb=7991ac34ab08421415b907e42775c5539a4a5bbb;hpb=ac4c8d6da8b5ebc35f02c9c6cb7595be7b134a05 diff --git a/src/test/test-fileio.c b/src/test/test-fileio.c index 1184e7e02..525354b9c 100644 --- a/src/test/test-fileio.c +++ b/src/test/test-fileio.c @@ -229,9 +229,36 @@ static void test_executable_is_script(void) { unlink(t); } +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")); + + r = get_status_field("/proc/meminfo", "MemTotal:", &p); + if (r == -ENOENT) + return; + assert(r == 0); + puts(p); + assert_se(safe_atollu(p, &total) == 0); + + r = get_status_field("/proc/meminfo", "\nBuffers:", &s); + if (r == -ENOENT) + return; + assert(r == 0); + puts(s); + assert_se(safe_atollu(s, &buffers) == 0); + + assert(buffers < total); +} + int main(int argc, char *argv[]) { test_parse_env_file(); test_parse_multiline_env_file(); test_executable_is_script(); + test_status_field(); return 0; }