Source

fops / regress

#!/bin/rc
# regression testing script, usually run with: 
# regress fops -l listener

mtpt=m

if(test $#* -lt 1) {
	echo usage: regress mountcmd
	exit usage
}

fn fatal {
	unmount $mtpt
	rm -rf $mtpt
	if(! ~ $#* 0){
		echo $*
		exit error
	}
	exit 0
}

mkdir $mtpt

$* $mtpt || fatal mount
mkdir $mtpt/dir || fatal mkdir

@{ 
	cd $mtpt/dir
	echo -n a string > file
	if(! ~ `{cat file} 'a string')
		fatal read or write failed
}

if(! ~ `{ls $mtpt/dir} $mtpt/dir/file)
	fatal ls
ls -l $mtpt/dir/file >/dev/null || fatal ls-l
rm -rf $mtpt/dir || fatal rm-rf

fatal
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.