xref: /openbsd/regress/sys/ffs/run (revision 4bdff4be)
1#!/bin/sh
2# $OpenBSD: run,v 1.6 2022/04/28 22:11:59 jca Exp $
3# Heavily inspired on FreeBSD's misc.sh.
4
5totntest=0
6totnfail=0
7
8name253="_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_12"
9name255="${name253}34"
10name256="${name255}5"
11path1021="${name255}/${name255}/${name255}/${name253}"
12path1023="${path1021}/x"
13path1024="${path1023}x"
14
15# Run a single test, calling fstest to do the job.
16expect()
17{
18  e="${1}"
19  shift
20  echo -n "Running test #${ntest}... "
21  r=`${FSTEST} $* | tail -1`
22  echo "${r}" | egrep -q '^'${e}'$'
23  if [ $? -eq 0 ]; then
24    echo "okay."
25  else
26    nfail=$((nfail + 1))
27    echo "failed:"
28    echo " test\t$*"
29    echo " expect\t$e"
30    echo " result\t$r"
31  fi
32  ntest=$((ntest + 1))
33}
34
35test_check()
36{
37  echo -n "Running test #${ntest}... "
38  if [ $* ]; then
39    echo "okay."
40  else
41    nfail=$((nfail + 1))
42    echo "failed:"
43    echo " test\t$*"
44  fi
45  ntest=$((ntest + 1))
46}
47
48# Generate a random file/directory name.
49namegen()
50{
51  echo "fstest_`dd if=/dev/urandom bs=1k count=1 status=none | md5`"
52}
53
54for arg in $*; do
55  ntest=0
56  nfail=0
57  echo $arg:
58  sed -n 's/^desc=//p' $arg
59  . $arg
60  totntest=$((totntest + ntest))
61  totnfail=$((totnfail + nfail))
62done
63
64echo "${totntest} tests completed, ${totnfail} failed."
65