; The PDB committed to the repo does not seem to be recognized by older
; versions of DIA SDK, so we xfail the test temporarily until we can
; figure out how to get a PDB that makes all versions of MSVC happy.
; REQUIRES: diasdk

; RUN: llvm-pdbutil pretty -injected-sources -injected-source-content \
; RUN:   %p/Inputs/InjectedSource.pdb | FileCheck %s
; RUN: llvm-pdbutil pretty -injected-sources -injected-source-content \
; RUN:   %p/Inputs/ClassLayoutTest.pdb | FileCheck --check-prefix=NEGATIVE %s

; CHECK:      ---INJECTED SOURCES---
; CHECK:      c.natvis (140 bytes): obj=<null>, vname=c.natvis, crc=334478030, compression=None
; CHECK-NEXT: <?xml version="1.0" encoding="utf-8"?>
; CHECK-NEXT: <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
; CHECK-NEXT: </AutoVisualizer>
; CHECK:      a.natvis (140 bytes): obj=<null>, vname=a.natvis, crc=334478030, compression=None
; CHECK-NEXT: <?xml version="1.0" encoding="utf-8"?>
; CHECK-NEXT: <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
; CHECK-NEXT: </AutoVisualizer>
; CHECK:      b.natvis (294 bytes): obj=<null>, vname=b.natvis, crc=2059731902, compression=None
; CHECK-NEXT: <?xml version="1.0" encoding="utf-8"?>
; CHECK-NEXT: <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
; CHECK-NEXT: <Type Name="Baz">
; CHECK-NEXT:   <DisplayString>Third test</DisplayString>
; CHECK-NEXT: </Type>
; CHECK-NEXT: <Type Name="Buzz">
; CHECK-NEXT:   <DisplayString>Fourth test</DisplayString>
; CHECK-NEXT: </Type>
; CHECK-NEXT: </AutoVisualizer>

; NEGATIVE:      ---INJECTED SOURCES---
; NEGATIVE-NEXT: There are no injected sources.
