File: addrxlat-memarr

package info (click to toggle)
libkdumpfile 0.5.5-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,156 kB
  • sloc: ansic: 36,541; sh: 4,219; python: 1,569; makefile: 812
file content (62 lines) | stat: -rwxr-xr-x 1,283 bytes parent folder | download | duplicates (3)
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
#! /bin/sh

#
# Check memory array translation.
#

base="KVADDR:0x1234000"
shift=12
elemsz=8
valsz=8
xlat="-e 0x1234008:0x5678"
xlat="$xlat -e 0x1235000:0x0"

list="0x1abc:0x5678abc"			# PFN 1
list="$list 0x200def:0xdef"		# PFN 0x200

totalrc=0
for tst in $list; do
    input="${tst%:*}"
    expect="${tst##*:}"
    echo -n "Checking $input... "
    output=$( ./addrxlat -m $base:$shift:$elemsz:$valsz $xlat $input )
    rc=$?
    if [ $rc -gt 1 ]; then
        echo ERROR
        echo "Cannot translate $input" >&2
        exit $rc
    elif [ $rc -ne 0 ]; then
        echo FAILED
        totalrc=$rc
    elif [ "$output" != "$expect" ]; then
        echo FAILED
        echo "Result does not match for $input: $output" >&2
        totalrc=1
    else
        echo OK
    fi
done

# Check failures
list="0x123456"			# Read failure

for tst in $list; do
    input="${tst%:*}"
    expect="${tst##*:}"
    echo -n "Checking $input... "
    output=$( ./addrxlat -t $endoff $xlat $input 2>&1 )
    rc=$?
    if [ $rc -ne 99 ]; then
        echo ERROR
        echo "Cannot translate $input" >&2
        exit $rc
    elif [ $rc -eq 0 ]; then
        echo FAILED
        echo "Unexpected success for $input: $output" >&2
        totalrc=1
    else
        echo OK
    fi
done

exit $totalrc