1*f5f0964cSRobert Mustacchi#!/usr/bin/ksh 2*f5f0964cSRobert Mustacchi 3*f5f0964cSRobert Mustacchi# 4*f5f0964cSRobert Mustacchi# This file and its contents are supplied under the terms of the 5*f5f0964cSRobert Mustacchi# Common Development and Distribution License ("CDDL"), version 1.0. 6*f5f0964cSRobert Mustacchi# You may only use this file in accordance with the terms of version 7*f5f0964cSRobert Mustacchi# 1.0 of the CDDL. 8*f5f0964cSRobert Mustacchi# 9*f5f0964cSRobert Mustacchi# A full copy of the text of the CDDL should have accompanied this 10*f5f0964cSRobert Mustacchi# source. A copy of the CDDL is also available via the Internet at 11*f5f0964cSRobert Mustacchi# http://www.illumos.org/license/CDDL. 12*f5f0964cSRobert Mustacchi# 13*f5f0964cSRobert Mustacchi 14*f5f0964cSRobert Mustacchi# 15*f5f0964cSRobert Mustacchi# Copyright 2025 Oxide Computer Company 16*f5f0964cSRobert Mustacchi# 17*f5f0964cSRobert Mustacchi# 18*f5f0964cSRobert Mustacchi 19*f5f0964cSRobert Mustacchi# 20*f5f0964cSRobert Mustacchi# Run destructive user tests after verification that the device is 21*f5f0964cSRobert Mustacchi# usable. 22*f5f0964cSRobert Mustacchi# 23*f5f0964cSRobert Mustacchi 24*f5f0964cSRobert Mustacchi# 25*f5f0964cSRobert Mustacchi# Environment sanitization. 26*f5f0964cSRobert Mustacchi# 27*f5f0964cSRobert Mustacchiexport LC_ALL=C.UTF-8 28*f5f0964cSRobert Mustacchiexport LD_PRELOAD=libumem.so 29*f5f0964cSRobert Mustacchiexport UMEM_DEBUG=default 30*f5f0964cSRobert Mustacchiunalias -a 31*f5f0964cSRobert Mustacchiset -o pipefail 32*f5f0964cSRobert Mustacchi 33*f5f0964cSRobert Mustacchide_arg0=$(basename $0) 34*f5f0964cSRobert Mustacchide_root="$(dirname $0)/.." 35*f5f0964cSRobert Mustacchide_rundir="$de_root/runfiles" 36*f5f0964cSRobert Mustacchide_file="destruct.run" 37*f5f0964cSRobert Mustacchide_runfile="$de_rundir/$de_file" 38*f5f0964cSRobert Mustacchide_runner="/opt/test-runner/bin/run" 39*f5f0964cSRobert Mustacchide_check="$de_root/tests/libnvme/check-destruct.64" 40*f5f0964cSRobert Mustacchi 41*f5f0964cSRobert Mustacchi 42*f5f0964cSRobert Mustacchiif (( $# == 0 )); then 43*f5f0964cSRobert Mustacchi fatal "missing required device name" 44*f5f0964cSRobert Mustacchifi 45*f5f0964cSRobert Mustacchi 46*f5f0964cSRobert Mustacchiexport NVME_TEST_DEVICE=$1 47*f5f0964cSRobert Mustacchiif ! $de_check; then 48*f5f0964cSRobert Mustacchi exit 1 49*f5f0964cSRobert Mustacchifi 50*f5f0964cSRobert Mustacchi 51*f5f0964cSRobert Mustacchi$de_runner -c "$de_runfile" 52