gdb/qa.sh
Tom de Vries c8226c1e04 Accepting request 991863 from home:tomdevries:branches:devel:gcc-gdb-gdb-12-1-update
- Maintenance script qa.sh:
  * Add SLE-12/x86_64 to "known clean configs".
  * Add fail for PR29405.
  * Add fail for PR26915.
- Patches added:
  * gdb-testsuite-fix-gdb.threads-killed-outside.exp-on-aarch64.patch
- Maintenance script qa.sh:
  * Remove PR29247 internal-error.
  * Add SLE-15/aarch64 to "known clean configs".
- Patches added:
  * gdb-fix-watchpoints-triggered.patch
- Maintenance script qa.sh:
  * Add kfails for PR25038, PR29253, and PR29423.
  * Remove gdb.mi/mi-var-invalidate-shlib.exp kfails.
- Mention qa-local.sh, qa-remote.sh and README.qa as sources.
- Maintenance script qa-local.sh:
  * Use have_combo consistently.
- Maintenance script qa.sh:
  * Add kfail_aarch64.
  * Add PR29419/PR29409 kfails.
  * Update PR29247 kfails.
- Patches added:
  * make-gdb.ada-float-bits.exp-more-generic.patch
  * gdb-testsuite-fix-gdb.ada-literals.exp-with-aarch64.patch
- Actually apply fixup-gdb-test-bt-cfi-without-die.patch and
  fixup-2-gdb-rhbz1553104-s390x-arch12-test.patch.
- Also remove gdb-6.5-readline-long-line-crash-test.patch from
  patches list in gdb.spec.
- Patches added:
  * powerpc-add-support-for-ieee-128-bit-format.patch
  * powerpc-correct-the-gdb-ioctl-values-for-tcgets-tcsets-tcsetsw-and-tcsetsf.patch
  * gdb-testsuite-remove-target-limits-in-gdb.base-catch-syscall.exp.patch
  * powerpc-fix-for-gdb.base-eh_return.exp.patch
  * fix-comparison-of-unsigned-long-int-to-int-in-record_linux_system_call.patch
  * gdb-testsuite-fix-gdb.reverse-test_ioctl_tcsetsw.exp-with-libc-debuginfo.patch
  * fixup-gdb-test-bt-cfi-without-die.patch
  * fix-core-file-detach-crash-corefiles-29275.patch
  * gdb-testsuite-fix-gdb.dwarf2-dw2-out-of-range-end-of-seq.exp-on-aarch64.patch
  * gdb-testsuite-fix-gdb.base-catch-syscall.exp-without-enable-targets.patch
  * gdb-testsuite-fix-gdb.base-catch-syscall.exp-with-with-expat-no.patch
  * fix-for-gdb.base-solib-search.exp-test.patch
- Patch removed:
  * gdb-6.7-ppc-clobbered-registers-O2-test.patch
  * gdb-6.5-readline-long-line-crash-test.patch
- Patches updated:
  * gdb-tdep-update-syscalls-ppc64-ppc-linux.xml.patch
  * gdb-testsuite-handle-pipe2-syscall-in-gdb.base-catch-syscall.exp.patch
- Maintenance script qa.sh:
  * Add PR28504 KFAILs.
  * Make .sum file matching less complex.
  * Add fedora test-case kfail.
- Maintenance script qa-local.sh:
  * Fix incorrect path name.
- Update comments in gdb.spec.
- Patches added:
  * powerpc-update-expected-floating-point-output-for-gdb.arch-altivec-regs.exp-and-gdb.arch-vsx-regs.exp.patch
- Patches updated:
  * gdb-testsuite-support-recording-of-getrandom.patch
    (add aarch64 part)
- Maintenance script qa.sh:
  * Add i586 to known clean configs.
- Patches added:
  * gdb-testsuite-enable-some-test-cases-for-x86_64-m32.patch
  * gdb-testsuite-fix-gdb.reverse-i387-env-reverse.exp-for-pie.patch
  * gdb-testsuite-support-recording-of-getrandom.patch
- Patches updated:
  * gdb-record-handle-statx-system-call.patch
- Maintenance script qa.sh:
  * Allow only two summary files, for i586.
  * Add i586 KFAILs. 
- Maintenance script qa-local.sh:
  * Add i586.
- Maintenance script qa-local.sh:
  * Fix rpm pathname.
- Maintenance script qa-remote.sh:
  * Skip stale config openSUSE_Leap_15.2.
- Maintenance script qa.sh:
  * Drop known clean config: Leap 15.2 x86_64.
- Maintenance script qa-local.sh:
  * Add cleanup step.
  * Add "build all configs without testsuite" step.
  * For "build all configs with testsuite" step, redirect output
    to log and produce PASS/FAIL line, and make sure buildroot is
    removed also in case of missing rpm.
  * Use "--clean --trust-all-projects" for osc build commands.
* Drop openSUSE_Leap_15.2.
- Maintenance script qa.sh:
  * Rename argument 6 to -local.
  * Add PR29247 KFAILs.
  * Update internal-error regexps.
- New maintenance script qa-remote.sh.
- Add "build all configs without testsuite" step in README.qa.
- Patches added (backport from trunk):
  * gdb-testsuite-remove-attach-test-from-can_spawn_for_attach.patch
- README.qa:
  * Add remote qa entry.
  * Update local qa entry:
    * Add notes entry.
    * Other updates to match changes in qa-local.sh.
- Fix installed but unpackaged /usr/share/info/ctf-spec.info.gz.
- Rebase to 12.1 release (as in fedora 36 @ 89947a7):
  * DBX mode is deprecated, and will be removed in GDB 13.
  * GDB 12 is the last release of GDB that will support building against
    Python 2.  From GDB 13, it will only be possible to build GDB itself
    with Python 3 support.
  * Improved C++ template support:
    GDB now treats functions/types involving C++ templates like it does function
    overloads.  Users may omit parameter lists to set breakpoints on families of
    template functions, including types/functions composed of multiple template types:
      (gdb) break template_func(template_1, int)
    The above will set breakpoints at every function `template_func' where
    the first function parameter is any template type named `template_1' and
    the second function parameter is `int'.
    TAB completion also gains similar improvements.
  * New commands:
    maint set backtrace-on-fatal-signal on|off
    maint show backtrace-on-fatal-signal
    This setting is 'on' by default.  When 'on' GDB will print a limited
    backtrace to stderr in the situation where GDB terminates with a
    fatal signal.  This only supported on some platforms where the
    backtrace and backtrace_symbols_fd functions are available.
    set source open on|off
    show source open
    This setting, which is on by default, controls whether GDB will try
    to open source code files.  Switching this off will stop GDB trying
    to open and read source code files, which can be useful if the files
    are located over a slow network connection.
    set varsize-limit
    show varsize-limit
    These are now deprecated aliases for "set max-value-size" and
    "show max-value-size".
    task apply [all | TASK-IDS...] [FLAG]... COMMAND
    Like "thread apply", but applies COMMAND to Ada tasks.
    watch [...] task ID
    Watchpoints can now be restricted to a specific Ada task.
    maint set internal-error backtrace on|off
    maint show internal-error backtrace
    maint set internal-warning backtrace on|off
    maint show internal-warning backtrace
    GDB can now print a backtrace of itself when it encounters either an
    internal-error, or an internal-warning.  This is on by default for
    internal-error and off by default for internal-warning.
    set logging on|off
    Deprecated and replaced by "set logging enabled on|off".
    set logging enabled on|off
    show logging enabled
    These commands set or show whether logging is enabled or disabled.
    exit
    You can now exit GDB by using the new command "exit", in addition to
    the existing "quit" command.
    set debug threads on|off
    show debug threads
    Print additional debug messages about thread creation and deletion.
    set debug linux-nat on|off
    show debug linux-nat
    These new commands replaced the old 'set debug lin-lwp' and 'show
    debug lin-lwp' respectively.  Turning this setting on prints debug
    messages relating to GDB's handling of native Linux inferiors.
    maint flush source-cache
    Flush the contents of the source code cache.
    maint set gnu-source-highlight enabled on|off
    maint show gnu-source-highlight enabled
    Whether GDB should use the GNU Source Highlight library for adding
    styling to source code.  When off, the library will not be used, even
    when available.  When GNU Source Highlight isn't used, or can't add
    styling to a particular source file, then the Python Pygments
    library will be used instead.
    set suppress-cli-notifications (on|off)
    show suppress-cli-notifications
    This controls whether printing the notifications is suppressed for CLI.
    CLI notifications occur when you change the selected context
    (i.e., the current inferior, thread and/or the frame), or when
    the program being debugged stops (e.g., because of hitting a
    breakpoint, completing source-stepping, an interrupt, etc.).
    set style disassembler enabled on|off
    show style disassembler enabled
    If GDB is compiled with Python support, and the Python Pygments
    package is available, then, when this setting is on, disassembler
    output will have styling applied.
    set ada source-charset
    show ada source-charset
    Set the character set encoding that is assumed for Ada symbols.  Valid
    values for this follow the values that can be passed to the GNAT
    compiler via the '-gnati' option.  The default is ISO-8859-1.
  * Changed commands:
    print
    Printing of floating-point values with base-modifying formats like
    /x has been changed to display the underlying bytes of the value in
    the desired base.  This was GDB's documented behavior, but was never
    implemented correctly.
    maint packet
    This command can now print a reply, if the reply includes
    non-printable characters.  Any non-printable characters are printed
    as escaped hex, e.g. \x?? where '??' is replaces with the value of
    the non-printable character.
    clone-inferior
    The clone-inferior command now ensures that the TTY, CMD and ARGS
    settings are copied from the original inferior to the new one.
    All modifications to the environment variables done using the 'set
    environment' or 'unset environment' commands are also copied to the new
    inferior.
    set debug lin-lwp on|off
    show debug lin-lwp
    These commands have been removed from GDB.  The new command 'set
    debug linux-nat' and 'show debug linux-nat' should be used
    instead.
    info win
    This command now includes information about the width of the tui
    windows in its output.
  * GDB's Ada parser now supports an extension for specifying the exact
    byte contents of a floating-point literal.  This can be useful for
    setting floating-point registers to a precise value without loss of
    precision.  The syntax is an extension of the based literal syntax.
    Use, e.g., "16lf#0123abcd#" -- the number of "l"s controls the width
    of the floating-point type, and the "f" is the marker for floating
    point.
  * MI changes:
   ** The '-add-inferior' with no option flags now inherits the
      connection of the current inferior, this restores the behaviour of
      GDB as it was prior to GDB 10.
   ** The '-add-inferior' command now accepts a '--no-connection'
      option, which causes the new inferior to start without a
      connection.
  * Python API:
    ** New function gdb.add_history(), which takes a gdb.Value object
       and adds the value it represents to GDB's history list.  An
       integer, the index of the new item in the history list, is
       returned.
    ** New function gdb.history_count(), which returns the number of
       values in GDB's value history.
    ** New gdb.events.gdb_exiting event.  This event is called with a
       gdb.GdbExitingEvent object which has the read-only attribute
       'exit_code', which contains the value of the GDB exit code.  This
       event is triggered once GDB decides it is going to exit, but
       before GDB starts to clean up its internal state.
    ** New function gdb.architecture_names(), which returns a list
       containing all of the possible Architecture.name() values.  Each
       entry is a string.
    ** New function gdb.Architecture.integer_type(), which returns an
       integer type given a size and a signed-ness.
    ** New gdb.TargetConnection object type that represents a connection
       (as displayed by the 'info connections' command).  A sub-class,
       gdb.RemoteTargetConnection, is used to represent 'remote' and
       'extended-remote' connections.
    ** The gdb.Inferior type now has a 'connection' property which is an
       instance of gdb.TargetConnection, the connection used by this
       inferior.  This can be None if the inferior has no connection.
    ** New 'gdb.events.connection_removed' event registry, which emits a
       'gdb.ConnectionEvent' when a connection is removed from GDB.
       This event has a 'connection' property, a gdb.TargetConnection
       object for the connection being removed.
    ** New gdb.connections() function that returns a list of all
       currently active connections.
    ** New gdb.RemoteTargetConnection.send_packet(PACKET) method.  This
       is equivalent to the existing 'maint packet' CLI command; it
       allows a user specified packet to be sent to the remote target.
    ** New function gdb.host_charset(), returns a string, which is the
       name of the current host charset.
    ** New gdb.set_parameter(NAME, VALUE).  This sets the gdb parameter
       NAME to VALUE.
    ** New gdb.with_parameter(NAME, VALUE).  This returns a context
       manager that temporarily sets the gdb parameter NAME to VALUE,
       then resets it when the context is exited.
    ** The gdb.Value.format_string method now takes a 'styling'
       argument, which is a boolean.  When true, the returned string can
       include escape sequences to apply styling.  The styling will only
       be present if styling is otherwise turned on in GDB (see 'help
       set styling').  When false, which is the default if the argument
       is not given, then no styling is applied to the returned string.
    ** New read-only attribute gdb.InferiorThread.details, which is
       either a string, containing additional, target specific thread
       state information, or None, if there is no such additional
       information.
    ** New read-only attribute gdb.Type.is_scalar, which is True for
       scalar types, and False for all other types.
    ** New read-only attribute gdb.Type.is_signed.  This attribute
       should only be read when Type.is_scalar is True, and will be True
       for signed types, and False for all other types.  Attempting to
       read this attribute for non-scalar types will raise a ValueError.
    ** It is now possible to add GDB/MI commands implemented in Python.
- Update libipt to v2.0.5.
- Patches added:
  * gdb-6.3-rh-testversion-20041202.patch
  * gdb-6.5-BEA-testsuite.patch
  * gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch
  * gdb-6.7-charsign-test.patch
  * gdb-6.8-bz466901-backtrace-full-prelinked.patch
  * gdb-fix-for-gdb.base-eof-exit.exp-test-failures.patch
  * gdb-improved-eof-handling-when-using-readline-7.patch
  * gdb-libexec-add-index.patch
  * gdb-tdep-detect-get_pc_thunk-call-in-i386-prologue.patch
  * gdb-testsuite-address-test-failures-in-gdb.mi-mi-multi-commands.exp.patch
  * gdb-testsuite-detect-change-instead-of-init-in-gdb.mi-mi-var-block.exp.patch
  * gdb-testsuite-fix-gdb.opt-clobbered-registers-o2.exp-with-gcc-12.patch
  * gdb-testsuite-fix-occasional-failure-in-gdb.mi-mi-multi-commands.exp.patch
  * gdb-testsuite-fix-test-failure-when-building-against-readline-v7.patch
  * gdb-testsuite-handle-older-python-in-gdb.python-py-send-packet.py.patch
  * gdb-testsuite-handle-quotes-in-gdb_py_module_available.patch
  * gdb-testsuite-handle-unordered-dict-in-gdb.python-py-mi-cmd.exp.patch
  * gdb-testsuite-skip-gdb.fortran-namelist.exp-for-gfortran-4.8.patch
  * gdb-testsuite-workaround-unnecessary-.s-file-with-gfortran-4.8.patch
- Patches dropped:
  * aarch64-make-gdbserver-register-set-selection-dynamic.patch
  * fix-build-with-current-gcc-el_explicit-location-always-non-null.patch
  * fix-gdb.base-sigstep.exp-test-for-ppc.patch
  * fix-gdb.multi-multi-term-settings.exp-race.patch
  * fixup-2-gdb-6.6-buildid-locate.patch
  * fixup-gdb-6.6-buildid-locate.patch
  * gdb-6.3-inferior-notification-20050721.patch
  * gdb-ada-fix-assert-in-ada_is_unconstrained_packed_array_type.patch
  * gdb-build-add-cxx_dialect-to-cxx.patch
  * gdb-build-make-c-exp.y-work-with-bison-3.8.patch
  * gdb-doc-fix-print-inferior-events-default.patch
  * gdb-exp-improve-error-reading-variable-message.patch
  * gdb-fortran-handle-dw-at-string-length-with-loclistptr.patch
  * gdb-r_version-check.patch
  * gdb-rhbz1976887-field-location-kind.patch
  * gdb-rhbz2012976-paper-over-fortran-lex-problems.patch
  * gdb-symtab-add-call_site_eq-and-call_site_hash.patch
  * gdb-symtab-c-ify-call_site.patch
  * gdb-symtab-fix-htab_find_slot-call-in-read_call_site_scope.patch
  * gdb-symtab-fix-segfault-in-search_one_symtab.patch
  * gdb-symtab-remove-compunit_call_site_htab.patch
  * gdb-symtab-use-unrelocated-addresses-in-call_site.patch
  * gdb-tdep-fix-avx512-m32-support-in-gdbserver.patch
  * gdb-tdep-rs6000-don-t-skip-system-call-in-skip_prologue.patch
  * gdb-test-for-rhbz1976887.patch
  * gdb-testsuite-add-gdb.arch-ppc64-break-on-_exit.exp.patch
  * gdb-testsuite-add-gdb.opt-break-on-_exit.exp.patch
  * gdb-testsuite-add-gdb.testsuite-dump-system-info.exp.patch
  * gdb-testsuite-add-missing-wait-in-gdb.base-signals-state-child.exp.patch
  * gdb-testsuite-add-nopie-in-two-test-cases.patch
  * gdb-testsuite-detect-no-mpx-support.patch
  * gdb-testsuite-disable-inferior-output-in-gdb.base-foll-vfork.exp.patch
  * gdb-testsuite-don-t-error-when-trying-to-unset-last_spawn_tty_name.patch
  * gdb-testsuite-factor-out-dump_info-in-gdb.testsuite-dump-system-info.exp.patch
  * gdb-testsuite-fix-assembly-comments-in-gdb.dwarf2-clang-debug-names.exp.tcl.patch
  * gdb-testsuite-fix-data-alignment-in-gdb.arch-i386-avx-sse-.exp.patch
  * gdb-testsuite-fix-fail-in-gdb.base-annota1.exp.patch
  * gdb-testsuite-fix-fail-in-gdb.tui-basic.exp.patch
  * gdb-testsuite-fix-fail-in-gdb.tui-corefile-run.exp.patch
  * gdb-testsuite-fix-gdb.ada-big_packed_array.exp-xfail-for-m32.patch
  * gdb-testsuite-fix-gdb.arch-i386-pkru.exp-on-linux.patch
  * gdb-testsuite-fix-gdb.base-annota1.exp-with-pie.patch
  * gdb-testsuite-fix-gdb.base-dcache-flush.exp.patch
  * gdb-testsuite-fix-gdb.gdb-selftest.exp.patch
  * gdb-testsuite-fix-gdb.guile-scm-type.exp-with-gcc-4.8.patch
  * gdb-testsuite-fix-gdb.python-py-events.exp.patch
  * gdb-testsuite-fix-gdb.server-server-kill.exp-with-m32.patch
  * gdb-testsuite-fix-gdb.threads-check-libthread-db.exp-with-glibc-2.34.patch
  * gdb-testsuite-fix-gdb.threads-linux-dp.exp.patch
  * gdb-testsuite-fix-gdb.threads-thread-specific-bp.exp.patch
  * gdb-testsuite-fix-port-detection-in-gdb.debuginfod-fetch_src_and_symbols.exp.patch
  * gdb-testsuite-fix-regexp-in-gdb.base-foll-vfork.exp.patch
  * gdb-testsuite-fix-stepi-test-cases-with-unix-m32-fpie-pie.patch
  * gdb-testsuite-handle-recursive-internal-problem-in-gdb_internal_error_resync.patch
  * gdb-testsuite-handle-runto-fail-in-gdb.mi-mi-var-cp.exp.patch
  * gdb-testsuite-handle-sigill-in-two-gdb.arch-powerpc-test-cases.patch
  * gdb-testsuite-handle-supports_memtag-in-gdb.base-gdb-caching-proc.exp.patch
  * gdb-testsuite-make-gdb.base-annota1.exp-more-robust.patch
  * gdb-testsuite-refactor-regexp-in-gdb.base-annota1.exp.patch
  * gdb-testsuite-support-fpie-fno-pie-pie-no-pie-in-gdb_compile_rust.patch
  * gdb-testsuite-update-test-gdb.base-step-over-syscall.exp.patch
  * gdb-testsuite-use-compiler-generated-instead-of-gas-generated-stabs.patch
  * gdb-tui-fix-breakpoint-display-functionality.patch
  * ibm-z-add-another-arch14-instruction.patch
  * ibm-z-remove-lpswey-parameter.patch
- Patched updated:
  * gdb-6.3-gstack-20050411.patch
  * gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
  * gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
  * gdb-6.6-buildid-locate-rpm-scl.patch
  * gdb-6.6-buildid-locate-rpm.patch
  * gdb-6.6-buildid-locate-solib-missing-ids.patch
  * gdb-6.6-buildid-locate.patch
  * gdb-cli-add-ignore-errors-command.patch
  * gdb-container-rh-pkg.patch
  * gdb-core-open-vdso-warning.patch
  * gdb-fedora-libncursesw.patch
  * gdb-gcore-bash.patch
  * gdb-linux_perf-bundle.patch
  * gdb-testsuite-handle-init-errors-in-gdb.mi-user-selected-context-sync.exp.patch
- Add BuildRequires python-xml.
- Maintenance script qa.sh:
  * Add -sle-12 and -factory options.
  * Handle *.-fPIE.-pie.sum files.
  * Add KFAILs for PRs 26292, 29238, 25059, 29240, 29241, 29244,
    29245, 29160, 29196.
  * Move PR27539 KFAILs from kfail_factory to kfail.
- New maintenance script qa-local.sh.
- New file README.qa.

OBS-URL: https://build.opensuse.org/request/show/991863
OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=325
2022-07-31 08:10:33 +00:00

572 lines
24 KiB
Bash

#!/bin/bash
# Note:
# Occasionally we run into PR28561 - "[gdb/testsuite] Error due to not
# reading \r\n at end of mi prompt".
# https://sourceware.org/bugzilla/show_bug.cgi?id=28561
# Not sure how to filter for that.
# TODO:
#
# We run into FAILs like this:
# FAIL: gdb.base/options.exp: test-print: \
# tab complete "thread apply all print " (clearing input line) (timeout)
# FAIL: gdb.base/options.exp: test-print: \
# cmd complete "thread apply all print "
# in various test-cases. One instance is reported here (
# https://sourceware.org/bugzilla/show_bug.cgi?id=27813 ).
# We could do a generic kfail for "(clearing input line) (timeout)", but that
# doesn't filter out the following FAIL. We need to update the testsuite to
# emit only one FAIL for this, or alternatively, add a possibility in this
# script to KFAIL one and all following FAILs in the same test-case.
usage ()
{
echo "usage: $0 <1-5>"
echo " $0 -local [ -sle12 | -factory ] <dir>"
echo
echo "Verify remote results at:"
echo " ./binaries-testsuite.distro.arch/gdb-testresults"
echo "1: gdb.sum: Check for 'FAIL: .* internal error' (all configs)"
echo "2: gdb.sum: Check for 'ERROR:' (all configs)"
echo "3: gdb.log: Check for 'internal-error:' (all configs)"
echo "4: gdb.sum: Check FAIL and ERROR (known clean configs)"
echo "5: gdb.sum: Check gdb.suse PASS (all configs)"
echo
echo "Verify local results at:"
echo " \$dir"
echo "-local: gdb.sum: Check FAIL and ERROR"
}
if [ $# -eq 0 ]; then
usage
exit 1
fi
n="$1"
shift
have_sle12=false
have_factory=false
have_aarch64=false
if [ "$n" = "-local" ]; then
while [ $# -gt 1 ]; do
case $1 in
-sle12)
have_sle12=true
;;
-factory)
have_factory=true
;;
-aarch64)
have_aarch64=true
;;
*)
echo "Don't know how to handle arg: $1"
usage
exit 1
;;
esac
shift 1
done
dir="$1"
shift
fi
echo_line ()
{
for n in "$@"; do
echo "$n"
done
}
join ()
{
local char
char="$1"
shift
local res
res=""
local first
first=true
for elem in "$@"; do
if $first; then
first=false
else
res+="$char"
fi
res+="$elem"
done
echo "$res"
}
report_sum ()
{
local sum
sum="$1"
echo
echo "$sum:"
if [ ! -f "$sum" ]; then
echo "MISSING"
return
fi
kfail_re=$(join "|" "${kfail[@]}")
echo FAILs:
grep ^FAIL: "$sum" \
| grep -E -v "$kfail_re"
echo ERROR COUNT:
grep -c ^ERROR: "$sum"
}
kfail=(
# https://sourceware.org/bugzilla/show_bug.cgi?id=26971
"FAIL: gdb.arch/amd64-init-x87-values.exp: check_x87_regs_around_init: check post FLD1 value of .fop"
"FAIL: gdb.arch/amd64-init-x87-values.exp: check_x87_regs_around_init: check post FLD1 value of .fioff"
# https://sourceware.org/bugzilla/show_bug.cgi?id=24845
"FAIL: gdb.base/step-over-syscall.exp: clone: displaced=off: single step over clone"
"FAIL: gdb.base/step-over-syscall.exp: clone: displaced=off: continue to marker \(clone\)"
# https://sourceware.org/bugzilla/show_bug.cgi?id=19436#c1
"FAIL: gdb.cp/no-dmgl-verbose.exp: setting breakpoint at 'f\(std::string\)'"
# https://sourceware.org/bugzilla/show_bug.cgi?id=25504
"FAIL: gdb.threads/process-dies-while-detaching.exp: single-process: continue: .*: continue"
# https://sourceware.org/bugzilla/show_bug.cgi?id=28065
"FAIL: gdb.threads/access-mem-running-thread-exit.exp:"
# https://sourceware.org/bugzilla/show_bug.cgi?id=27813
"FAIL: gdb.cp/cpcompletion.exp:"
# https://sourceware.org/bugzilla/show_bug.cgi?id=25503
"FAIL: gdb.threads/signal-while-stepping-over-bp-other-thread.exp: step \(pattern 3\)"
# https://sourceware.org/bugzilla/show_bug.cgi?id=26915
"FAIL: gdb.threads/schedlock.exp: schedlock=off: .*: other threads ran - unlocked"
"FAIL: gdb.threads/watchthreads-threaded.exp: watchpoint on args\[3\] hit in thread"
# https://sourceware.org/bugzilla/show_bug.cgi?id=28479
"FAIL: gdb.mi/mi-nonstop.exp: wait for thread exit \(timeout\)"
# https://sourceware.org/bugzilla/show_bug.cgi?id=26273
"FAIL: gdb.threads/gcore-stale-thread.exp: save a corefile"
"FAIL: gdb.threads/gcore-stale-thread.exp: exited thread is current due to non-stop"
# https://sourceware.org/bugzilla/show_bug.cgi?id=28467
# -pie, x86_64 -m32 or i586.
"FAIL: gdb.base/nodebug.exp: p/c \(int\) array_index\(\"abcdef\",2\)"
# https://sourceware.org/bugzilla/show_bug.cgi?id=28617
"FAIL: gdb.base/info-os.exp: get process groups \(timeout\)"
"FAIL: gdb.base/info-os.exp: get threads \(timeout\)"
"FAIL: gdb.base/info-os.exp: get file descriptors \(timeout\)"
"FAIL: gdb.base/info-os.exp: get internet-domain sockets \(timeout\)"
"FAIL: gdb.base/info-os.exp: get shared-memory regions \(timeout\)"
"FAIL: gdb.base/info-os.exp: get semaphores \(timeout\)"
"FAIL: gdb.base/info-os.exp: get message queues \(timeout\)"
"FAIL: gdb.base/info-os.exp: info os unknown_entry \(timeout\)"
"FAIL: gdb.base/info-os.exp: continue \(timeout\)"
# https://sourceware.org/bugzilla/show_bug.cgi?id=26284
# https://sourceware.org/bugzilla/show_bug.cgi?id=28275
# https://sourceware.org/bugzilla/show_bug.cgi?id=28343
"FAIL: gdb.threads/detach-step-over.exp: .*internal error"
# https://sourceware.org/bugzilla/show_bug.cgi?id=26363
"FAIL: gdb.xml/tdesc-reload.exp: .*internal error"
# https://sourceware.org/bugzilla/show_bug.cgi?id=26761
"FAIL: gdb.base/gdb-sigterm.exp: .*internal error"
# If a test-case fails to compile, it's not a GDB FAIL, ignore.
"FAIL: gdb.ada/.*\.exp: compilation .*\.adb"
# https://sourceware.org/bugzilla/show_bug.cgi?id=27539
"FAIL: gdb.cp/typeid.exp: before starting: print &typeid\(i\)"
"FAIL: gdb.cp/typeid.exp: before starting: print &typeid\(i\) == &typeid\(typeof\(i\)\)"
"FAIL: gdb.cp/typeid.exp: before starting: print &typeid\(cp\)"
"FAIL: gdb.cp/typeid.exp: before starting: print &typeid\(cp\) == &typeid\(typeof\(cp\)\)"
"FAIL: gdb.cp/typeid.exp: before starting: print &typeid\(ccp\)"
"FAIL: gdb.cp/typeid.exp: before starting: print &typeid\(ccp\) == &typeid\(typeof\(ccp\)\)"
# Fails for i586. Appearantly, glibc for i586 doesn't use vdso to do
# syscalls. Fedora test-case.
"FAIL: gdb.base/set-solib-absolute-prefix.exp: backtrace with __kernel_vsyscall"
# https://sourceware.org/bugzilla/show_bug.cgi?id=28504
"FAIL: gdb.arch/i386-sse.exp: check contents of data\[2\]"
"FAIL: gdb.arch/i386-sse.exp: check contents of data\[3\]"
"FAIL: gdb.arch/i386-sse.exp: check contents of data\[4\]"
"FAIL: gdb.arch/i386-sse.exp: check contents of data\[5\]"
"FAIL: gdb.arch/i386-sse.exp: check contents of data\[6\]"
"FAIL: gdb.arch/i386-sse.exp: check contents of data\[7\]"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse addps"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse addss"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse addsubpd"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse andpd"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse blendps"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse cmppd"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse cmpps"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse cmpss"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse comisd"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse comiss"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse cvtdq2pd"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse cvtpd2dq"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse cvtpd2ps"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse divpd"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse divsd"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse divss"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse mulps"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse mulss"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse orpd"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse orps"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse pabsw"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse packsswb"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse ucomisd"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse ucomiss"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse unpckhpd"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse unpckhps"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse xorpd"
"FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse xorps"
# Fedora test. Fails because it doesn't handle ppc64le.
"FAIL: gdb.arch/powerpc-bcl-prologue.exp: powerpc arch test"
# https://sourceware.org/bugzilla/show_bug.cgi?id=29419
# https://sourceware.org/bugzilla/show_bug.cgi?id=29409
"FAIL: gdb.opt/inline-small-func.exp: info breakpoints"
"FAIL: gdb.ada/access_tagged_param.exp: continue"
"FAIL: gdb.ada/inline-section-gc.exp: break callee.adb:22"
"FAIL: gdb.ada/ptype_tagged_param.exp: ptype s, with debug info"
"FAIL: gdb.ada/ref_param.exp: frame argument value printed"
"FAIL: gdb.reverse/singlejmp-reverse.exp: next to v = 1"
"FAIL: gdb.reverse/singlejmp-reverse.exp: next to f"
"FAIL: gdb.reverse/singlejmp-reverse.exp: next to nodebug"
"FAIL: gdb.reverse/singlejmp-reverse.exp: next to v = 3"
"FAIL: gdb.reverse/singlejmp-reverse.exp: reverse-step"
"FAIL: gdb.reverse/singlejmp-reverse.exp: reverse-next"
# https://sourceware.org/bugzilla/show_bug.cgi?id=25038
"FAIL: gdb.reverse/test_ioctl_TCSETSW.exp: handle TCSETSW"
) # kfail
kfail_sle12=(
# https://sourceware.org/bugzilla/show_bug.cgi?id=26292
"FAIL: gdb.base/checkpoint-ns.exp: .* \(timeout\)"
"FAIL: gdb.base/checkpoint.exp: .* \(timeout\)"
# https://sourceware.org/bugzilla/show_bug.cgi?id=29238
"FAIL: gdb.cp/ambiguous.exp: all vars: print jv"
"FAIL: gdb.cp/ambiguous.exp: all vars: print jva1"
"FAIL: gdb.cp/ambiguous.exp: all vars: print jva1v"
"FAIL: gdb.cp/ambiguous.exp: all vars: print jva2"
# https://sourceware.org/bugzilla/show_bug.cgi?id=25059
"FAIL: gdb.cp/subtypes.exp:"
"FAIL: gdb.base/max-depth-c\+\+.exp:"
# https://sourceware.org/bugzilla/show_bug.cgi?id=29240
"FAIL: gdb.base/align-c.exp: print _Alignof\(double\)"
"FAIL: gdb.base/align-c.exp: print _Alignof\(long long\)"
"FAIL: gdb.base/align-c.exp: print _Alignof\(unsigned long long\)"
# https://sourceware.org/bugzilla/show_bug.cgi?id=29241
"FAIL: gdb.guile/scm-type.exp: lang_cpp: test_range: on flexible array member: guile \(print \(type-range \(field-type \(type-field \(value-type \(value-dereference f\)\) \"items\"\)\)\)\)"
"FAIL: gdb.guile/scm-type.exp: lang_cpp: test_range: on flexible array member: guile \(print \(value-subscript \(value-field \(value-dereference f\) \"items\"\) 0\)\)"
"FAIL: gdb.guile/scm-type.exp: lang_cpp: test_range: on flexible array member: guile \(print \(value-subscript \(value-field \(value-dereference f\) \"items\"\) 1\)\)"
# Cluster of gcc 4.8 ada FAILs, to be investigated, but not high priority.
"FAIL: gdb.ada/info_locals_renaming.exp: info locals"
"FAIL: gdb.ada/interface.exp: info locals"
"FAIL: gdb.ada/length_cond.exp: cond 1 loc'first > 15"
"FAIL: gdb.ada/length_cond.exp: cond 1 loc'last > 15"
"FAIL: gdb.ada/length_cond.exp: cond 1 loc'length > 15"
"FAIL: gdb.ada/null_overload.exp: print f\(r_access'\(null\)\)"
"FAIL: gdb.ada/str_uninit.exp: print my_str"
# https://sourceware.org/bugzilla/show_bug.cgi?id=29244
"FAIL: gdb.arch/amd64-disp-step-avx.exp: running to main in runto"
"FAIL: gdb.arch/amd64-init-x87-values.exp: check_setting_mxcsr_before_enable: running to main in runto"
"FAIL: gdb.arch/amd64-init-x87-values.exp: check_setting_x87_regs_before_enable: running to main in runto"
"FAIL: gdb.arch/amd64-init-x87-values.exp: check_x87_regs_around_init: running to main in runto"
"FAIL: gdb.dwarf2/frame-inlined-in-outer-frame.exp: frame"
"FAIL: gdb.dwarf2/frame-inlined-in-outer-frame.exp: starti prompt"
"FAIL: gdb.dwarf2/frame-inlined-in-outer-frame.exp: step back into _start \(the program is no longer running\)"
"FAIL: gdb.dwarf2/frame-inlined-in-outer-frame.exp: step back into foo \(the program is no longer running\)"
"FAIL: gdb.dwarf2/frame-inlined-in-outer-frame.exp: step into bar \(the program is no longer running\)"
"FAIL: gdb.dwarf2/frame-inlined-in-outer-frame.exp: step into foo \(the program is no longer running\)"
# https://sourceware.org/bugzilla/show_bug.cgi?id=29245
# Python-2 related.
"FAIL: gdb.python/py-mi-cmd.exp: -pycmd bk3 \(unexpected output\)"
) # kfail_sle12
kfail_factory=(
# https://sourceware.org/bugzilla/show_bug.cgi?id=27027
# https://sourceware.org/bugzilla/show_bug.cgi?id=28464
"FAIL: gdb.ada/mi_var_access.exp: Create varobj \(unexpected output\)"
"FAIL: gdb.ada/mi_var_access.exp: update at stop 2 \(unexpected output\)"
# https://sourceware.org/bugzilla/show_bug.cgi?id=28463
"FAIL: gdb.ada/set_pckd_arr_elt.exp: scenario=minimal: print va.t\(1\) := 15"
"FAIL: gdb.ada/set_pckd_arr_elt.exp: scenario=minimal: continue to update_small for va.t"
# https://sourceware.org/bugzilla/show_bug.cgi?id=28108
"FAIL: gdb.base/langs.exp: up to foo in langs.exp"
"FAIL: gdb.base/langs.exp: up to cppsub_ in langs.exp"
"FAIL: gdb.base/langs.exp: up to fsub in langs.exp"
# https://sourceware.org/pipermail/gdb-patches/2021-October/182449.html
"FAIL: gdb.threads/current-lwp-dead.exp: continue to breakpoint: fn_return"
# Similar error message to the one above, see if fixing that one fixes this.
"FAIL: gdb.threads/clone-new-thread-event.exp: catch SIGUSR1"
# https://sourceware.org/bugzilla/show_bug.cgi?id=27238
"FAIL: gdb.go/package.exp: setting breakpoint at package2.Foo"
"FAIL: gdb.go/package.exp: going to first breakpoint \(the program exited\)"
# https://sourceware.org/bugzilla/show_bug.cgi?id=28551
"FAIL: gdb.go/package.exp: going to first breakpoint \\(GDB internal error\\)"
# https://sourceware.org/bugzilla/show_bug.cgi?id=28468
"FAIL: gdb.threads/signal-command-handle-nopass.exp: step-over (yes|no): signal SIGUSR1"
# https://sourceware.org/bugzilla/show_bug.cgi?id=28477
"FAIL: gdb.base/step-over-syscall.exp: clone: displaced=off: continue to marker \(clone\)"
# https://sourceware.org/bugzilla/show_bug.cgi?id=28478
"FAIL: gdb.gdb/selftest.exp: backtrace through signal handler"
# https://sourceware.org/bugzilla/show_bug.cgi?id=26867
"FAIL: gdb.threads/signal-sigtrap.exp: sigtrap thread 1: signal SIGTRAP reaches handler"
# https://sourceware.org/bugzilla/show_bug.cgi?id=28510
"FAIL: gdb.debuginfod/fetch_src_and_symbols.exp: local_url: br main"
"FAIL: gdb.debuginfod/fetch_src_and_symbols.exp: local_url: l"
# https://sourceware.org/bugzilla/show_bug.cgi?id=28667
"FAIL: gdb.reverse/watch-precsave.exp: watchpoint hit, fourth time \\(GDB internal error\\)"
# https://sourceware.org/bugzilla/show_bug.cgi?id=29160
"FAIL: gdb.ctf/.*.exp"
"FAIL: gdb.base/ctf-.*.exp"
# https://sourceware.org/bugzilla/show_bug.cgi?id=29196
"FAIL: gdb.base/gdb11531.exp: watchpoint variable triggers at next"
"FAIL: gdb.base/gdb11531.exp: watchpoint variable triggers at continue"
# https://sourceware.org/bugzilla/show_bug.cgi?id=29247
"FAIL: gdb.base/varargs.exp: print find_max_long_double_real\(4, ldc1, ldc2, ldc3, ldc4\)"
# We get "value has been optimized out", which is possible for an optimized gdb, due
# to optimization of function c_print_type.
"FAIL: gdb.gdb/python-helper.exp: print \*type->main_type"
# https://sourceware.org/bugzilla/show_bug.cgi?id=29253
"FAIL: gdb.server/stop-reply-no-thread.exp: to_disable=threads: continue to main \(timeout\)"
"FAIL: gdb.server/stop-reply-no-thread.exp: to_disable=threads: continue until exit \(timeout\)"
) # kfail_factory
kfail_aarch64=(
# https://sourceware.org/bugzilla/show_bug.cgi?id=29408
"FAIL: gdb.base/large-frame.exp: optimize=-O0: backtrace"
"FAIL: gdb.base/large-frame.exp: optimize=-O1: backtrace"
"FAIL: gdb.base/large-frame.exp: optimize=-O2: backtrace"
# https://sourceware.org/bugzilla/show_bug.cgi?id=29405
"FAIL: gdb.base/step-over-syscall.exp: vfork: displaced=off: pc after stepi matches insn addr after syscall"
"FAIL: gdb.base/step-over-syscall.exp: vfork: displaced=on: pc after stepi matches insn addr after syscall"
"FAIL: gdb.base/step-over-syscall.exp: fork: displaced=on: check_pc_after_cross_syscall: single step over fork final pc"
# https://sourceware.org/bugzilla/show_bug.cgi?id=29418
"FAIL: gdb.ada/O2_float_param.exp: scenario=all: frame"
"FAIL: gdb.ada/O2_float_param.exp: scenario=minimal: frame"
# https://sourceware.org/bugzilla/show_bug.cgi?id=29420
"FAIL: gdb.ada/convvar_comp.exp: print \\\$item.started"
# https://sourceware.org/bugzilla/show_bug.cgi?id=29423
"FAIL: gdb.base/watchpoint-unaligned.exp: continue \(timeout\)"
"FAIL: gdb.base/watchpoint-unaligned.exp: size8twice write"
) # kfail_aarch64
case $n in
1)
# 'FAIL: .* internal error' in gdb.sum.
# Test fail due to internal error.
#
# Todo: apply kfail_factory/kfail_sle12 only when appropriate.
kfail+=("${kfail_factory[@]}")
kfail+=("${kfail_sle12[@]}")
kfail_re=$(join "|" "${kfail[@]}")
grep "^FAIL:.*internal error" binaries-testsuite*/gdb-testresults/*.sum \
| grep -E -v "$kfail_re"
;;
2)
# 'ERROR:' in gdb.sum.
# A dejagnu or tcl ERROR, may hide real problems.
#
kfail+=(
# https://sourceware.org/bugzilla/show_bug.cgi?id=28323
"SLE-12.x86_64.*gdb.ada/mi_dyn_arr.exp"
)
kfail_re=$(join "|" "${kfail[@]}")
grep -A1 "ERROR:.*no longer" binaries-testsuite*/gdb-testresults/*.sum \
| grep -E -v "ERROR|\--" | grep -E -v "$kfail_re"
;;
3)
# 'internal-error' in gdb.log
# Catch all internal-errors, not just the ones reported by dejagnu.
#
kfail+=(
# https://sourceware.org/bugzilla/show_bug.cgi?id=26284
"infrun.c:[0-9]*: internal-error: finish_step_over: Assertion \`ecs->event_thread->control.trap_expected' failed."
# https://sourceware.org/bugzilla/show_bug.cgi?id=26363
".i586.*i386-linux-nat.c:[0-9]*: internal-error: Got request for bad register number 41."
# https://sourceware.org/bugzilla/show_bug.cgi?id=26761
"thread.c:[0-9]*: internal-error: inferior_thread: Assertion \`current_thread_ \!= nullptr' failed."
# https://sourceware.org/bugzilla/show_bug.cgi?id=19675
"linux-nat.c:[0-9]*: internal-error: wait returned unexpected status"
# https://sourceware.org/bugzilla/show_bug.cgi?id=28553
"infrun.c:[0-9]*: internal-error: thread .* needs a step-over, but not in step-over queue"
# https://sourceware.org/bugzilla/show_bug.cgi?id=19675
"linux-nat.c:[0-9]*: internal-error: wait returned unexpected"
# https://sourceware.org/bugzilla/show_bug.cgi?id=28604
"x86-linux-dregs.c:[0-9]*: internal-error: void x86_linux_update_debug_registers\(lwp_info\*\): Assertion \`lwp_is_stopped \(lwp\)' failed."
# https://sourceware.org/bugzilla/show_bug.cgi?id=28667
"record-full.c:[0-9]*: internal-error: ptid_t record_full_wait_1\(target_ops\*, ptid_t, target_waitstatus\*, target_wait_flags\): Assertion \`\(options & TARGET_WNOHANG\) != 0' failed."
)
kfail_re=$(join "|" "${kfail[@]}")
grep -a -H internal-error: binaries-testsuite.*/gdb-testresults/*.log \
| grep -a -v "maint.c:[0-9]" \
| grep -a -E -v "$kfail_re"
;;
4)
sums=()
# Known clean config: Leap 15.3 x86_64
config=openSUSE_Leap_15.3.x86_64/gdb-testresults
sums+=("$config/gdb-x86_64-suse-linux-m64.-fno-PIE.-no-pie.sum"
"$config/gdb-x86_64-suse-linux-m64.sum"
"$config/gdb-x86_64-suse-linux-m32.-fno-PIE.-no-pie.sum"
"$config/gdb-x86_64-suse-linux-m32.sum")
# Known clean config: Leap 15.3 i586
config=openSUSE_Leap_15.3.i586/gdb-testresults
sums+=("$config/gdb-i586-suse-linux-m32.-fno-PIE.-no-pie.sum"
"$config/gdb-i586-suse-linux-m32.sum")
# Known clean config: Leap 15.4 x86_64
config=openSUSE_Leap_15.4.x86_64/gdb-testresults
sums+=("$config/gdb-x86_64-suse-linux-m64.-fno-PIE.-no-pie.sum"
"$config/gdb-x86_64-suse-linux-m64.sum"
"$config/gdb-x86_64-suse-linux-m32.-fno-PIE.-no-pie.sum"
"$config/gdb-x86_64-suse-linux-m32.sum")
# Known clean config: Leap 15.4 i586
config=openSUSE_Leap_15.4.i586/gdb-testresults
sums+=("$config/gdb-i586-suse-linux-m32.-fno-PIE.-no-pie.sum"
"$config/gdb-i586-suse-linux-m32.sum")
# Known clean config: SLE 15 x86_64.
config=SLE-15.x86_64/gdb-testresults
sums+=("$config/gdb-x86_64-suse-linux-m64.-fno-PIE.-no-pie.sum"
"$config/gdb-x86_64-suse-linux-m64.sum"
"$config/gdb-x86_64-suse-linux-m32.-fno-PIE.-no-pie.sum"
"$config/gdb-x86_64-suse-linux-m32.sum")
for sum in "${sums[@]}"; do
sum=binaries-testsuite.$sum
report_sum "$sum"
done
(
# Known clean config: SLE 12 x86_64.
config=SLE-12.x86_64/gdb-testresults
sums=("$config/gdb-x86_64-suse-linux-m64.-fPIE.-pie.sum"
"$config/gdb-x86_64-suse-linux-m64.sum"
"$config/gdb-x86_64-suse-linux-m32.-fPIE.-pie.sum"
"$config/gdb-x86_64-suse-linux-m32.sum")
kfail+=("${kfail_sle12[@]}")
for sum in "${sums[@]}"; do
sum=binaries-testsuite.$sum
report_sum "$sum"
done
)
(
# Known cleanish config: Factory x86_64.
config=openSUSE_Factory.x86_64/gdb-testresults
sums=("$config/gdb-x86_64-suse-linux-m64.-fno-PIE.-no-pie.sum"
"$config/gdb-x86_64-suse-linux-m64.sum"
"$config/gdb-x86_64-suse-linux-m32.-fno-PIE.-no-pie.sum"
"$config/gdb-x86_64-suse-linux-m32.sum")
# Known clean config: Factory i586
config=openSUSE_Factory.i586/gdb-testresults
sums+=("$config/gdb-i586-suse-linux-m32.-fno-PIE.-no-pie.sum"
"$config/gdb-i586-suse-linux-m32.sum")
kfail+=("${kfail_factory[@]}")
for sum in "${sums[@]}"; do
sum=binaries-testsuite.$sum
report_sum "$sum"
done
)
(
# Known clean config: SLE 15 aarch64.
config=SLE-15.aarch64/gdb-testresults
sums=("$config/gdb-aarch64-suse-linux.-fno-PIE.-no-pie.sum"
"$config/gdb-aarch64-suse-linux.sum")
kfail+=("${kfail_aarch64[@]}")
for sum in "${sums[@]}"; do
sum=binaries-testsuite.$sum
report_sum "$sum"
done
)
;;
5)
librpm=$(ls -1 binaries-testsuite*/gdb-testresults/*.sum \
| grep -v SLE-11)
nolibrpm=$(ls -1 binaries-testsuite*/gdb-testresults/*.sum \
| grep SLE-11)
grep -c "PASS: gdb.suse/zypper-hint.exp: zypper hint printed (librpm)" \
$librpm \
| grep -E -v ":1"
grep -c "PASS: gdb.suse/zypper-hint.exp: zypper hint printed (no librpm)" \
$nolibrpm \
| grep -E -v ":1"
;;
-local)
sums=()
for f in "$dir"/*.sum; do
mapfile -t < <(echo_line "$f")
sums+=("${MAPFILE[@]}")
done
if [ ${#sums[@]} -ne 4 ] && [ ${#sums[@]} -ne 2 ]; then
echo "No summary files to check"
exit 1
fi
if $have_factory; then
kfail+=("${kfail_factory[@]}")
fi
if $have_sle12; then
kfail+=("${kfail_sle12[@]}")
fi
if $have_aarch64; then
kfail+=("${kfail_aarch64[@]}")
fi
for sum in "${sums[@]}"; do
report_sum "$sum"
done
;;
*)
echo "Don't know how to handle arg: $n"
exit 1
;;
esac