note a leak that needs fixing eventually
[trinity.git] / scripts / test-vm.sh
blobade7d1b0fb7358c7dc6233d89c52c239288205d6
1 #!/bin/bash
3 OLDPATH=$(pwd)
4 TRINITY_PATH=${TRINITY_PATH:-$OLDPATH}
6 if [ -d tmp ]; then
7 TRINITY_TMP=$(mktemp -d $(pwd)/tmp/trinity.XXXXXX)
8 else
9 TRINITY_TMP=$(mktemp -d /tmp/trinity.XXXXXX)
12 TRINITY_PATH=${TRINITY_PATH:-.}
13 TRINITY_TMP=$(mktemp -d /tmp/trinity.XXXXXX)
15 check_tainted()
17 if [ "$(cat /proc/sys/kernel/tainted)" != $TAINT ]; then
18 echo ERROR: Taint flag changed $(cat /proc/sys/kernel/tainted)
19 exit
23 TAINT=$(cat /proc/sys/kernel/tainted)
25 chmod 755 $TRINITY_TMP
26 cd $TRINITY_TMP
28 NR_CPUS=`grep ^processor /proc/cpuinfo | /usr/bin/wc -l`
29 NR_PROCESSES=$(($NR_CPUS * 2))
31 while [ 1 ];
33 for syscall in madvise mbind migrate_pages mincore mlockall mlock move_pages mprotect mremap msync munlockall munlock munmap remap_file_pages vmsplice
35 echo testing mmap + $syscall
36 chmod 755 $TRINITY_TMP
37 pushd $TRINITY_TMP > /dev/null
39 if [ ! -f $TRINITY_PATH/trinity ]; then
40 echo lost!
41 pwd
42 exit
45 MALLOC_CHECK_=2 $TRINITY_PATH/trinity -q -l off -c mmap -c $syscall -N 99999 -C 64
46 popd > /dev/null
48 check_tainted
49 echo
50 echo
51 done
52 check_tainted
53 done