File: run.sh

package info (click to toggle)
win32-loader 0.10.6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid
  • size: 1,868 kB
  • sloc: ansic: 2,492; sh: 706; asm: 344; makefile: 338
file content (70 lines) | stat: -rwxr-xr-x 1,565 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/bin/sh
# Licensed under the zlib/libpng license (same as NSIS)
#
# Script to perform CPUID test
#
# Usage: run.sh [<helper dir [<Windows architecture> [<test dir>]]]

set -e

OUTPUT="output.log"
SCRIPT="cpuid_test.nsi"
SOURCEDIR=$(cd "$(dirname "$0")"; pwd -P)
TOPDIR=$(cd "${SOURCEDIR}/../.."; pwd -P)
HELPERDIR="${1:-"${TOPDIR}/build"}/helpers/${SOURCEDIR##*/}"

INSTALLER="${SCRIPT%.*}.exe"
UNINSTALLER="uninstall.exe"

. "${SOURCEDIR}/../common/funcs.sh"

before() {
	make_installer "-XOutFile ${PWD}/${INSTALLER}" \
		"-DCPUID_HELPER_DIR=${HELPERDIR}" \
		"${SOURCEDIR}/${SCRIPT}"
}

after() {
	[ -f "${OUTPUT}" ] && rm "${OUTPUT}"
	[ -f "${INSTALLER}" ] && rm "${INSTALLER}"
	[ -f "${UNINSTALLER}" ] && rm "${UNINSTALLER}"
}

test_vendor_id() {
        echo "vendor id"
	run_installer ${INSTALLER} "/RESULT=${OUTPUT}" || exit 1
	result=$(assert_equal "${1}" "$(tail -n 1 ${OUTPUT})")
	check_result $? "${result} (Installer)"
	rm -f ${OUTPUT}
	run_uninstaller ${UNINSTALLER} "/RESULT=${OUTPUT}" || exit 1
	result=$(assert_equal "${1}" "$(tail -n 1 ${OUTPUT})")
	check_result $? "${result} (Uninstaller)"
	rm -f ${OUTPUT}
}

main() {
	vendor_id=
	while read -r line
	do
		set -f -- safety $line
		shift
		if [ "${1}" = "vendor_id" ]; then
			vendor_id=${3}
			break
		fi
	done < /proc/cpuinfo
	if [ -n "${vendor_id}" ]; then
		test_vendor_id ${vendor_id}
	fi
}

[ $# -gt 1 ] && shift
wine_set_up "${@}"
if [ "${WINEARCH}" != "win32" ]; then
	echo "CPUID test requiring win32 Windows architecture is skipped"
else
	before
	main
	after
fi
wine_clean_up "${@}"