Added test for Abi::abiFromTargetTriplet()

Task-number: QTCREATORBUG-11409

Change-Id: I176c38dccdc1af6fde4298d6413fe827f27cc4b0
Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
Robert Loehning
2014-02-04 15:33:54 +01:00
committed by hjk
parent b9834e4092
commit 57b63f4fdb
2 changed files with 91 additions and 0 deletions

View File

@@ -994,5 +994,94 @@ void ProjectExplorer::ProjectExplorerPlugin::testFlavorForOs()
}
}
void ProjectExplorer::ProjectExplorerPlugin::testAbiFromTargetTriplet_data()
{
QTest::addColumn<QString>("targetTriplet");
QTest::addColumn<int>("architecture");
QTest::addColumn<int>("os");
QTest::addColumn<int>("osFlavor");
QTest::addColumn<int>("binaryFormat");
QTest::addColumn<unsigned char>("wordWidth");
QTest::newRow("x86_64-apple-darwin") << "x86_64-apple-darwin" << int(Abi::X86Architecture)
<< int(Abi::MacOS) << int(Abi::GenericMacFlavor)
<< int(Abi::MachOFormat) << (unsigned char) 64;
QTest::newRow("x86_64-apple-darwin12.5.0") << "x86_64-apple-darwin12.5.0" << int(Abi::X86Architecture)
<< int(Abi::MacOS) << int(Abi::GenericMacFlavor)
<< int(Abi::MachOFormat) << (unsigned char) 64;
QTest::newRow("x86_64-linux-gnu") << "x86_64-linux-gnu" << int(Abi::X86Architecture)
<< int(Abi::LinuxOS) << int(Abi::GenericLinuxFlavor)
<< int(Abi::ElfFormat) << (unsigned char) 64;
QTest::newRow("x86_64-pc-mingw32msvc") << "x86_64-pc-mingw32msvc" << int(Abi::X86Architecture)
<< int(Abi::WindowsOS) << int(Abi::WindowsMSysFlavor)
<< int(Abi::PEFormat) << (unsigned char) 64;
QTest::newRow("i586-pc-mingw32msvc") << "i586-pc-mingw32msvc" << int(Abi::X86Architecture)
<< int(Abi::WindowsOS) << int(Abi::WindowsMSysFlavor)
<< int(Abi::PEFormat) << (unsigned char) 0;
QTest::newRow("i686-linux-gnu") << "i686-linux-gnu" << int(Abi::X86Architecture)
<< int(Abi::LinuxOS) << int(Abi::GenericLinuxFlavor)
<< int(Abi::ElfFormat) << (unsigned char) 0;
QTest::newRow("i686-linux-android") << "i686-linux-android" << int(Abi::X86Architecture)
<< int(Abi::LinuxOS) << int(Abi::AndroidLinuxFlavor)
<< int(Abi::ElfFormat) << (unsigned char) 0;
QTest::newRow("i686-pc-linux-android") << "i686-pc-linux-android" << int(Abi::X86Architecture)
<< int(Abi::LinuxOS) << int(Abi::AndroidLinuxFlavor)
<< int(Abi::ElfFormat) << (unsigned char) 0;
QTest::newRow("i686-pc-mingw32") << "i686-pc-mingw32" << int(Abi::X86Architecture)
<< int(Abi::WindowsOS) << int(Abi::WindowsMSysFlavor)
<< int(Abi::PEFormat) << (unsigned char) 0;
QTest::newRow("i686-w64-mingw32") << "i686-w64-mingw32" << int(Abi::X86Architecture)
<< int(Abi::WindowsOS) << int(Abi::WindowsMSysFlavor)
<< int(Abi::PEFormat) << (unsigned char) 0;
QTest::newRow("mingw32") << "mingw32" << int(Abi::X86Architecture)
<< int(Abi::WindowsOS) << int(Abi::WindowsMSysFlavor)
<< int(Abi::PEFormat) << (unsigned char) 0;
QTest::newRow("arm-linux-android") << "arm-linux-android" << int(Abi::ArmArchitecture)
<< int(Abi::LinuxOS) << int(Abi::AndroidLinuxFlavor)
<< int(Abi::ElfFormat) << (unsigned char) 32;
QTest::newRow("arm-linux-androideabi") << "arm-linux-androideabi" << int(Abi::ArmArchitecture)
<< int(Abi::LinuxOS) << int(Abi::AndroidLinuxFlavor)
<< int(Abi::ElfFormat) << (unsigned char) 32;
QTest::newRow("arm-none-linux-gnueabi") << "arm-none-linux-gnueabi" << int(Abi::ArmArchitecture)
<< int(Abi::LinuxOS) << int(Abi::GenericLinuxFlavor)
<< int(Abi::ElfFormat) << (unsigned char) 32;
QTest::newRow("mipsel-linux-android") << "mipsel-linux-android" << int(Abi::MipsArchitecture)
<< int(Abi::LinuxOS) << int(Abi::AndroidLinuxFlavor)
<< int(Abi::ElfFormat) << (unsigned char) 32;
QTest::newRow("mipsel-unknown-linux-android") << "mipsel-unknown-linux-android" << int(Abi::MipsArchitecture)
<< int(Abi::LinuxOS) << int(Abi::AndroidLinuxFlavor)
<< int(Abi::ElfFormat) << (unsigned char) 32;
}
void ProjectExplorer::ProjectExplorerPlugin::testAbiFromTargetTriplet()
{
QFETCH(QString, targetTriplet);
QFETCH(int, architecture);
QFETCH(int, os);
QFETCH(int, osFlavor);
QFETCH(int, binaryFormat);
QFETCH(unsigned char, wordWidth);
const Abi expectedAbi = Abi(Abi::Architecture(architecture),
Abi::OS(os), Abi::OSFlavor(osFlavor),
Abi::BinaryFormat(binaryFormat), wordWidth);
QCOMPARE(Abi::abiFromTargetTriplet(targetTriplet), expectedAbi);
}
#endif

View File

@@ -260,6 +260,8 @@ private slots:
void testAbiOfBinary_data();
void testAbiOfBinary();
void testFlavorForOs();
void testAbiFromTargetTriplet_data();
void testAbiFromTargetTriplet();
void testDeviceManager();