162306a36Sopenharmony_ci#!/bin/bash
262306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-or-later
362306a36Sopenharmony_ci
462306a36Sopenharmony_ciif [[ ! -w /dev/crypto/nx-gzip ]]; then
562306a36Sopenharmony_ci	echo "Can't access /dev/crypto/nx-gzip, skipping"
662306a36Sopenharmony_ci	echo "skip: $0"
762306a36Sopenharmony_ci	exit 4
862306a36Sopenharmony_cifi
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciset -e
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cifunction cleanup
1362306a36Sopenharmony_ci{
1462306a36Sopenharmony_ci	rm -f nx-tempfile*
1562306a36Sopenharmony_ci}
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_citrap cleanup EXIT
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_cifunction test_sizes
2062306a36Sopenharmony_ci{
2162306a36Sopenharmony_ci	local n=$1
2262306a36Sopenharmony_ci	local fname="nx-tempfile.$n"
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci	for size in 4K 64K 1M 64M
2562306a36Sopenharmony_ci	do
2662306a36Sopenharmony_ci		echo "Testing $size ($n) ..."
2762306a36Sopenharmony_ci		dd if=/dev/urandom of=$fname bs=$size count=1
2862306a36Sopenharmony_ci		./gzfht_test $fname
2962306a36Sopenharmony_ci		./gunz_test ${fname}.nx.gz
3062306a36Sopenharmony_ci	done
3162306a36Sopenharmony_ci}
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ciecho "Doing basic test of different sizes ..."
3462306a36Sopenharmony_citest_sizes 0
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ciecho "Running tests in parallel ..."
3762306a36Sopenharmony_cifor i in {1..16}
3862306a36Sopenharmony_cido
3962306a36Sopenharmony_ci	test_sizes $i &
4062306a36Sopenharmony_cidone
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ciwait
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ciecho "OK"
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ciexit 0
47