xref: /illumos-gate/usr/src/test/nvme-tests/cmd/destructive.ksh (revision f5f0964ce91892f7482efc86903b0ec7c7b6ba66)
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