test-Root-null.py (796B)
1 # Test printing roots that refer to NULL pointers. 2 3 # Since mozilla.prettyprinters.Pointer declines to create pretty-printers 4 # for null pointers, GDB built-in printing code ends up handling them. But 5 # as of 2012-11, GDB suppresses printing pointers in replacement values: 6 # see: http://sourceware.org/ml/gdb/2012-11/msg00055.html 7 # 8 # Thus, if the pretty-printer for JS::Rooted simply returns the referent as 9 # a replacement value (which seems reasonable enough, if you want the 10 # pretty-printer to be completely transparent), and the referent is a null 11 # pointer, it prints as nothing at all. 12 # 13 # This test ensures that the JS::Rooted pretty-printer doesn't make that 14 # mistake. 15 # flake8: noqa: F821 16 17 gdb.execute("set print address on") 18 19 run_fragment("Root.null") 20 21 assert_pretty("null", "0x0")