1from test_support import *
2
3
4def print_file(content):
5    for line in content:
6        print line
7
8#  Build driver
9
10gprbuild('check_mem')
11
12#  Run driver (2 loops)
13
14run('check_mem', ['2'], output_file='check_mem.res1')
15run('gnatmem', ['3', '-i', 'gmem.out', './check_mem', "2"],
16    output_file='check_mem.run1')
17
18#  Run driver (30 loops)
19
20run('check_mem', ['30'], output_file='check_mem.res2')
21run('gnatmem', ['3', '-i', 'gmem.out', './check_mem', "30"],
22    output_file='check_mem.run2')
23
24#  Now check that final water-mark for run1 and run2 is equal
25r1 = open('check_mem.run1').readlines()
26r2 = open('check_mem.run2').readlines()
27
28fr1 = "1"
29fr2 = "2"
30
31for item in r1:
32    if item[0:8] == "   Final":
33        fr1 = item
34for item in r2:
35    if item[0:8] == "   Final":
36        fr2 = item
37
38if fr1 != fr2:
39    print "NOK"
40    print "run 1 ---------------"
41    print_file(r1)
42    print "run 2 ---------------"
43    print_file(r2)
44    sys.exit(1)
45else:
46    print "OK"
47    sys.exit(0)
48