|
|
@@ -3,23 +3,58 @@
|
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
//
|
|
|
// A lot of output is elided: this is only checking for a few things for simple
|
|
|
-// sanity checking on --parser_debug --trace_file=- output.
|
|
|
+// sanity checking on --parser_debug --trace_file=- along with filter flags output.
|
|
|
//
|
|
|
// NOAUTOUPDATE
|
|
|
-// RUN: %{explorer-run-trace}
|
|
|
-// CHECK:STDOUT: ********** source program **********
|
|
|
-// CHECK-NOT:STDOUT: interface ImplicitAs {
|
|
|
-// CHECK:STDOUT: interface TestInterface {
|
|
|
-// CHECK:STDOUT: ********** type checking **********
|
|
|
-// CHECK:STDOUT: ** declaring interface TestInterface
|
|
|
-// CHECK:STDOUT: ********** resolving unformed variables **********
|
|
|
-// CHECK:STDOUT: ********** printing declarations **********
|
|
|
-// CHECK:STDOUT: interface TestInterface {
|
|
|
-// CHECK:STDOUT: ********** starting execution **********
|
|
|
-// CHECK:STDOUT: ********** initializing globals **********
|
|
|
-// CHECK:STDOUT: ********** calling main function **********
|
|
|
-// CHECK:STDOUT: --- step exp Main() .0. (<Main()>:0) --->
|
|
|
-// CHECK:STDOUT: result: 0
|
|
|
+// RUN: %{explorer-run} --parser_debug --trace_file=- | %{FileCheck-allow-unmatched} --check-prefixes=NO-SOURCE,NO-NAMES,NO-PRELUDE,NO-FLOW,NO-TYPE,NO-UNFORMED,NO-DECLS,EXEC,NO-TIMING
|
|
|
+// RUN: %{explorer-run} --parser_debug --trace_file=- -trace_execution | %{FileCheck-allow-unmatched} --check-prefixes=NO-SOURCE,NO-NAMES,NO-PRELUDE,NO-FLOW,NO-TYPE,NO-UNFORMED,NO-DECLS,EXEC,NO-TIMING
|
|
|
+// RUN: %{explorer-run} --parser_debug --trace_file=- -trace_source_program | %{FileCheck-allow-unmatched} --check-prefixes=SOURCE,NO-NAMES,NO-PRELUDE,NO-FLOW,NO-TYPE,NO-UNFORMED,NO-DECLS,NO-EXEC,NO-TIMING
|
|
|
+// RUN: %{explorer-run} --parser_debug --trace_file=- -trace_name_resolution | %{FileCheck-allow-unmatched} --check-prefixes=NO-SOURCE,NAMES,NO-PRELUDE,NO-FLOW,NO-TYPE,NO-UNFORMED,NO-DECLS,NO-EXEC,NO-TIMING
|
|
|
+// RUN: %{explorer-run} --parser_debug --trace_file=- -trace_control_flow_resolution | %{FileCheck-allow-unmatched} --check-prefixes=NO-SOURCE,NO-NAMES,NO-PRELUDE,FLOW,NO-TYPE,NO-UNFORMED,NO-DECLS,NO-EXEC,NO-TIMING
|
|
|
+// RUN: %{explorer-run} --parser_debug --trace_file=- -trace_type_checking | %{FileCheck-allow-unmatched} --check-prefixes=NO-SOURCE,NO-NAMES,NO-PRELUDE,NO-FLOW,TYPE,NO-UNFORMED,NO-DECLS,NO-EXEC,NO-TIMING
|
|
|
+// RUN: %{explorer-run} --parser_debug --trace_file=- -trace_unformed_variables_resolution | %{FileCheck-allow-unmatched} --check-prefixes=NO-SOURCE,NO-NAMES,NO-PRELUDE,NO-FLOW,NO-TYPE,UNFORMED,NO-DECLS,NO-EXEC,NO-TIMING
|
|
|
+// RUN: %{explorer-run} --parser_debug --trace_file=- -trace_declarations | %{FileCheck-allow-unmatched} --check-prefixes=NO-SOURCE,NO-NAMES,NO-PRELUDE,NO-FLOW,NO-TYPE,NO-UNFORMED,DECLS,NO-EXEC,NO-TIMING
|
|
|
+// RUN: %{explorer-run} --parser_debug --trace_file=- -trace_timing | %{FileCheck-allow-unmatched} --check-prefixes=NO-SOURCE,NO-NAMES,NO-PRELUDE,NO-FLOW,NO-TYPE,NO-UNFORMED,NO-DECLS,NO-EXEC,TIMING
|
|
|
+// RUN: %{explorer-run} --parser_debug --trace_file=- -trace_all | %{FileCheck-allow-unmatched} --check-prefixes=SOURCE,NAMES,NO-PRELUDE,FLOW,TYPE,UNFORMED,DECLS,EXEC,TIMING
|
|
|
+// NO-SOURCE-NOT:STDOUT: ********** source program **********
|
|
|
+// SOURCE:STDOUT: ********** source program **********
|
|
|
+// NO-SOURCE-NOT:STDOUT: interface TestInterface {
|
|
|
+// SOURCE:STDOUT: interface TestInterface {
|
|
|
+// NO-NAMES-NOT:STDOUT: ********** resolving names **********
|
|
|
+// NAMES:STDOUT: ********** resolving names **********
|
|
|
+// NO-PRELUDE-NOT:STDOUT: interface ImplicitAs {
|
|
|
+// NO-FLOW-NOT:STDOUT: ********** resolving control flow **********
|
|
|
+// FLOW:STDOUT: ********** resolving control flow **********
|
|
|
+// NO-TYPE-NOT:STDOUT: ********** type checking **********
|
|
|
+// TYPE:STDOUT: ********** type checking **********
|
|
|
+// NO-TYPE-NOT:STDOUT: ** declaring interface TestInterface
|
|
|
+// TYPE:STDOUT: ** declaring interface TestInterface
|
|
|
+// NO-UNFORMED-NOT:STDOUT: ********** resolving unformed variables **********
|
|
|
+// UNFORMED:STDOUT: ********** resolving unformed variables **********
|
|
|
+// NO-DECLS-NOT:STDOUT: ********** printing declarations **********
|
|
|
+// DECLS:STDOUT: ********** printing declarations **********
|
|
|
+// NO-DECLS-NOT:STDOUT: interface TestInterface {
|
|
|
+// DECLS:STDOUT: interface TestInterface {
|
|
|
+// NO-EXEC-NOT:STDOUT: ********** starting execution **********
|
|
|
+// EXEC:STDOUT: ********** starting execution **********
|
|
|
+// NO-EXEC-NOT:STDOUT: ********** initializing globals **********
|
|
|
+// EXEC:STDOUT: ********** initializing globals **********
|
|
|
+// NO-EXEC-NOT:STDOUT: ********** calling main function **********
|
|
|
+// EXEC:STDOUT: ********** calling main function **********
|
|
|
+// NO-EXEC-NOT:STDOUT: --- step exp Main() .0. (<Main()>:0) --->
|
|
|
+// EXEC:STDOUT: --- step exp Main() .0. (<Main()>:0) --->
|
|
|
+// NO-EXEC-NOT:STDOUT: interpreter result: 0
|
|
|
+// EXEC:STDOUT: interpreter result: 0
|
|
|
+// NO-TIMING-NOT:STDOUT: ********** printing timing **********
|
|
|
+// TIMING:STDOUT: ********** printing timing **********
|
|
|
+// NO-TIMING-NOT:STDOUT: Time elapsed in ExecProgram: {{[0-9]+}}ms
|
|
|
+// TIMING:STDOUT: Time elapsed in ExecProgram: {{[0-9]+}}ms
|
|
|
+// NO-TIMING-NOT:STDOUT: Time elapsed in AnalyzeProgram: {{[0-9]+}}ms
|
|
|
+// TIMING:STDOUT: Time elapsed in AnalyzeProgram: {{[0-9]+}}ms
|
|
|
+// NO-TIMING-NOT:STDOUT: Time elapsed in AddPrelude: {{[0-9]+}}ms
|
|
|
+// TIMING:STDOUT: Time elapsed in AddPrelude: {{[0-9]+}}ms
|
|
|
+// NO-TIMING-NOT:STDOUT: Time elapsed in Parse: {{[0-9]+}}ms
|
|
|
+// TIMING:STDOUT: Time elapsed in Parse: {{[0-9]+}}ms
|
|
|
|
|
|
package ExplorerTest api;
|
|
|
|