Bug 1409739 - Part 1: Accept SmokeDMD when filtering test DMD stacks. r=njn

On some builds we only get 'SmokeDMD' references during testing rather than a full file path. This adds 'SmokeDMD' to the acceptable frame description list.

--HG--
extra : source : 1192c15fc9347ccd6169dcb5bea81d7f2399e3fd
extra : intermediate-source : d39c2dfcc7004a4736436c564de239ba68b20c03
extra : histedit_source : 5a75a20f5b88481c994597da81fdbc29186aba3d%2C3f60f2bfbe54ab3843d4b18d66296cd4aadf4a30
This commit is contained in:
Eric Rahm 2018-10-01 16:38:17 -07:00
Родитель bf9c377e3d
Коммит 703da53d94
2 изменённых файлов: 5 добавлений и 3 удалений

Просмотреть файл

@ -332,7 +332,8 @@ def getDigestFromFile(args, inputFile):
if args.filter_stacks_for_testing:
# When running SmokeDMD.cpp, every stack trace should contain at
# least one frame that contains 'DMD.cpp', from either |DMD.cpp| or
# |SmokeDMD.cpp|. (Or 'dmd.cpp' on Windows.) If we see such a
# |SmokeDMD.cpp|. (Or 'dmd.cpp' on Windows.) On builds without
# debuginfo we expect just |SmokeDMD|. If we see such a
# frame, we replace the entire stack trace with a single,
# predictable frame. There is too much variation in the stack
# traces across different machines and platforms to do more precise
@ -340,7 +341,8 @@ def getDigestFromFile(args, inputFile):
# stack fixing fails completely.
for frameKey in frameKeys:
frameDesc = frameTable[frameKey]
if 'DMD.cpp' in frameDesc or 'dmd.cpp' in frameDesc:
expected = ('DMD.cpp', 'dmd.cpp', 'SmokeDMD')
if any(ex in frameDesc for ex in expected):
return [fmt.format(1, ': ... DMD.cpp ...')]
# The frame number is always '#00' (see DMD.h for why), so we have to

Просмотреть файл

@ -31,4 +31,4 @@ support-files =
[test_dmd.js]
dmd = true
skip-if = !(os=='linux' || os=='win' || os=='mac')
skip-if = !(os=='linux' || os=='mac' || (os=='win' && !pgo))