#!/usr/bin/env bash # Copyright Materialize, Inc. and contributors. All rights reserved. # # Use of this software is governed by the Business Source License # included in the LICENSE file at the root of this repository. # # As of the Change Date specified in that file, in accordance with # the Business Source License, use of this software will be governed # by the Apache License, Version 2.0. # # san — enables an LLVM sanitizer for any wrapped cargo(1) commands. # # Example usages: # # $ bin/san address cargo run --bin sqllogictest # # $ bin/san address ci/test/slt-fast.sh # # Requires x64 and a nightly toolchain. set -euo pipefail cd "$(dirname "$0")/.." . misc/shlib/shlib.bash if [[ $# -lt 2 ]]; then die "usage: $0 [...]" fi MZ_DEV_SANITIZER=$1; shift CARGO=$(command -v cargo) PATH=$(pwd)/misc/sanshim:$PATH export MZ_DEV_SANITIZER CARGO PATH exec "$@"