diff options
Diffstat (limited to 'tests/test/script/driver.cxx')
-rw-r--r-- | tests/test/script/driver.cxx | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/tests/test/script/driver.cxx b/tests/test/script/driver.cxx deleted file mode 100644 index b81172e..0000000 --- a/tests/test/script/driver.cxx +++ /dev/null @@ -1,76 +0,0 @@ -// file : tests/test/script/driver.cxx -*- C++ -*- -// copyright : Copyright (c) 2014-2016 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -#include <limits> // numeric_limits -#include <string> -#include <cassert> -#include <ostream> // endl, *bit -#include <iostream> -#include <exception> - -using namespace std; - -int -main (int argc, char* argv[]) -{ - // Usage: driver [-i <int>] [-s <int>] (-o <string>)* (-e <string>)* - // - int status (256); - int ifd (3); - - cout.exceptions (ostream::failbit | ostream::badbit); - cerr.exceptions (ostream::failbit | ostream::badbit); - - for (int i (1); i < argc; ++i) - { - string o (argv[i++]); - assert (i < argc); - - string v (argv[i]); - - auto toi = [] (const string& s) -> int - { - try - { - return stoi (s); - } - catch (const exception&) - { - assert (false); - } - }; - - if (o == "-i") - { - assert (ifd == 3); // Make sure is not set yet. - - ifd = toi (v); - assert (ifd >= 0 && ifd < 3); - - if (ifd == 0) - cin.ignore (numeric_limits<streamsize>::max ()); - else - (ifd == 1 ? cout : cerr) << cin.rdbuf (); - } - else if (o == "-o") - { - cout << v << endl; - } - else if (o == "-e") - { - cerr << v << endl; - } - else if (o == "-s") - { - assert (status == 256); // Make sure is not set yet. - - status = toi (v); - assert (status >= 0 && status < 256); - } - else - assert (false); - } - - return status == 256 ? 0 : status; -} |