75 lines
1.2 KiB
Plaintext
75 lines
1.2 KiB
Plaintext
|
|
# Copyright (C) 2024 Web Server LLC
|
|
|
|
|
|
if [ $NGX_FEATURE_CACHE = YES ]; then
|
|
NGX_FC_PATH=$NGX_OBJS
|
|
|
|
elif [ $NGX_FEATURE_CACHE != NO ]; then
|
|
|
|
NGX_FC_PATH=${NGX_FEATURE_CACHE}
|
|
mkdir -p $NGX_FC_PATH
|
|
fi
|
|
|
|
|
|
# tries to load cache for current autotest environment
|
|
check_cache()
|
|
{
|
|
if [ $NGX_FEATURE_CACHE = NO ]; then
|
|
return 1
|
|
fi
|
|
|
|
# remove chars non-suitable for filename and limit length to 64
|
|
|
|
OPTIND=1
|
|
ngx_uniq=
|
|
N=0
|
|
|
|
while getopts ":" opt "-$1"; do
|
|
case "$OPTARG" in
|
|
[A-Za-z0-9])
|
|
ngx_uniq=${ngx_uniq}$OPTARG
|
|
;;
|
|
*)
|
|
ngx_uniq=${ngx_uniq}_
|
|
;;
|
|
esac
|
|
|
|
N=$(($N + 1))
|
|
|
|
if [ $N -gt 64 ]; then
|
|
break
|
|
fi
|
|
done
|
|
|
|
NGX_AUTOTEST_CACHE=$NGX_FC_PATH/$2.$ngx_uniq.cache
|
|
|
|
if [ -f $NGX_AUTOTEST_CACHE ]; then
|
|
|
|
. $NGX_AUTOTEST_CACHE
|
|
|
|
if [ $ngx_found = yes ]; then
|
|
echo "using cached $1 ... found"
|
|
else
|
|
echo "using cached $1 ... not found"
|
|
fi
|
|
|
|
return 0
|
|
|
|
else
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
|
|
cache_output_start()
|
|
{
|
|
exec 3>&1 1>$NGX_AUTOTEST_CACHE
|
|
}
|
|
|
|
|
|
cache_output_end()
|
|
{
|
|
exec 1>&3 3>&-
|
|
}
|