You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: sqllogictest.rs
    path of file: ./repos/risinglight/tests
    
    the code of the file until where you have to start completion: // Copyright 2024 RisingLight Project Authors. Licensed under Apache-2.0.

//! Sqllogictest for RisingLight.

use std::fmt::Display;
use std::path::Path;

use libtest_mimic::{Arguments, Trial};
use risinglight::array::*;
use risinglight::storage::SecondarySt
    
async fn test(filename: impl AsRef<Path>, engine: Engine) -> Result<()> {
    let db = match engine {
        Engine::Disk => Database::new_on_disk(SecondaryStorageOptions::default_for_test()).await,
        Engine::Mem => Database::new_in_memory(),
    };

    let db = DatabaseWrapper(db);
    let mut tester = sqllogictest::Runner::new(&db);
    tester.enable_testdir();

    // Uncomment the following lines to update the test files.
    // if engine == Engine::Disk {
    //     // Only use one engine to update to avoid conflicts.
    //     sqllogictest::update_test_file(filename, tester, "\t", sqllogictest::default_validator)
    //         .await?;
    // }

    tester.run_file_async(filename).await?;
    db.0.shutdown().await?;
    Ok(())
}