[gdb/testsuite] Clean up stale exec in gdb_compile_pascal
authorTom de Vries <tdevries@suse.de>
Tue, 20 Aug 2019 15:18:09 +0000 (17:18 +0200)
committerTom de Vries <tdevries@suse.de>
Tue, 20 Aug 2019 15:18:09 +0000 (17:18 +0200)
When running a pascal test with the stabs target board:
...
$ test=gdb.pascal/case-insensitive-symbols.exp
$ cd build/gdb/testsuite
$ make check RUNTESTFLAGS="$test --target_board=stabs"
...
we get:
...
nr of untested testcases         1
nr of unsupported tests          1
...
due to:
...
Error: Illegal parameter: -gstabs+^M
Error: /usr/bin/ppcx64 returned an error exitcode^M
...

OTOH, when running the same pascal test without the stabs target board:
...
$ make check RUNTESTFLAGS="$test"
...
we get:
...
nr of expected passes            20
...

But when subsequently again running with the stabs target board:
...
$ make check RUNTESTFLAGS="$test --target_board=stabs"
...
we now get:
...
nr of expected passes            20
...

The problem is that gdb_compile_pascal determines success based on existence
of the exec after compilation:
...
    if ![file exists $destfile] {
        unsupported "Pascal compilation failed: $result"
        return "Pascal compilation failed."
    }
...
without removing the exec before compilation, which allows a stale exec to
make it seem as if compilation has succeeded.

Fix this by removing the stale exec before compilation.

gdb/testsuite/ChangeLog:

2019-08-20  Tom de Vries  <tdevries@suse.de>

* lib/pascal.exp (gdb_compile_pascal): Remove $destfile before
compilation.

gdb/testsuite/ChangeLog
gdb/testsuite/lib/pascal.exp

index edf7d17801fe7932ca4fd5176df79b52c306c275..5bc5f77ba0bbd794aaae29895bc20fe9d842fc3b 100644 (file)
@@ -1,3 +1,8 @@
+2019-08-20  Tom de Vries  <tdevries@suse.de>
+
+       * lib/pascal.exp (gdb_compile_pascal): Remove $destfile before
+       compilation.
+
 2019-08-16  Tom de Vries  <tdevries@suse.de>
 
        * gdb.base/compare-sections.exp ("after run to main"): Allow
index 796c2a781e8e44d8c1fc09f16cded77aec5c5673..dcdbb8d1f954022a7dcd993e3337309b82543e3d 100644 (file)
@@ -153,6 +153,8 @@ proc gdb_compile_pascal {source destfile type options} {
        pascal_init
     }
 
+    file delete $destfile
+
     if { $pascal_compiler_is_fpc == 1 } {
         set result [fpc_compile $source $destfile $type $options]
     } elseif { $pascal_compiler_is_gpc == 1 } {