summaryrefslogtreecommitdiffstats
path: root/js/src/gdb/tests/test-Root-null.py
blob: 9abf2e801bbe30358cb2a0d9994b560bd28ee9f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Test printing roots that refer to NULL pointers.

# Since mozilla.prettyprinters.Pointer declines to create pretty-printers
# for null pointers, GDB built-in printing code ends up handling them. But
# as of 2012-11, GDB suppresses printing pointers in replacement values:
# see: http://sourceware.org/ml/gdb/2012-11/msg00055.html
#
# Thus, if the pretty-printer for JS::Rooted simply returns the referent as
# a replacement value (which seems reasonable enough, if you want the
# pretty-printer to be completely transparent), and the referent is a null
# pointer, it prints as nothing at all.
#
# This test ensures that the JS::Rooted pretty-printer doesn't make that
# mistake.

gdb.execute('set print address on')

run_fragment('Root.null')

assert_pretty('null', '0x0')