update checkpoint test
authorTom Tromey <tromey@redhat.com>
Fri, 23 Aug 2013 18:18:27 +0000 (12:18 -0600)
committerTom Tromey <tromey@redhat.com>
Mon, 4 Nov 2013 18:02:07 +0000 (11:02 -0700)
This fixes the "checkpoint" test to use the standard output directory.
This makes the test be parallel-safe.

2013-11-04  Tom Tromey  <tromey@redhat.com>

* gdb.base/checkpoint.c (main): Use PI_TXT and COPY1_TXT
defines.
* gdb.base/checkpoint.exp: Define PI_TXT and COPY1_TXT during
compilation.  Use prepare_for_testing, standard_output_file.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/checkpoint.c
gdb/testsuite/gdb.base/checkpoint.exp

index 60cc77e0190eb25f2e66a7fb2ca937db7dc0287e..7f076f89130bbe51b8f156b85d2fdf0fb426f901 100644 (file)
@@ -1,3 +1,10 @@
+2013-11-04  Tom Tromey  <tromey@redhat.com>
+
+       * gdb.base/checkpoint.c (main): Use PI_TXT and COPY1_TXT
+       defines.
+       * gdb.base/checkpoint.exp: Define PI_TXT and COPY1_TXT during
+       compilation.  Use prepare_for_testing, standard_output_file.
+
 2013-11-04  Tom Tromey  <tromey@redhat.com>
 
        * gdb.base/advance.exp: Use standard_testfile and
index c2870944aa6a6e83bd327a7587d2b24b1827bea6..d49804764ebb0195246225c05b21bf2f5ae6fc03 100644 (file)
@@ -28,8 +28,8 @@ main()
   long i;
   int c = 0;
 
-  in  = fopen ("pi.txt", "r");
-  out = fopen ("copy1.txt", "w");
+  in  = fopen (PI_TXT, "r");
+  out = fopen (COPY1_TXT, "w");
 
   if (!in || !out)
     {
@@ -54,6 +54,6 @@ main()
   fclose (in);
   fclose (out);
   printf ("Deleting copy.\n"); /* breakpoint 3 */
-  unlink ("copy1.txt");
+  unlink (COPY1_TXT);
   exit (0);                    /* breakpoint 4 */
 }
index b86fead462bab2c4e8e66d1f0577f94ec051e062..f1af47125b4b05716c827bb56ddb7b7a5c0005cf 100644 (file)
@@ -27,23 +27,25 @@ if {![istarget "*-*-linux*"]} then {
 
 standard_testfile .c
 
-if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
+set pi_txt [gdb_remote_download host ${srcdir}/${subdir}/pi.txt]
+if {[is_remote host]} {
+    set copy1_txt copy1.txt
+} else {
+    set copy1_txt [standard_output_file copy1.txt]
+}
+
+if {[prepare_for_testing ${testfile}.exp $testfile $srcfile \
+        [list debug "additional_flags=-DPI_TXT=\"$pi_txt\" -DCOPY1_TXT=\"$copy1_txt\""]]} {
      untested checkpoint.exp
      return -1
 }
 
-# Start with a fresh gdb
-
-clean_restart ${binfile}
-
 global gdb_prompt
 
 #
 # This tests gdb checkpoint and restart.
 #
 
-remote_download host ${srcdir}/${subdir}/pi.txt pi.txt
-
 runto_main
 set break1_loc [gdb_get_line_number "breakpoint 1"]
 set break2_loc [gdb_get_line_number "breakpoint 2"]
@@ -148,8 +150,8 @@ gdb_test "restart 0" "Switching to .*breakpoint 2.*" "restart 0 one"
 gdb_breakpoint $break3_loc
 gdb_test "continue" "breakpoint 3.*" "break3 one"
 
-gdb_test "shell diff -s pi.txt copy1.txt" \
-    "Files pi.txt and copy1.txt are identical.*" \
+gdb_test "shell diff -s $pi_txt $copy1_txt" \
+    "Files .*pi.txt and .*copy1.txt are identical.*" \
     "Diff input and output one"
 
 #
@@ -201,8 +203,8 @@ gdb_test "continue 1100" "breakpoint 1.*" "breakpoint 1 7 one"
 gdb_test "step" "if .c == EOF.*" "step in 7 two"
 gdb_test "print lines" " = 1162.*" "verify lines 7 two"
 
-gdb_test "shell diff -s pi.txt copy1.txt" \
-    "Files pi.txt and copy1.txt are identical.*" \
+gdb_test "shell diff -s $pi_txt $copy1_txt" \
+    "Files .*pi.txt and .*copy1.txt are identical.*" \
     "Diff input and output two"
 
 # 
@@ -214,8 +216,8 @@ gdb_test "restart 0" "Switching to .*breakpoint 3.*" "restart 0 one"
 gdb_breakpoint $break4_loc
 gdb_test "continue" "breakpoint 4.*" "break4 one"
 
-gdb_test "shell diff pi.txt copy1.txt" \
-    "diff: copy1.txt: No such file or directory" \
+gdb_test "shell diff $pi_txt $copy1_txt" \
+    "diff: .*copy1.txt: No such file or directory" \
     "delete copy1"
 
 delete_breakpoints
@@ -370,4 +372,4 @@ verbose "Timeout now $timeout sec."
 # Finished: cleanup
 #
 
-remote_exec build "rm -f pi.txt"
+remote_exec host "rm -f $pi_txt"