18c2ecf20Sopenharmony_ci#!/bin/bash
28c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-or-later
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciif [[ ! -w /dev/crypto/nx-gzip ]]; then
58c2ecf20Sopenharmony_ci	echo "Can't access /dev/crypto/nx-gzip, skipping"
68c2ecf20Sopenharmony_ci	echo "skip: $0"
78c2ecf20Sopenharmony_ci	exit 4
88c2ecf20Sopenharmony_cifi
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciset -e
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cifunction cleanup
138c2ecf20Sopenharmony_ci{
148c2ecf20Sopenharmony_ci	rm -f nx-tempfile*
158c2ecf20Sopenharmony_ci}
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_citrap cleanup EXIT
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_cifunction test_sizes
208c2ecf20Sopenharmony_ci{
218c2ecf20Sopenharmony_ci	local n=$1
228c2ecf20Sopenharmony_ci	local fname="nx-tempfile.$n"
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci	for size in 4K 64K 1M 64M
258c2ecf20Sopenharmony_ci	do
268c2ecf20Sopenharmony_ci		echo "Testing $size ($n) ..."
278c2ecf20Sopenharmony_ci		dd if=/dev/urandom of=$fname bs=$size count=1
288c2ecf20Sopenharmony_ci		./gzfht_test $fname
298c2ecf20Sopenharmony_ci		./gunz_test ${fname}.nx.gz
308c2ecf20Sopenharmony_ci	done
318c2ecf20Sopenharmony_ci}
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ciecho "Doing basic test of different sizes ..."
348c2ecf20Sopenharmony_citest_sizes 0
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ciecho "Running tests in parallel ..."
378c2ecf20Sopenharmony_cifor i in {1..16}
388c2ecf20Sopenharmony_cido
398c2ecf20Sopenharmony_ci	test_sizes $i &
408c2ecf20Sopenharmony_cidone
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ciwait
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ciecho "OK"
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ciexit 0
47