diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2019-03-06 23:06:30 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2019-03-08 16:42:31 +0300 |
commit | 77410b0cdde47219d6c6a36533fcb9354f17c3dd (patch) | |
tree | 703c39f3bc81792fabaf81769035f01a08cf6a2f /unit-tests/cc/parser | |
parent | 8ca10194e206a181797ffb7a73dd2deee12ac753 (diff) |
Use new setup for unit tests
Diffstat (limited to 'unit-tests/cc/parser')
-rw-r--r-- | unit-tests/cc/parser/buildfile | 6 | ||||
-rw-r--r-- | unit-tests/cc/parser/driver.cxx | 66 | ||||
-rw-r--r-- | unit-tests/cc/parser/module.testscript | 149 |
3 files changed, 0 insertions, 221 deletions
diff --git a/unit-tests/cc/parser/buildfile b/unit-tests/cc/parser/buildfile deleted file mode 100644 index d9e3e28..0000000 --- a/unit-tests/cc/parser/buildfile +++ /dev/null @@ -1,6 +0,0 @@ -# file : unit-tests/cc/parser/buildfile -# copyright : Copyright (c) 2014-2019 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file - -include ../../../build2/ -exe{driver}: {hxx cxx}{*} ../../../build2/libue{b} testscript{*} diff --git a/unit-tests/cc/parser/driver.cxx b/unit-tests/cc/parser/driver.cxx deleted file mode 100644 index 19a2133..0000000 --- a/unit-tests/cc/parser/driver.cxx +++ /dev/null @@ -1,66 +0,0 @@ -// file : unit-tests/cc/parser/driver.cxx -*- C++ -*- -// copyright : Copyright (c) 2014-2019 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -#include <cassert> -#include <iostream> - -#include <build2/types.hxx> -#include <build2/utility.hxx> - -#include <build2/cc/parser.hxx> - -using namespace std; -using namespace butl; - -namespace build2 -{ - namespace cc - { - // Usage: argv[0] [<file>] - // - int - main (int argc, char* argv[]) - { - try - { - const char* file; - - ifdstream is; - if (argc > 1) - { - file = argv[1]; - is.open (file); - } - else - { - file = "stdin"; - is.open (fddup (stdin_fd ())); - } - - parser p; - translation_unit u (p.parse (is, path (file))); - - for (const module_import& m: u.mod.imports) - cout << (m.exported ? "export " : "") - << "import " << m.name << ';' << endl; - - if (!u.mod.name.empty ()) - cout << (u.mod.iface ? "export " : "") - << "module " << u.mod.name << ';' << endl; - } - catch (const failed&) - { - return 1; - } - - return 0; - } - } -} - -int -main (int argc, char* argv[]) -{ - return build2::cc::main (argc, argv); -} diff --git a/unit-tests/cc/parser/module.testscript b/unit-tests/cc/parser/module.testscript deleted file mode 100644 index dc7f3e4..0000000 --- a/unit-tests/cc/parser/module.testscript +++ /dev/null @@ -1,149 +0,0 @@ -# file : unit-tests/cc/parser/module.testscript -# copyright : Copyright (c) 2014-2019 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file - -# Test C++ module constructs. -# - -: import -: -$* <<EOI >>EOI -import foo; -import foo.bar; -import foo.bar.baz; -EOI - -: module-implementation -: -$* <<EOI >>EOI -module foo; -EOI - -: module-interface -: -$* <<EOI >>EOI -export module foo; -EOI - -: export-imported -: -$* <<EOI >>EOO -export import foo; -EOI -export import foo; -EOO - -: export-imported-block -: -$* <<EOI >>EOO -import bar; - -export {import foo;} - -export -{ - namespace foo - { - class c {}; - } - - template <typename T> int f (); - - import bar; -} -EOI -export import bar; -export import foo; -EOO - -: non-module -: -$* <<EOI -#pragma import module foo; -#pragma export module foo; -#pragma module foo; -extern module foo: int foo (); -export namespace bar {int fox ();} -EOI - -: attribute -: -$* <<EOI >>EOO -import foo [[export({import})]]; -module bar [[module({module})]]; -EOI -import foo; -module bar; -EOO - -: import-duplicate -: -$* <<EOI >>EOO -import foo; -import bar.baz; -import foo; -import bar . baz; -EOI -import foo; -import bar.baz; -EOO - -: brace-missing -: -$* <<EOI 2>>EOE != 0 -export -{ - class foo - { - //}; - module foo; -} -EOI -stdin:8:1: error: {}-imbalance detected -EOE - -: brace-stray -: -$* <<EOI 2>>EOE != 0 -export -{ - class foo - { - };} -} -module foo; -EOI -stdin:6:1: error: {}-imbalance detected -EOE - -: import-missing-name -: -$* <<EOI 2>>EOE != 0 -import ; -EOI -stdin:1:8: error: module name expected instead of ';' -EOE - -: module-missing-name -: -$* <<EOI 2>>EOE != 0 -module ; -EOI -stdin:1:1: error: module declaration expected after leading module marker -EOE - -: import-missing-semi -: -$* <<EOI 2>>EOE != 0 -import foo -EOI -stdin:2:1: error: ';' expected instead of <end of file> -EOE - -: module-missing-semi -: -$* <<EOI 2>>EOE != 0 -export module foo -EOI -stdin:2:1: error: ';' expected instead of <end of file> -EOE |