[gdb/testsuite] Add wait-for-index-cache in gdb.dwarf2/per-bfd-sharing.exp
authorTom de Vries <tdevries@suse.de>
Thu, 26 Oct 2023 08:34:24 +0000 (10:34 +0200)
committerTom de Vries <tdevries@suse.de>
Thu, 26 Oct 2023 08:34:24 +0000 (10:34 +0200)
If we make writing an index-cache entry very slow by doing this in
index_cache::store:
...
   try
     {
+      sleep (15);
       index_cache_debug ("writing index cache for objfile %s",
   bfd_get_filename (per_bfd->obfd));
...
we run into:
...
FAIL: gdb.dwarf2/per-bfd-sharing.exp: \
  couldn't remove files in temporary cache dir
...

The FAIL happens because there is no index-cache entry in the cache dir.

The problem is that gdb is killed (by gdb_exit) before the index-cache entry
is written.

Fix this by using "maint wait-for-index-cache".

Tested on x86_64-linux.

PR testsuite/30528
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30528

gdb/testsuite/gdb.dwarf2/per-bfd-sharing.exp

index dd15e881d0c09de0645b0c5938894cb0e3e544a2..6875df5867f54dc32a2ed1fc6a1616499ff76f0b 100644 (file)
@@ -48,6 +48,7 @@ with_test_prefix "populate index cache" {
        "set index-cache directory"
     gdb_test_no_output "set index-cache enabled on"
     gdb_test "file $host_binfile" "Reading symbols from .*" "file"
+    gdb_test_no_output "maint wait-for-index-cache"
 }
 
 proc load_binary { method } {