1*a5cc9514SFangrui Song //===- ELFTest.cpp --------------------------------------------------------===//
2*a5cc9514SFangrui Song //
3*a5cc9514SFangrui Song // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*a5cc9514SFangrui Song // See https://llvm.org/LICENSE.txt for license information.
5*a5cc9514SFangrui Song // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*a5cc9514SFangrui Song //
7*a5cc9514SFangrui Song //===----------------------------------------------------------------------===//
8*a5cc9514SFangrui Song
9*a5cc9514SFangrui Song #include "llvm/BinaryFormat/ELF.h"
10*a5cc9514SFangrui Song #include "gtest/gtest.h"
11*a5cc9514SFangrui Song
12*a5cc9514SFangrui Song using namespace llvm;
13*a5cc9514SFangrui Song using namespace llvm::ELF;
14*a5cc9514SFangrui Song
15*a5cc9514SFangrui Song namespace {
TEST(ELFTest,OSABI)16*a5cc9514SFangrui Song TEST(ELFTest, OSABI) {
17*a5cc9514SFangrui Song EXPECT_EQ(ELFOSABI_GNU, convertNameToOSABI("gnu"));
18*a5cc9514SFangrui Song EXPECT_EQ(ELFOSABI_FREEBSD, convertNameToOSABI("freebsd"));
19*a5cc9514SFangrui Song EXPECT_EQ(ELFOSABI_STANDALONE, convertNameToOSABI("standalone"));
20*a5cc9514SFangrui Song EXPECT_EQ(ELFOSABI_NONE, convertNameToOSABI("none"));
21*a5cc9514SFangrui Song // Test unrecognized strings.
22*a5cc9514SFangrui Song EXPECT_EQ(ELFOSABI_NONE, convertNameToOSABI(""));
23*a5cc9514SFangrui Song EXPECT_EQ(ELFOSABI_NONE, convertNameToOSABI("linux"));
24*a5cc9514SFangrui Song
25*a5cc9514SFangrui Song EXPECT_EQ("gnu", convertOSABIToName(ELFOSABI_GNU));
26*a5cc9514SFangrui Song EXPECT_EQ("freebsd", convertOSABIToName(ELFOSABI_FREEBSD));
27*a5cc9514SFangrui Song EXPECT_EQ("standalone", convertOSABIToName(ELFOSABI_STANDALONE));
28*a5cc9514SFangrui Song EXPECT_EQ("none", convertOSABIToName(ELFOSABI_NONE));
29*a5cc9514SFangrui Song // Test unrecognized values.
30*a5cc9514SFangrui Song EXPECT_EQ("none", convertOSABIToName(0xfe));
31*a5cc9514SFangrui Song }
32*a5cc9514SFangrui Song } // namespace
33