]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/testsuite/gdb.trace/tfile.exp
Update years in copyright notice for the GDB files.
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.trace / tfile.exp
index a3adfcc0370bb42b864875549f52d8e52d3d3c3a..b07be75bc6b38751b020cae8f8e62167db57c936 100644 (file)
@@ -1,4 +1,4 @@
-#   Copyright 2010 Free Software Foundation, Inc.
+#   Copyright 2010-2013 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 
 load_lib "trace-support.exp";
 
-if [target_info exists gdb,nofileio] {
-    verbose "Skipping tfile.exp because of no fileio capabilities."
-    continue
-}
-
-if $tracelevel then {
-    strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
-
 gdb_exit
 gdb_start
-set testfile "tfile"
-set srcfile ${testfile}.c
-set binfile $objdir/$subdir/$testfile
+standard_testfile
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
          executable {debug nowarnings}] != "" } {
-    untested file.exp
+    untested ${testfile}.exp
     return -1
 }
 gdb_reinitialize_dir $srcdir/$subdir
@@ -49,18 +35,15 @@ gdb_reinitialize_dir $srcdir/$subdir
 # Make sure we are starting fresh.
 remote_file host delete basic.tf
 remote_file host delete error.tf
+remote_file target delete basic.tf
+remote_file target delete error.tf
 
-gdb_load $binfile
-
-runto_main
-
-gdb_test "break done_making_trace_files" "" ""
-
-gdb_test "continue" "" ""
+remote_exec target "$binfile"
+# Copy tracefile from target to host through build.
+remote_download host [remote_upload target basic.tf] basic.tf
+remote_download host [remote_upload target error.tf] error.tf
 
-# tsave command would be tested here...
-
-gdb_test "continue" "" ""
+gdb_load $binfile
 
 # Program has presumably exited, now target a trace file it created.
 
@@ -69,10 +52,20 @@ gdb_test "target tfile basic.tf" "Created tracepoint.*" "target tfile"
 gdb_test "info trace" ".*tracepoint.*in write_basic_trace_file.*" \
     "info tracepoints on trace file"
 
-gdb_test "tfind 0" "Found trace frame 0.*" "tfind 0 on trace file"
+gdb_test "tfind 0" \
+    "Found trace frame 0, tracepoint \[0-9\]+.
+\#0  write_basic_trace_file ().*" \
+    "tfind 0 on trace file"
+
+# Note that there is no tracepoint collecting these globals, we
+# just happen to know they are covered by the trace frame.
 
 gdb_test "print testglob" " = 31415" "print testglob on trace file"
 
+gdb_test "print testglob2" " = 271828" "print testglob2 on trace file"
+
+gdb_test "print constglob" " = 10000" "print constglob on trace file"
+
 gdb_test "tfind" "Target failed to find requested trace frame." \
     "tfind does not find a second frame in trace file"
 
@@ -84,6 +77,14 @@ Trace buffer has 256 bytes of 4096 bytes free \\(93% full\\).*
 Looking at trace frame 0, tracepoint .*" \
     "tstatus on trace file"
 
+gdb_test "tfind end" "No longer looking at any trace frame" "leave tfind mode"
+
+gdb_test "backtrace" "No stack\." \
+    "no stack if no traceframe selected"
+
+gdb_test "info registers" "The program has no registers now\." \
+    "no registers if no traceframe selected"
+
 # Now start afresh, using only a trace file.
 
 gdb_exit
@@ -100,3 +101,8 @@ Collected 0 trace frame.*
 Trace buffer has 256 bytes of 4096 bytes free \\(93% full\\).*
 Not looking at any trace frame.*" \
     "tstatus on error trace file"
+
+# Make sure we can reopen without error.
+gdb_test \
+    "interpreter-exec mi \"-target-select tfile basic.tf\"" \
+    "\\^connected.*"