aboutsummaryrefslogtreecommitdiff
path: root/tests/triplet/driver.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'tests/triplet/driver.cxx')
-rw-r--r--tests/triplet/driver.cxx161
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;
-}