aboutsummaryrefslogtreecommitdiff
path: root/build2/test/script/parser.cxx
AgeCommit message (Collapse)AuthorFilesLines
2017-06-19Add support for exit testscript builtinKaren Arutyunov1-267/+317
2017-06-12Remove few unused lambda capturesBoris Kolpackov1-1/+1
2017-05-01Add hxx extension for headersKaren Arutyunov1-4/+4
2017-04-01Redo handling of unhandled exceptions in async executionBoris Kolpackov1-9/+2
Here is the problem: noexcept looses the call stack. That is, unlike an unhandled exception, if noexcept is tripped, then you won't see the place where it was thrown. In this new implementation we now have noexcept only on the task thunk. And the task is called via a thunk only in case of async execution. This means that if we are executing serially (-j 1), then this will be an unhandled exception, not noexcept. Hopefully will be a bit easier to debug.
2017-03-24Fix diagnostics interleaving charactersKaren Arutyunov1-1/+2
2017-03-17Catch and dump unhandled exceptions in async task functionsBoris Kolpackov1-11/+24
The problem with relying on noexcept for this is that there is no stack.
2017-03-16Add support for >! test command redirectKaren Arutyunov1-0/+10
2017-03-15Add support for config.test.output variableKaren Arutyunov1-7/+12
2017-03-15Implement parallel testscript execution for single targetBoris Kolpackov1-4/+5
2017-03-10Implement support for wildcard patternsBoris Kolpackov1-5/+40
2017-03-02Implement parallel matchBoris Kolpackov1-17/+20
2017-03-01Add set builtinKaren Arutyunov1-7/+47
2017-02-13Make GCC 4.9, VC14 happyBoris Kolpackov1-1/+1
2017-02-13Implement parallel error propagation, keep_going modeBoris Kolpackov1-30/+56
Keep going is the default but there is now the -s|--serial-stop that makes the driver run serially and stop at first error. Also fix some lockups, other minor improvements/features.
2017-02-11Fix testscript parser not to strip leading blanks in here-docKaren Arutyunov1-7/+16
2017-01-31Add support for test command pipe, expression and command-ifKaren Arutyunov1-6/+15
2017-01-24Add support for shared here-documentsKaren Arutyunov1-19/+86
2017-01-24Add support for comparison of test command output to a fileKaren Arutyunov1-6/+24
2017-01-19Add support for portable path modifer and dot character escaping inversionKaren Arutyunov1-199/+187
2017-01-18Add missing diagnostics in testscript parserBoris Kolpackov1-0/+25
2017-01-12Implement support for narrowing down tests (config.test)Boris Kolpackov1-2/+10
2017-01-09Workaround libc++'s basic_string<line_char> crashKaren Arutyunov1-2/+2
2017-01-09Make use of operator<<(ostream, exception)Karen Arutyunov1-14/+16
2017-01-05Update copyright yearBoris Kolpackov1-1/+1
2017-01-05Add support for regex in runnerKaren Arutyunov1-45/+437
2017-01-04Treat any testscript line that starts with dot as directiveBoris Kolpackov1-24/+32
Even though we currently only recognize the include directive, we reserve any line that begins with a dot for future.
2017-01-04Change lexer modes to be semantically accurateBoris Kolpackov1-4/+6
2016-12-16Add line_regexKaren Arutyunov1-10/+16
2016-12-15Implement test.redirects, test.cleanupsBoris Kolpackov1-3/+5
2016-12-13Handle exceptions in parallel tests runsBoris Kolpackov1-19/+52
Currently we still stop on first error (or soon after) though the default mode should eventually be to keep going.
2016-12-09Initial parallel scheduler implementation, use to run testscripsBoris Kolpackov1-126/+61
2016-12-05Eliminate the use of '/...' paths on WindowsKaren Arutyunov1-3/+1
2016-12-05Adapt to semantics change of path::normalize()Karen Arutyunov1-1/+3
2016-12-01Implement testscript variable-ifBoris Kolpackov1-73/+115
Now a variable-only if is treated the same as a single variable when deciding whether it is part of a test or setup/teardown.
2016-11-30Add support for typed/untyped concatenated expansionBoris Kolpackov1-1/+1
2016-11-26Spec testscript regex, add support in token/lexerBoris Kolpackov1-77/+47
2016-11-25Implement literal here-document supportBoris Kolpackov1-27/+54
2016-11-25Allow here-document end marker to be wholly quotedBoris Kolpackov1-2/+39
2016-11-25Distinguish token quoting type and completenessBoris Kolpackov1-9/+12
2016-11-23Implement value type propagation on expansionBoris Kolpackov1-1/+1
Currently, we only propagate types of sole, unquoted expansions (variable, function call, or eval context), similar to NULL. To untypify the value, simply quote it.
2016-11-22Use diagnostics facility from libbutlBoris Kolpackov1-13/+8
2016-11-15Add cat, false and true builtinsKaren Arutyunov1-8/+11
2016-11-11Clean up testscript grammar and parserBoris Kolpackov1-540/+585
2016-11-10Implement scope-if in testscriptBoris Kolpackov1-140/+365
2016-11-09Various minor semantics changes in testscript languageBoris Kolpackov1-85/+79
The .include directive and if-else no longer have to be separated from the following token. This allows to make the decision by looking at just one token. The test scope can no longer have a description inside the scope. It should always be leading the scope itself.
2016-11-08Implement testscript command-ifBoris Kolpackov1-138/+386
2016-11-08Add mkdir and touch builtinsKaren Arutyunov1-2/+6
2016-11-08Get rid of faulty test script move-ctorKaren Arutyunov1-10/+7
2016-11-07Rework pre-parsed line type in testscriptBoris Kolpackov1-52/+67
2016-11-07Only do effective escaping when re-parsing expansions in testscriptBoris Kolpackov1-2/+14
Doing unconditional escaping messes up expansions that are Windows paths.