This is the mail archive of the gdb-testers@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Fix testing gdb.rust/modules.exp against gdbserver


*** TEST RESULTS FOR COMMIT ea04e54ca8b935b01155c3d40381d879dd6ba683 ***

Author: Pedro Alves <palves@redhat.com>
Branch: master
Commit: ea04e54ca8b935b01155c3d40381d879dd6ba683

Fix testing gdb.rust/modules.exp against gdbserver

Currently several tests in gdb.rust/modules.exp fail with
 --target_board=native-gdbserver:

 Running src/gdb/testsuite/gdb.rust/modules.exp ...
 FAIL: gdb.rust/modules.exp: call f3()
 FAIL: gdb.rust/modules.exp: call self::f2()
 FAIL: gdb.rust/modules.exp: call self::super::f2()
 FAIL: gdb.rust/modules.exp: call super::f2()
 FAIL: gdb.rust/modules.exp: call self::super::super::f2()
 FAIL: gdb.rust/modules.exp: call super::super::f2()
 FAIL: gdb.rust/modules.exp: call ::f2()
 FAIL: gdb.rust/modules.exp: call extern modules::mod1::f2()

This is because these tests rely on matching inferior output.
However, when testing with gdbserver, inferior output goes to a
separate terminal instead of to gdb's terminal, and so gdb_test won't
cut it, as that is only reading from gdb's pty/gdb_spawn_id:

 (gdb) call f3()
 (gdb) FAIL: gdb.rust/modules.exp: call f3()
 call self::f2()
 (gdb) FAIL: gdb.rust/modules.exp: call self::f2()

Fix this by using gdb_test_stdio instead, which handles output coming
out of gdbserver's pty.

Also, skip the tests if the target/board doesn't support inferior I/O
at all.

gdb/ChangeLog:
2017-11-16  Pedro Alves  <palves@redhat.com>

	* gdb.rust/modules.exp: Skip tests that rely on inferior I/O if
	gdb,noinferiorio is set, and use gdb_test_stdio otherwise.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]