OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [gdb/] [testsuite/] [gdb.ada/] [exec_changed.exp] - Blame information for rev 862

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 227 jeremybenn
# Copyright 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
2
 
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 3 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program.  If not, see .
15
 
16
if $tracelevel then {
17
        strace $tracelevel
18
}
19
 
20
load_lib "ada.exp"
21
 
22
if { [skip_ada_tests] } { return -1 }
23
 
24
set testdir "exec_changed"
25
file mkdir ${objdir}/${subdir}/${testdir}
26
 
27
# Build the first test program (note that cygwin needs the $EXEEXT).
28
set testfile1 "${testdir}/first"
29
set srcfile1 ${srcdir}/${subdir}/${testfile1}.adb
30
set binfile1 ${objdir}/${subdir}/${testfile1}$EXEEXT
31
 
32
if {[gdb_compile_ada "${srcfile1}" "${binfile1}" executable {debug}] != ""} {
33
    return -1
34
}
35
 
36
# Build the second test program
37
set testfile2 "${testdir}/second"
38
set srcfile2 ${srcdir}/${subdir}/${testfile2}.adb
39
set binfile2 ${objdir}/${subdir}/${testfile2}$EXEEXT
40
 
41
if {[gdb_compile_ada "${srcfile2}" "${binfile2}" executable {debug}] != ""} {
42
    return -1
43
}
44
 
45
# Start with a fresh gdb.
46
 
47
set testfile "${testdir}/common"
48
set binfile ${objdir}/${subdir}/${testfile}$EXEEXT
49
 
50
gdb_start
51
gdb_reinitialize_dir $srcdir/$subdir
52
 
53
# Load the first executable.
54
 
55
gdb_test "shell mv ${binfile1} ${binfile}" "" ""
56
gdb_load ${binfile}
57
 
58
# Start the program, we should land in the program main procedure
59
if { [gdb_start_cmd] < 0 } {
60
    untested start
61
    return -1
62
}
63
 
64
gdb_test "" \
65
         "first \\(\\) at .*first.adb.*" \
66
         "start first"
67
 
68
# Restore first executable to its original name, and move
69
# second executable into its place.  Ensure that the new
70
# executable is at least a second newer than the old.
71
 
72
gdb_test "shell mv ${binfile} ${binfile1}" "" ""
73
gdb_test "shell mv ${binfile2} ${binfile}" "" ""
74
gdb_test "shell sleep 1" "" ""
75
gdb_test "shell touch ${binfile}" "" ""
76
 
77
# Start the program a second time, GDB should land in procedure Second
78
# this time.
79
 
80
if { [gdb_start_cmd] < 0 } {
81
    fail "start second"
82
} else {
83
    gdb_test "" \
84
             "second \\(\\) at .*second.adb.*" \
85
             "start second"
86
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.