diff options
author | Tom de Vries <tdevries@suse.de> | 2019-05-06 08:42:24 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2019-05-06 08:42:24 +0200 |
commit | 5a56d6a65f8406f1aadb4569fbb8ff00a6e92d02 (patch) | |
tree | d3034dd247a995c5bc52560caaeb13d1cf4e3bdc /gdb/testsuite/gdb.base | |
parent | e1cbf07ac4f8c8525dfadaa19bfb2997a2bfaad9 (diff) | |
download | binutils-5a56d6a65f8406f1aadb4569fbb8ff00a6e92d02.zip binutils-5a56d6a65f8406f1aadb4569fbb8ff00a6e92d02.tar.gz binutils-5a56d6a65f8406f1aadb4569fbb8ff00a6e92d02.tar.bz2 |
[gdb/testsuite] Fix index-cache.exp with cc-with-{gdb-index,debug-names}
In gdb.base/index-cache.exp, handle the case that binfile contains either a
.gdb_index or .debug_names index section.
Tested on x86_64-linux with native, cc-with-gdb-index and cc-with-debug-names.
gdb/testsuite/ChangeLog:
2019-05-06 Tom de Vries <tdevries@suse.de>
* lib/gdb.exp (exec_has_index_section): New proc.
* gdb.base/index-cache.exp: Handle case that binfile contains an index
section.
Diffstat (limited to 'gdb/testsuite/gdb.base')
-rw-r--r-- | gdb/testsuite/gdb.base/index-cache.exp | 39 |
1 files changed, 31 insertions, 8 deletions
diff --git a/gdb/testsuite/gdb.base/index-cache.exp b/gdb/testsuite/gdb.base/index-cache.exp index 4e583ab..5baba84 100644 --- a/gdb/testsuite/gdb.base/index-cache.exp +++ b/gdb/testsuite/gdb.base/index-cache.exp @@ -22,6 +22,8 @@ if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } { return } +set has_index_section [exec_has_index_section $binfile] + # List the files in DIR on the host (where GDB-under-test runs). # Return a list of two elements: # - 0 on success, -1 on failure @@ -122,10 +124,12 @@ proc_with_prefix test_cache_disabled { cache_dir } { } } -# Test with the cache enabled, we expect to have exactly one file created. +# Test with the cache enabled, we expect to have: +# - exactly one file created, in case of no index section +# - no file created, in case of an index section proc_with_prefix test_cache_enabled_miss { cache_dir } { - global testfile + global testfile has_index_section lassign [ls_host $cache_dir] ret files_before @@ -133,7 +137,11 @@ proc_with_prefix test_cache_enabled_miss { cache_dir } { lassign [ls_host $cache_dir] ret files_after set nfiles_created [expr [llength $files_after] - [llength $files_before]] - gdb_assert "$nfiles_created > 0" "at least one file was created" + if { $has_index_section } { + gdb_assert "$nfiles_created == 0" "no file was created" + } else { + gdb_assert "$nfiles_created > 0" "at least one file was created" + } set build_id [get_build_id [standard_output_file ${testfile}]] if { $build_id == "" } { @@ -143,19 +151,30 @@ proc_with_prefix test_cache_enabled_miss { cache_dir } { set expected_created_file [list "${build_id}.gdb-index"] set found_idx [lsearch -exact $files_after $expected_created_file] - gdb_assert "$found_idx >= 0" "expected file is there" + if { $has_index_section } { + gdb_assert "$found_idx == -1" "no index cache file generated" + } else { + gdb_assert "$found_idx >= 0" "expected file is there" + } remote_exec host rm "-f $cache_dir/$expected_created_file" - check_cache_stats 0 1 + if { $has_index_section } { + check_cache_stats 0 0 + } else { + check_cache_stats 0 1 + } } } -# Test with the cache enabled, this time we should have one file (the -# same), but one cache read hit. +# Test with the cache enabled, this time we should have: +# - one file (the same), but one cache read hit, in case of no index section +# - no file, no cache hit, in case an an index section proc_with_prefix test_cache_enabled_hit { cache_dir } { + global has_index_section + # Just to populate the cache. run_test_with_flags $cache_dir on {} @@ -166,7 +185,11 @@ proc_with_prefix test_cache_enabled_hit { cache_dir } { set nfiles_created [expr [llength $files_after] - [llength $files_before]] gdb_assert "$nfiles_created == 0" "no files were created" - check_cache_stats 1 0 + if { $has_index_section } { + check_cache_stats 0 0 + } else { + check_cache_stats 1 0 + } } } |