Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cfd44772 authored by Mark Salyzyn's avatar Mark Salyzyn Committed by android-build-merger
Browse files

liblog: test report pmsg not configured if ENOMEM return

am: 5febc513

Change-Id: Ia7ff221bdcbf76b19e971ffde23706ad4a8840a8
parents d1687af9 5febc513
Loading
Loading
Loading
Loading
+19 −2
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

#include <gtest/gtest.h>

#include <errno.h>
#include <stdio.h>

TEST(libc, __pstore_append) {
@@ -23,6 +24,22 @@ TEST(libc, __pstore_append) {
    ASSERT_TRUE(NULL != (fp = fopen("/dev/pmsg0", "a")));
    static const char message[] = "libc.__pstore_append\n";
    ASSERT_EQ((size_t)1, fwrite(message, sizeof(message), 1, fp));
    ASSERT_EQ(0, fclose(fp));
    fprintf(stderr, "Reboot, ensure string libc.__pstore_append is in /sys/fs/pstore/pmsg-ramoops-0\n");
    int fflushReturn = fflush(fp);
    int fflushErrno = fflushReturn ? errno : 0;
    ASSERT_EQ(0, fflushReturn);
    ASSERT_EQ(0, fflushErrno);
    int fcloseReturn = fclose(fp);
    int fcloseErrno = fcloseReturn ? errno : 0;
    ASSERT_EQ(0, fcloseReturn);
    ASSERT_EQ(0, fcloseErrno);
    if ((fcloseErrno == ENOMEM) || (fflushErrno == ENOMEM)) {
        fprintf(stderr,
                "Kernel does not have space allocated to pmsg pstore driver configured\n"
               );
    }
    if (!fcloseReturn && !fcloseErrno && !fflushReturn && !fflushReturn) {
        fprintf(stderr,
                "Reboot, ensure string libc.__pstore_append is in /sys/fs/pstore/pmsg-ramoops-0\n"
               );
    }
}
+13 −5
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

#include <ctype.h>
#include <dirent.h>
#include <errno.h>
#include <fcntl.h>
#include <inttypes.h>
#include <semaphore.h>
@@ -2655,12 +2656,19 @@ TEST(liblog, __android_log_pmsg_file_write) {
    bool logdwActiveAfter__android_log_close = isLogdwActive();
    EXPECT_FALSE(pmsgActiveAfter__android_log_close);
    EXPECT_FALSE(logdwActiveAfter__android_log_close);
    EXPECT_LT(0, __android_log_pmsg_file_write(
    int return__android_log_pmsg_file_write = __android_log_pmsg_file_write(
            LOG_ID_CRASH, ANDROID_LOG_VERBOSE,
            __pmsg_file, max_payload_buf, sizeof(max_payload_buf)));
            __pmsg_file, max_payload_buf, sizeof(max_payload_buf));
    EXPECT_LT(0, return__android_log_pmsg_file_write);
    if (return__android_log_pmsg_file_write == -ENOMEM) {
        fprintf(stderr,
                "Kernel does not have space allocated to pmsg pstore driver configured\n"
               );
    } else if (!return__android_log_pmsg_file_write) {
        fprintf(stderr, "Reboot, ensure file %s matches\n"
                        "with liblog.__android_log_msg_file_read test\n",
                        __pmsg_file);
    }
    bool pmsgActiveAfter__android_pmsg_file_write = isPmsgActive();
    bool logdwActiveAfter__android_pmsg_file_write = isLogdwActive();
    EXPECT_FALSE(pmsgActiveAfter__android_pmsg_file_write);