diff options
Diffstat (limited to 'gdb/testsuite')
-rw-r--r-- | gdb/testsuite/ChangeLog | 14 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/actions.exp | 24 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/report.exp | 14 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/tstatus.exp | 14 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/tsv.exp | 13 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/while-stepping.exp | 24 |
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" +} |