MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / run

Function run

src/transform/tests/test_runner.rs:537–596  ·  view source on GitHub ↗

unsupported operation: can't call foreign function `rust_psm_stack_pointer` on OS `linux`

()

Source from the content-addressed store, hash-verified

535 #[mz_ore::test]
536 #[cfg_attr(miri, ignore)] // unsupported operation: can't call foreign function `rust_psm_stack_pointer` on OS `linux`
537 fn run() {
538 datadriven::walk("tests/testdata", |f| {
539 let mut catalog = TestCatalog::default();
540 f.run(move |s| -> String {
541 let args = s.args.clone().into();
542 match s.directive.as_str() {
543 "cat" => match catalog.handle_test_command(&s.input) {
544 Ok(()) => String::from("ok\n"),
545 Err(err) => format!("error: {}\n", err),
546 },
547 "build" => {
548 match run_single_view_testcase(&s.input, &catalog, &args, TestType::Build) {
549 // Generally, explanations for fully optimized queries
550 // are not allowed to have whitespace at the end;
551 // however, a partially optimized query can.
552 // Since clippy rejects test results with trailing
553 // whitespace, remove whitespace before comparing results.
554 Ok(msg) => {
555 format!(
556 "{}",
557 separated("\n", msg.split('\n').map(|s| s.trim_end()))
558 )
559 }
560 Err(err) => format!("error: {}\n", err),
561 }
562 }
563 "opt" => {
564 match run_single_view_testcase(&s.input, &catalog, &args, TestType::Opt) {
565 Ok(msg) => msg,
566 Err(err) => format!("error: {}\n", err),
567 }
568 }
569 "steps" => {
570 match run_single_view_testcase(&s.input, &catalog, &args, TestType::Steps) {
571 Ok(msg) => msg,
572 Err(err) => format!("error: {}\n", err),
573 }
574 }
575 "crossview" => {
576 match run_multiview_testcase(&s.input, &mut catalog, &args, TestType::Build)
577 {
578 Ok(msg) => format!(
579 "{}",
580 separated("\n", msg.split('\n').map(|s| s.trim_end()))
581 ),
582 Err(err) => format!("error: {}\n", err),
583 }
584 }
585 "crossviewopt" => {
586 match run_multiview_testcase(&s.input, &mut catalog, &args, TestType::Build)
587 {
588 Ok(msg) => msg,
589 Err(err) => format!("error: {}\n", err),
590 }
591 }
592 _ => panic!("unknown directive: {}", s.directive),
593 }
594 })

Callers

nothing calls this directly

Calls 7

run_single_view_testcaseFunction · 0.85
run_multiview_testcaseFunction · 0.85
handle_test_commandMethod · 0.80
walkFunction · 0.50
runMethod · 0.45
cloneMethod · 0.45
as_strMethod · 0.45

Tested by

no test coverage detected