fn service()

in core/benches/ops/utils.rs [28:48]


fn service<AB: Builder>() -> Option<Operator> {
    let test_key = format!("opendal_{}_test", AB::SCHEME).to_uppercase();
    if env::var(test_key).unwrap_or_default() != "on" {
        return None;
    }

    let prefix = format!("opendal_{}_", AB::SCHEME);
    let envs = env::vars()
        .filter_map(move |(k, v)| {
            k.to_lowercase()
                .strip_prefix(&prefix)
                .map(|k| (k.to_string(), v))
        })
        .collect();

    Some(
        Operator::from_map::<AB>(envs)
            .unwrap_or_else(|_| panic!("init {} must succeed", AB::SCHEME))
            .finish(),
    )
}