summaryrefslogtreecommitdiff
path: root/automated/linux/isolate-task/isolate-task-verify.sh
blob: 91e46196e7e9e190cc0a1ba0ccdb8db39f4b14bc (plain)
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
#!/bin/sh -e

usage() {
    echo "Usage: $0 <-c cpus> <-s [true|false]>" 1>&2
    echo " -c CPU's to isolate and verify"
    echo " -s Skip dependenciy installs"
    echo " -t Git tag to use"
    echo " example:"
    echo " $0 -c 1,2 -s false -t v0.2"
    exit 1
}

while getopts "c:s:t:" o; do
    case "$o" in
	c) CPUS="${OPTARG}" ;;
	s) SKIP_INSTALL="${OPTARG}" ;;
	t) GIT_TAG="${OPTARG}" ;;
	*) usage ;;
    esac
done

[ -z "${CPUS}" ] && usage
[ -z "${SKIP_INSTALL}" ] && usage
[ -z "${GIT_TAG}" ] && usage

. ../../lib/sh-test-lib

OUTPUT="$(pwd)/output"
RESULT_FILE="${OUTPUT}/result.txt"
TEST_LOG="${OUTPUT}/isolation-test-output.txt"

[ -d "${OUTPUT}" ] && mv "${OUTPUT}" "${OUTPUT}_$(date +%Y%m%d%H%M%S)"
mkdir -p "${OUTPUT}"

if [ "${SKIP_INSTALL}" = "false" ] || [ "${SKIP_INSTALL}" = "False" ]; then
    install_deps "git stress cpuset gzip"
    git clone git://git.linaro.org/lng/task-isolation.git
fi

cd task-isolation
git checkout tags/"${GIT_TAG}" -b "${GIT_TAG}"
./isolate-task.sh -v -c "${CPUS}" sleep "10" 2>&1 | tee "${TEST_LOG}"

grep TEST_ISOLATION_CORE_ "${TEST_LOG}" > "${RESULT_FILE}"