
/*
 * Copyright (C) 2016 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
#include <unistd.h>

#include <gtest/gtest.h>

TEST(kernel_config, CONFIG_PSTORE) {
  EXPECT_EQ(0, access("/sys/fs/pstore", F_OK));
}

TEST(kernel_config, CONFIG_PSTORE_CONSOLE) {
  EXPECT_TRUE(!access("/sys/fs/pstore/console-ramoops-0", F_OK) ^
              !access("/sys/fs/pstore/console-ramoops", F_OK));
}

TEST(kernel_config, CONFIG_PSTORE_PMSG) {
  EXPECT_EQ(0, access("/dev/pmsg0", F_OK));
  EXPECT_EQ(0, access("/sys/fs/pstore/pmsg-ramoops-0", F_OK));
}
