aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/ChangeLog14
-rw-r--r--gdb/testsuite/gdb.trace/actions.exp24
-rw-r--r--gdb/testsuite/gdb.trace/report.exp14
-rw-r--r--gdb/testsuite/gdb.trace/tstatus.exp14
-rw-r--r--gdb/testsuite/gdb.trace/tsv.exp13
-rw-r--r--gdb/testsuite/gdb.trace/while-stepping.exp24
6 files changed, 103 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 574aff8..92d8ff3 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,19 @@
2013-04-10 Yao Qi <yao@codesourcery.com>
+ * gdb.trace/actions.exp: Save trace data to CTF.
+ Change to ctf target if GDB supports, read CTF data in ctf
+ target, and check the actions of tracepoints.
+ * gdb.trace/while-stepping.exp: Likewise.
+ * gdb.trace/report.exp: Test GDB saves trace data to CTF
+ format and read CTF trace file if GDB supports.
+ * gdb.trace/tstatus.exp: Save trace data to CTF. If ctf
+ target is supported, change to ctf target, read trace data and
+ check output of command "tstatus".
+ * gdb.trace/tsv.exp: Save trace frame to CTF. If GDB supports,
+ read CTF data by target ctf and call check_tsv.
+
+2013-04-10 Yao Qi <yao@codesourcery.com>
+
* gdb.trace/actions.exp (check_tracepoint): New.
(top level): Start the tracing and check the actions of
tracepoints. Save trace data to tfile format. Restart GDB
diff --git a/gdb/testsuite/gdb.trace/actions.exp b/gdb/testsuite/gdb.trace/actions.exp
index 5fa1b97..be2bb3e 100644
--- a/gdb/testsuite/gdb.trace/actions.exp
+++ b/gdb/testsuite/gdb.trace/actions.exp
@@ -310,6 +310,9 @@ gdb_test_no_output "tstop" ""
set tracefile [standard_output_file ${testfile}]
gdb_test "tsave ${tracefile}.tf" \
"Trace data saved to file '${tracefile}.tf'\.\\r"
+gdb_test "tsave -ctf ${tracefile}.ctf" \
+ "Trace data saved to directory '${tracefile}.ctf'\.\\r" \
+ "save ctf trace file"
# Restart GDB and read the trace data in tfile target.
gdb_exit
@@ -319,3 +322,24 @@ gdb_file_cmd $binfile
gdb_test "target tfile ${tracefile}.tf" ".*" \
"change to tfile target"
check_tracepoint "tfile"
+
+# Try to read ctf data if GDB supports.
+set gdb_can_read_ctf_data 0
+gdb_test_multiple "target ctf" "" {
+ -re "Undefined target command: \"ctf\"\. Try \"help target\"\.\r\n$gdb_prompt $" {
+ set gdb_can_read_ctf_data 0
+ }
+ -re "No CTF directory specified.*\r\n$gdb_prompt $" {
+ set gdb_can_read_ctf_data 1
+ }
+}
+
+if { $gdb_can_read_ctf_data } {
+ gdb_exit
+ gdb_start
+ gdb_reinitialize_dir $srcdir/$subdir
+ gdb_file_cmd $binfile
+ gdb_test "target ctf ${tracefile}.ctf" ".*" \
+ "change to ctf target"
+ check_tracepoint "ctf"
+}
diff --git a/gdb/testsuite/gdb.trace/report.exp b/gdb/testsuite/gdb.trace/report.exp
index 3c3025d..8bb71e4 100644
--- a/gdb/testsuite/gdb.trace/report.exp
+++ b/gdb/testsuite/gdb.trace/report.exp
@@ -412,6 +412,11 @@ gdb_test "tsave ${tracefile}.tf" \
"Trace data saved to file '${tracefile}.tf'.*" \
"save tfile trace file"
+# Save trace frames to ctf.
+gdb_test "tsave -ctf ${tracefile}.ctf" \
+ "Trace data saved to directory '${tracefile}.ctf'.*" \
+ "save ctf trace file"
+
# Change target to tfile.
set test "change to tfile target"
gdb_test_multiple "target tfile ${tracefile}.tf" "$test" {
@@ -425,3 +430,12 @@ gdb_test_multiple "target tfile ${tracefile}.tf" "$test" {
}
# Test the collected trace frames from tfile.
use_collected_data "tfile"
+
+# Try to read ctf data if GDB supports.
+gdb_test_multiple "target ctf ${tracefile}.ctf" "" {
+ -re "Undefined target command: \"ctf ${tracefile}.ctf\"\. Try \"help target\"\.\r\n$gdb_prompt $" {
+ }
+ -re ".*\r\n$gdb_prompt $" {
+ use_collected_data "ctf"
+ }
+}
diff --git a/gdb/testsuite/gdb.trace/tstatus.exp b/gdb/testsuite/gdb.trace/tstatus.exp
index 74d0c27..c709ad8 100644
--- a/gdb/testsuite/gdb.trace/tstatus.exp
+++ b/gdb/testsuite/gdb.trace/tstatus.exp
@@ -142,6 +142,10 @@ set tracefile [standard_output_file ${testfile}]
gdb_test "tsave ${tracefile}.tf" \
"Trace data saved to file '${tracefile}.tf'.*" \
"save tfile trace file"
+# Save trace frames to CTF.
+gdb_test "tsave -ctf ${tracefile}.ctf" \
+ "Trace data saved to directory '${tracefile}.ctf'.*" \
+ "save ctf trace file"
# Change target to tfile.
set test "change to tfile target"
@@ -162,3 +166,13 @@ set tstatus_output [string map {\) \\)} $tstatus_output]
# The status should be identical to the status of live inferior.
gdb_test "tstatus" "Using a trace file\.\r\n${tstatus_output}.*" \
"tstatus on tfile target"
+
+# Change target to ctf if GDB supports.
+gdb_test_multiple "target ctf ${tracefile}.ctf" "" {
+ -re "Undefined target command: \"ctf ${tracefile}.ctf\"\. Try \"help target\"\.\r\n$gdb_prompt $" {
+ }
+ -re ".*\r\n$gdb_prompt $" {
+ gdb_test "tstatus" "Using a trace file\.\r\n${tstatus_output}.*" \
+ "tstatus on ctf target"
+ }
+}
diff --git a/gdb/testsuite/gdb.trace/tsv.exp b/gdb/testsuite/gdb.trace/tsv.exp
index 6e88adc..76b8645 100644
--- a/gdb/testsuite/gdb.trace/tsv.exp
+++ b/gdb/testsuite/gdb.trace/tsv.exp
@@ -147,6 +147,10 @@ set tracefile [standard_output_file ${testfile}]
gdb_test "tsave ${tracefile}.tf" \
"Trace data saved to file '${tracefile}.tf'.*" \
"save tfile trace file"
+# Save trace frames to ctf.
+gdb_test "tsave -ctf ${tracefile}.ctf" \
+ "Trace data saved to directory '${tracefile}.ctf'.*" \
+ "save ctf trace file"
proc check_tsv { data_source } {
with_test_prefix "${data_source}" {
@@ -174,4 +178,13 @@ gdb_test_multiple "target tfile ${tracefile}.tf" "$test" {
}
# Check the tsv from tfile.
+
check_tsv "tfile"
+# Try to read ctf data if GDB supports.
+gdb_test_multiple "target ctf ${tracefile}.ctf" "" {
+ -re "Undefined target command: \"ctf ${tracefile}.ctf\"\. Try \"help target\"\.\r\n$gdb_prompt $" {
+ }
+ -re ".*\r\n$gdb_prompt $" {
+ check_tsv "ctf"
+ }
+}
diff --git a/gdb/testsuite/gdb.trace/while-stepping.exp b/gdb/testsuite/gdb.trace/while-stepping.exp
index 0b823a4..da9b14a 100644
--- a/gdb/testsuite/gdb.trace/while-stepping.exp
+++ b/gdb/testsuite/gdb.trace/while-stepping.exp
@@ -136,6 +136,9 @@ set tracefile [standard_output_file ${testfile}]
gdb_test "tsave ${tracefile}.tf" \
"Trace data saved to file '${tracefile}.tf'\.\\r" \
"save tfile trace file"
+gdb_test "tsave -ctf ${tracefile}.ctf" \
+ "Trace data saved to directory '${tracefile}.ctf'\.\\r" \
+ "save ctf trace file"
# Restart GDB and read the trace data in tfile target.
gdb_exit
@@ -145,3 +148,24 @@ gdb_file_cmd $binfile
gdb_test "target tfile ${tracefile}.tf" ".*" \
"change to tfile target"
check_tracepoint "tfile"
+
+# Try to read ctf data if GDB supports.
+set gdb_can_read_ctf_data 0
+gdb_test_multiple "target ctf" "" {
+ -re "Undefined target command: \"ctf\"\. Try \"help target\"\.\r\n$gdb_prompt $" {
+ set gdb_can_read_ctf_data 0
+ }
+ -re "No CTF directory specified.*\r\n$gdb_prompt $" {
+ set gdb_can_read_ctf_data 1
+ }
+}
+
+if { $gdb_can_read_ctf_data } {
+ gdb_exit
+ gdb_start
+ gdb_reinitialize_dir $srcdir/$subdir
+ gdb_file_cmd $binfile
+ gdb_test "target ctf ${tracefile}.ctf" ".*" \
+ "change to ctf target"
+ check_tracepoint "ctf"
+}