Update llvm-readobj -coff-resources to display tree structure.

Summary: Continue making updates to llvm-readobj to display resource sections.  This is necessary for testing the up and coming cvtres tool.

Reviewers: zturner

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D32609

llvm-svn: 302399
diff --git a/llvm/test/tools/llvm-readobj/resources.test b/llvm/test/tools/llvm-readobj/resources.test
index 46ee8b9..6e9e39d 100644
--- a/llvm/test/tools/llvm-readobj/resources.test
+++ b/llvm/test/tools/llvm-readobj/resources.test
@@ -1,19 +1,111 @@
-RUN: llvm-readobj -coff-resources %p/Inputs/zero-string-table.obj.coff-i386 \
-RUN:   | FileCheck %s -check-prefix RESOURCE
+// Check dumping of the .rsrc section(s)
+// The input was generated with the following commands, using the original Windows
+// rc.exe and cvtres.exe:
+// > rc /fo test_resource.res /nologo test_resource.rc
+// > cvtres /machine:X86 /readonly /nologo /out:test_resource.o test_resource.res
 
-RESOURCE:      Resources [
-RESOURCE-NEXT:   Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
-RESOURCE-NEXT:   .rsrc$01 Data (
-RESOURCE-NEXT:     0000: 00000000 00000000 00000000 00000100  |................|
-RESOURCE-NEXT:     0010: 06000000 18000080 00000000 00000000  |................|
-RESOURCE-NEXT:     0020: 00000000 00000100 01000000 30000080  |............0...|
-RESOURCE-NEXT:     0030: 00000000 00000000 00000000 00000100  |................|
-RESOURCE-NEXT:     0040: 09040000 48000000 00000000 2A000000  |....H.......*...|
-RESOURCE-NEXT:     0050: 00000000 00000000                    |........|
-RESOURCE-NEXT:   )
-RESOURCE-NEXT:   .rsrc$02 Data (
-RESOURCE-NEXT:     0000: 00000500 48006500 6C006C00 6F000000  |....H.e.l.l.o...|
-RESOURCE-NEXT:     0010: 00000000 00000000 00000000 00000000  |................|
-RESOURCE-NEXT:     0020: 00000000 00000000 00000000 00000000  |................|
-RESOURCE-NEXT:   )
-RESOURCE-NEXT: ]
+RUN: llvm-readobj -coff-resources -section-data %p/Inputs/zero-string-table.obj.coff-i386 \
+RUN:   | FileCheck %s -check-prefix ZERO
+RUN: llvm-readobj -coff-resources %p/Inputs/resources/test_resource.o \
+RUN:   | FileCheck %s -check-prefix TEST_RES
+
+ZERO:      Resources [
+ZERO-NEXT:   String Name Entries: 0
+ZERO-NEXT:   ID Entries: 1
+ZERO-NEXT:   Type: kRT_STRING (ID 6) [
+ZERO-NEXT:     String Name Entries: 0
+ZERO-NEXT:     ID Entries: 1
+ZERO-NEXT:     Name: (ID 1) [
+ZERO-NEXT:       String Name Entries: 0
+ZERO-NEXT:       ID Entries: 1
+ZERO-NEXT:       Language: (ID 1033) [
+ZERO-NEXT:         Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+ZERO-NEXT:         Major Version: 0
+ZERO-NEXT:         Minor Version: 0
+ZERO-NEXT:       ]
+ZERO-NEXT:     ]
+ZERO-NEXT:   ]
+
+
+TEST_RES:	     Resources [
+TEST_RES-NEXT:   String Name Entries: 0
+TEST_RES-NEXT:   ID Entries: 4
+TEST_RES-NEXT:   Type: kRT_BITMAP (ID 2) [
+TEST_RES-NEXT:     String Name Entries: 2
+TEST_RES-NEXT:     ID Entries: 0
+TEST_RES-NEXT:     Name: CURSOR [
+TEST_RES-NEXT:       String Name Entries: 0
+TEST_RES-NEXT:       ID Entries: 1
+TEST_RES-NEXT:       Language: (ID 1033) [
+TEST_RES-NEXT:         Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+TEST_RES-NEXT:         Major Version: 0
+TEST_RES-NEXT:         Minor Version: 0
+TEST_RES-NEXT:       ]
+TEST_RES-NEXT:     ]
+TEST_RES-NEXT:     Name: OKAY [
+TEST_RES-NEXT:       String Name Entries: 0
+TEST_RES-NEXT:       ID Entries: 1
+TEST_RES-NEXT:       Language: (ID 1033) [
+TEST_RES-NEXT:         Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+TEST_RES-NEXT:         Major Version: 0
+TEST_RES-NEXT:         Minor Version: 0
+TEST_RES-NEXT:       ]
+TEST_RES-NEXT:     ]
+TEST_RES-NEXT:   ]
+TEST_RES-NEXT:   Type: kRT_MENU (ID 4) [
+TEST_RES-NEXT:     String Name Entries: 1
+TEST_RES-NEXT:     ID Entries: 1
+TEST_RES-NEXT:     Name: "EAT" [
+TEST_RES-NEXT:       String Name Entries: 0
+TEST_RES-NEXT:       ID Entries: 1
+TEST_RES-NEXT:       Language: (ID 3081) [
+TEST_RES-NEXT:         Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+TEST_RES-NEXT:         Major Version: 0
+TEST_RES-NEXT:         Minor Version: 0
+TEST_RES-NEXT:       ]
+TEST_RES-NEXT:     ]
+TEST_RES-NEXT:     Name: (ID 14432) [
+TEST_RES-NEXT:       String Name Entries: 0
+TEST_RES-NEXT:       ID Entries: 1
+TEST_RES-NEXT:       Language: (ID 2052) [
+TEST_RES-NEXT:         Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+TEST_RES-NEXT:         Major Version: 0
+TEST_RES-NEXT:         Minor Version: 0
+TEST_RES-NEXT:       ]
+TEST_RES-NEXT:     ]
+TEST_RES-NEXT:   ]
+TEST_RES-NEXT:   Type: kRT_DIALOG (ID 5) [
+TEST_RES-NEXT:     String Name Entries: 1
+TEST_RES-NEXT:     ID Entries: 0
+TEST_RES-NEXT:     Name: TESTDIALOG [
+TEST_RES-NEXT:       String Name Entries: 0
+TEST_RES-NEXT:       ID Entries: 1
+TEST_RES-NEXT:       Language: (ID 1033) [
+TEST_RES-NEXT:         Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+TEST_RES-NEXT:         Major Version: 0
+TEST_RES-NEXT:         Minor Version: 0
+TEST_RES-NEXT:       ]
+TEST_RES-NEXT:     ]
+TEST_RES-NEXT:   ]
+TEST_RES-NEXT:   Type: kRT_ACCELERATOR (ID 9) [
+TEST_RES-NEXT:     String Name Entries: 1
+TEST_RES-NEXT:     ID Entries: 1
+TEST_RES-NEXT:     Name: MYACCELERATORS [
+TEST_RES-NEXT:       String Name Entries: 0
+TEST_RES-NEXT:       ID Entries: 1
+TEST_RES-NEXT:       Language: (ID 1033) [
+TEST_RES-NEXT:         Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+TEST_RES-NEXT:         Major Version: 0
+TEST_RES-NEXT:         Minor Version: 0
+TEST_RES-NEXT:       ]
+TEST_RES-NEXT:     ]
+TEST_RES-NEXT:     Name: (ID 12) [
+TEST_RES-NEXT:       String Name Entries: 0
+TEST_RES-NEXT:       ID Entries: 1
+TEST_RES-NEXT:       Language: (ID 1033) [
+TEST_RES-NEXT:         Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+TEST_RES-NEXT:         Major Version: 0
+TEST_RES-NEXT:         Minor Version: 0
+TEST_RES-NEXT:       ]
+TEST_RES-NEXT:     ]
+TEST_RES-NEXT:   ]