aboutsummaryrefslogtreecommitdiff
path: root/test/compilers/argument-parsers-tests.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/compilers/argument-parsers-tests.js')
-rw-r--r--test/compilers/argument-parsers-tests.js14
1 files changed, 11 insertions, 3 deletions
diff --git a/test/compilers/argument-parsers-tests.js b/test/compilers/argument-parsers-tests.js
index 8e1e04feb..23f263a60 100644
--- a/test/compilers/argument-parsers-tests.js
+++ b/test/compilers/argument-parsers-tests.js
@@ -36,11 +36,15 @@ const languages = {
'c++': {id: 'c++'}
};
-const compilerProps = new properties.CompilerProps(languages, properties.fakeProps({}));
+let env;
function makeCompiler(stdout, stderr, code) {
+ if (env === undefined) {
+ const compilerProps = new properties.CompilerProps(languages, properties.fakeProps({}));
+ env = new CompilationEnvironment(compilerProps);
+ }
+
if (code === undefined) code = 0;
- const env = new CompilationEnvironment(compilerProps);
const compiler = new FakeCompiler({lang: languages['c++'].id, remote: true}, env);
compiler.exec = () => Promise.resolve({code: code, stdout: stdout || "", stderr: stderr || ""});
compiler.execCompilerCached = compiler.exec;
@@ -155,7 +159,11 @@ describe('pascal parser', () => {
});
describe('popular compiler arguments', () => {
- let compiler = makeCompiler("-fsave-optimization-record\n-x\n-g\n-fcolor-diagnostics\n-O<number> optimization level\n-std=<c++11,c++14,c++17z>");
+ let compiler;
+
+ before(() => {
+ compiler = makeCompiler("-fsave-optimization-record\n-x\n-g\n-fcolor-diagnostics\n-O<number> optimization level\n-std=<c++11,c++14,c++17z>");
+ });
it('should return 5 arguments', () => {
return parsers.Clang.parse(compiler).then(compiler => {