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
|
from test_support import *
def print_file(content):
for line in content:
print line
# Build driver
gprbuild('check_mem')
# Run driver (2 loops)
run('check_mem', ['2'], output_file='check_mem.res1')
run('gnatmem', ['3', '-i', 'gmem.out', './check_mem', "2"],
output_file='check_mem.run1')
# Run driver (30 loops)
run('check_mem', ['30'], output_file='check_mem.res2')
run('gnatmem', ['3', '-i', 'gmem.out', './check_mem', "30"],
output_file='check_mem.run2')
# Now check that final water-mark for run1 and run2 is equal
r1 = open('check_mem.run1').readlines()
r2 = open('check_mem.run2').readlines()
fr1 = "1"
fr2 = "2"
for item in r1:
if item[0:8] == " Final":
fr1 = item
for item in r2:
if item[0:8] == " Final":
fr2 = item
if fr1 != fr2:
print "NOK"
print "run 1 ---------------"
print_file(r1)
print "run 2 ---------------"
print_file(r2)
sys.exit(1)
else:
print "OK"
sys.exit(0)
|