#include "gtest/gtest.h"

#include "tile/system/os.h"
#include <unistd.h>

namespace tile {

// TEST(OperatorSystem, MyPid) { ASSERT_EQ(getpid(), OperatorSystem::MyPPid()); }

// TEST(OperatorSystem, MyPPid) { ASSERT_EQ(getpid(), OperatorSystem::MyPPid()); }

TEST(OperatorSystem, GetMemoryInfo)
{
    ASSERT_GT(OperatorSystem::GetMemoryInfo("VmSize"), 0);
    ASSERT_GT(OperatorSystem::GetMemoryInfo("VmHWM"), 0);
    ASSERT_GT(OperatorSystem::GetMemoryInfo("VmRSS"), 0);
    ASSERT_GT(OperatorSystem::GetMemoryInfo("VmData"), 0);
    ASSERT_GT(OperatorSystem::GetMemoryInfo("VmStk"), 0);
    ASSERT_GT(OperatorSystem::GetMemoryInfo("VmExe"), 0);
    ASSERT_GT(OperatorSystem::GetMemoryInfo("VmData"), 0);

    ASSERT_GE(OperatorSystem::GetMemoryInfo("RssAnon"), 0);
    ASSERT_GE(OperatorSystem::GetMemoryInfo("RssFile"), 0);
    ASSERT_GE(OperatorSystem::GetMemoryInfo("RssShmem"), 0);
    ASSERT_GE(OperatorSystem::GetMemoryInfo("VmLib"), 0);
    ASSERT_GE(OperatorSystem::GetMemoryInfo("VmPTE"), 0);
}

}// namespace tile
