Index: Lib/test/test_gdb.py =================================================================== --- Lib/test/test_gdb.py (révision 80641) +++ Lib/test/test_gdb.py (copie de travail) @@ -227,24 +227,31 @@ # Test printing a single character: # U+2620 SKULL AND CROSSBONES - self.assertGdbRepr('\u2620') + self.assertGdbRepr(r'\u2620') # Test printing a Japanese unicode string # (I believe this reads "mojibake", using 3 characters from the CJK # Unified Ideographs area, followed by U+3051 HIRAGANA LETTER KE) - self.assertGdbRepr('\u6587\u5b57\u5316\u3051') + self.assertGdbRepr(r'\u6587\u5b57\u5316\u3051') + # Get gdb value of sys.maxunicode + cmd = "--eval-command=python print(sys.maxunicode)" + p = subprocess.Popen(["gdb", "--batch", cmd], + stdout=subprocess.PIPE) + stdout = p.communicate()[0] + gdb_maxunicode = int(stdout.rstrip()) + # Test a character outside the BMP: # U+1D121 MUSICAL SYMBOL C CLEF # This is: # UTF-8: 0xF0 0x9D 0x84 0xA1 # UTF-16: 0xD834 0xDD21 - if sys.maxunicode == 0x10FFFF: + if gdb_maxunicode == 0x10FFFF: # wide unicode: - self.assertGdbRepr(chr(0x1D121)) + self.assertGdbRepr(r"\U0001D121") else: # narrow unicode: - self.assertGdbRepr(chr(0x1D121), + self.assertGdbRepr(r"\U0001D121", "'\\U0000d834\\U0000dd21'") def test_tuples(self):