diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-01-06 17:28:08 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-01-06 17:28:08 +0200 |
commit | 39101a4383d38c1217c44b999a6e3bd199727c60 (patch) | |
tree | a9c5b7d67812e3fa5f5d71310abcfbd14b4aecb7 /tests/triplet/driver.cxx | |
parent | 7b5d1f33f434034eb7946f459c7fa76b10f620f1 (diff) |
Rework and rename target_triplet
Diffstat (limited to 'tests/triplet/driver.cxx')
-rw-r--r-- | tests/triplet/driver.cxx | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/tests/triplet/driver.cxx b/tests/triplet/driver.cxx deleted file mode 100644 index 96d76cd..0000000 --- a/tests/triplet/driver.cxx +++ /dev/null @@ -1,161 +0,0 @@ -// file : tests/triplet/driver.cxx -*- C++ -*- -// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -#include <cassert> -#include <iostream> -#include <stdexcept> // invalid_argument - -#include <butl/triplet> - -using namespace std; -using namespace butl; - -static bool -fail (const char*); - -static bool -test (const char*, - const char* canon, - const char* cpu, - const char* vendor, - const char* system, - const char* version, - const char* class_ = "other"); - -int -main () -{ - assert (fail ("")); - assert (fail ("mingw32")); - assert (fail ("-")); - assert (fail ("arm-")); - assert (fail ("-mingw32")); - assert (fail ("a-b-c-d-e")); - assert (fail ("arm-pc--")); - assert (fail ("arm-pc-linux-")); - assert (fail ("arm-pc--gnu")); - - assert (test ("i686-elf", - "i686-elf", - "i686", "", "elf", "")); - - assert (test ("arm-eabi", - "arm-eabi", - "arm", "", "eabi", "")); - - assert (test ("arm-none-eabi", - "arm-eabi", - "arm", "", "eabi", "")); - - assert (test ("arm-none-linux-gnueabi", - "arm-linux-gnueabi", - "arm", "", "linux-gnueabi", "", "linux")); - - assert (test ("arm-softfloat-linux-gnu", - "arm-softfloat-linux-gnu", - "arm", "softfloat", "linux-gnu", "", "linux")); - - assert (test ("i686-pc-mingw32", - "i686-mingw32", - "i686", "", "mingw32", "", "windows")); - - assert (test ("i686-w64-mingw32", - "i686-w64-mingw32", - "i686", "w64", "mingw32", "", "windows")); - - assert (test ("i686-lfs-linux-gnu", - "i686-lfs-linux-gnu", - "i686", "lfs", "linux-gnu", "", "linux")); - - assert (test ("x86_64-unknown-linux-gnu", - "x86_64-linux-gnu", - "x86_64", "", "linux-gnu", "", "linux")); - - assert (test ("x86_64-linux-gnux32", - "x86_64-linux-gnux32", - "x86_64", "", "linux-gnux32", "", "linux")); - - // Removal of none-. - // - assert (test ("arm-none", - "arm-none", - "arm", "", "none", "")); - - assert (test ("arm-unknown-none-eabi", - "arm-eabi", - "arm", "", "eabi", "")); - - // Version extraction. - // - assert (test ("x86_64-apple-darwin14.5.0", - "x86_64-apple-darwin14.5.0", - "x86_64", "apple", "darwin", "14.5.0", "macosx")); - - assert (test ("x86_64-unknown-freebsd10.2", - "x86_64-freebsd10.2", - "x86_64", "", "freebsd", "10.2", "bsd")); - - assert (test ("x86_64-pc-openbsd5.6", - "x86_64-openbsd5.6", - "x86_64", "", "openbsd", "5.6", "bsd")); - - assert (test ("sparc-sun-solaris2.9", - "sparc-sun-solaris2.9", - "sparc", "sun", "solaris", "2.9")); - - assert (test ("x86_64-microsoft-win32-msvc14.0", - "x86_64-microsoft-win32-msvc14.0", - "x86_64", "microsoft", "win32-msvc", "14.0", "windows")); -} - -static bool -test (const char* s, - const char* canon, - const char* cpu, - const char* vendor, - const char* system, - const char* version, - const char* class_) -{ - string c; - triplet t (s, c); - - auto cmp = [] (const string& a, const char* e, const char* n) -> bool - { - if (a != e) - { - cerr << n << " actual: " << a << endl - << n << " expect: " << e << endl; - - return false; - } - - return true; - }; - - return - cmp (c, canon, "canonical") && - cmp (t.cpu, cpu, "cpu") && - cmp (t.vendor, vendor, "vendor") && - cmp (t.system, system, "system") && - cmp (t.version, version, "version") && - cmp (t.class_, class_, "class"); -} - -static bool -fail (const char* s) -{ - try - { - triplet t (s); - cerr << "nofail: " << s << endl; - return false; - } - catch (invalid_argument& e) - { - //cerr << e.what () << endl; - } - - return true; -} |