acpica/tests/aslts.sh
Robert Moore 365742767b ASLTS: update master script to handle 32/64 bit cases.
Always generate the native width tools.
2011-10-21 08:38:51 -07:00

121 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
#
# aslts - execute ASL test suite
#
# optional parameters: <ASLTS directory path> <ACPICA source code path>
#
# Will build temporary versions of iASL and acpiexec
postfix=`date +%H%M%S`
tmp_iasl=/tmp/iasl-$postfix
tmp_acpiexec=/tmp/acpiexec-$postfix
# Setup environment and variables.
# Need a path to ASLTS and iasl,acpiexec generation dir
setup_environment() {
aslts_dir=$1
generation_dir=$2
if [ -z "$generation_dir" ] ; then
echo "missing generation directory argument"
exit
elif [ -z "$aslts_dir" ] ; then
echo "missing aslts directory argument"
exit
elif [ ! -d "$generation_dir" ] ; then
echo $generation_dir is not a dir
exit
elif [ ! -d "$aslts_dir" ] ; then
echo $aslts_dir is not a dir
exit
fi
# Variables required by ASLTS
unset ASL
unset acpiexec
unset ASLTSDIR
export ASL=$tmp_iasl
export acpiexec=$tmp_acpiexec
export ASLTSDIR=$aslts_dir
export PATH=$ASLTSDIR/bin:$PATH
}
# Generate both iASL and acpiexec from source
build_acpi_tools() {
restore_dir=$PWD
cd ${generation_dir}
rm -f $tmp_iasl $tmp_acpiexec
# Build native-width iASL compiler and acpiexec
make clean
make iasl
make acpiexec
if [ -d "bin64" ] && [ -f "bin64/iasl" ]; then
echo "Installing 64-bit tools"
cp bin64/iasl $tmp_iasl
cp bin64/acpiexec $tmp_acpiexec
elif [ -d "bin32" ] && [ -f "bin32/iasl" ]; then
echo "Installing 32-bit tools"
cp bin32/iasl $tmp_iasl
cp bin32/acpiexec $tmp_acpiexec
else
echo "Could not find iASL/acpiexec tools"
exit
fi
# Ensure that the tools are available
if [ ! -f $tmp_iasl ] ; then
echo "iasl compiler not found"
exit
elif [ ! -f $tmp_acpiexec ] ; then
echo "acpiexec utility not found"
exit
fi
cd $restore_dir
}
# Compile and run the ASLTS suite
run_aslts() {
# Remove a previous version of the AML test code
version=`$ASL | grep version | awk '{print $5}'`
rm -rf $ASLTSDIR/tmp/aml/$version
# Compile all ASL test modules
Do 0 aslts
# Execute the test suite
echo ""
echo "ASL Test Suite Started: `date`"
start_time=$(date)
Do 1
echo ""
echo "ASL Test Suite Finished: `date`"
echo " Started: $start_time"
rm -f $tmp_iasl $tmp_acpiexec
}
NPARAM=$#
# Main - arguments are optional
if [ $NPARAM -eq 2 ]; then
setup_environment $1 $2
else
setup_environment aslts ../generate/unix
fi
build_acpi_tools
run_aslts