Update the test framework for llvm-cvtres to be more comprehensive.

Summary: Added test cases for multiple machine types, file merging, multiple languages, and more resource types.  Also fixed new bugs these tests exposed.

Subscribers: javed.absar, llvm-commits, hiraditya

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

llvm-svn: 305258
diff --git a/llvm/test/tools/llvm-readobj/resources.test b/llvm/test/tools/llvm-readobj/resources.test
index 855ce53..589a9c9 100644
--- a/llvm/test/tools/llvm-readobj/resources.test
+++ b/llvm/test/tools/llvm-readobj/resources.test
@@ -9,103 +9,135 @@
 RUN: llvm-readobj -coff-resources %p/Inputs/resources/test_resource.obj.coff \
 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:   ]
+ZERO:     Resources [
+ZERO-NEXT:  Total Number of Resources: 1
+ZERO-NEXT:  Base Table Address: 0x188
+ZERO-DAG:   Number of String Entries: 0
+ZERO-NEXT:  Number of ID Entries: 1
+ZERO-NEXT:  Type: kRT_STRING (ID 6) [
+ZERO-NEXT:    Table Offset: 0x18
+ZERO-NEXT:    Number of String Entries: 0
+ZERO-NEXT:    Number of ID Entries: 1
+ZERO-NEXT:    Name: (ID 1) [
+ZERO-NEXT:      Table Offset: 0x30
+ZERO-NEXT:      Number of String Entries: 0
+ZERO-NEXT:      Number of ID Entries: 1
+ZERO-NEXT:      Language: (ID 1033) [
+ZERO-NEXT:        Entry Offset: 0x48
+ZERO-NEXT:        Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
+ZERO-NEXT:        Major Version: 0
+ZERO-NEXT:        Minor Version: 0
+ZERO-NEXT:        Characteristics: 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:   ]
+TEST_RES:     Resources [
+TEST_RES-NEXT:  Total Number of Resources: 7
+TEST_RES-NEXT:  Base Table Address: 0x1C0  
+TEST_RES-DAG:   Number of String Entries: 0
+TEST_RES-NEXT:  Number of ID Entries: 4
+TEST_RES-NEXT:  Type: kRT_BITMAP (ID 2) [
+TEST_RES-NEXT:    Table Offset: 0x30
+TEST_RES-NEXT:    Number of String Entries: 2
+TEST_RES-NEXT:    Number of ID Entries: 0
+TEST_RES-NEXT:    Name: CURSOR [
+TEST_RES-NEXT:      Table Offset: 0xA8
+TEST_RES-NEXT:      Number of String Entries: 0
+TEST_RES-NEXT:      Number of ID Entries: 1
+TEST_RES-NEXT:      Language: (ID 1033) [
+TEST_RES-NEXT:        Entry Offset: 0x150
+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:        Characteristics: 0
+TEST_RES-NEXT:      ]
+TEST_RES-NEXT:    ]
+TEST_RES-NEXT:    Name: OKAY [
+TEST_RES-NEXT:      Table Offset: 0xC0
+TEST_RES-NEXT:      Number of String Entries: 0
+TEST_RES-NEXT:      Number of ID Entries: 1
+TEST_RES-NEXT:      Language: (ID 1033) [
+TEST_RES-NEXT:        Entry Offset: 0x160
+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:        Characteristics: 0
+TEST_RES-NEXT:      ]
+TEST_RES-NEXT:    ]
+TEST_RES-NEXT:  ]
+TEST_RES-NEXT:  Type: kRT_MENU (ID 4) [
+TEST_RES-NEXT:    Table Offset: 0x50
+TEST_RES-NEXT:    Number of String Entries: 1
+TEST_RES-NEXT:    Number of ID Entries: 1
+TEST_RES-NEXT:    Name: "EAT" [
+TEST_RES-NEXT:      Table Offset: 0xD8
+TEST_RES-NEXT:      Number of String Entries: 0
+TEST_RES-NEXT:      Number of ID Entries: 1
+TEST_RES-NEXT:      Language: (ID 3081) [
+TEST_RES-NEXT:        Entry Offset: 0x170
+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:        Characteristics: 0
+TEST_RES-NEXT:      ]
+TEST_RES-NEXT:    ]
+TEST_RES-NEXT:    Name: (ID 14432) [
+TEST_RES-NEXT:      Table Offset: 0xF0
+TEST_RES-NEXT:      Number of String Entries: 0
+TEST_RES-NEXT:      Number of ID Entries: 1
+TEST_RES-NEXT:      Language: (ID 2052) [
+TEST_RES-NEXT:        Entry Offset: 0x180
+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:        Characteristics: 0
+TEST_RES-NEXT:      ]
+TEST_RES-NEXT:    ]
+TEST_RES-NEXT:  ]
+TEST_RES-NEXT:  Type: kRT_DIALOG (ID 5) [
+TEST_RES-NEXT:    Table Offset: 0x70
+TEST_RES-NEXT:    Number of String Entries: 1
+TEST_RES-NEXT:    Number of ID Entries: 0
+TEST_RES-NEXT:    Name: TESTDIALOG [
+TEST_RES-NEXT:      Table Offset: 0x108
+TEST_RES-NEXT:      Number of String Entries: 0
+TEST_RES-NEXT:      Number of ID Entries: 1
+TEST_RES-NEXT:      Language: (ID 1033) [
+TEST_RES-NEXT:        Entry Offset: 0x190
+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:        Characteristics: 0
+TEST_RES-NEXT:      ]
+TEST_RES-NEXT:    ]
+TEST_RES-NEXT:  ]
+TEST_RES-NEXT:  Type: kRT_ACCELERATOR (ID 9) [
+TEST_RES-NEXT:    Table Offset: 0x88
+TEST_RES-NEXT:    Number of String Entries: 1
+TEST_RES-NEXT:    Number of ID Entries: 1
+TEST_RES-NEXT:    Name: MYACCELERATORS [
+TEST_RES-NEXT:      Table Offset: 0x120
+TEST_RES-NEXT:      Number of String Entries: 0
+TEST_RES-NEXT:      Number of ID Entries: 1
+TEST_RES-NEXT:      Language: (ID 1033) [
+TEST_RES-NEXT:        Entry Offset: 0x1A0
+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:        Characteristics: 0
+TEST_RES-NEXT:      ]
+TEST_RES-NEXT:    ]
+TEST_RES-NEXT:    Name: (ID 12) [
+TEST_RES-NEXT:      Table Offset: 0x138
+TEST_RES-NEXT:      Number of String Entries: 0
+TEST_RES-NEXT:      Number of ID Entries: 1
+TEST_RES-NEXT:      Language: (ID 1033) [
+TEST_RES-NEXT:        Entry Offset: 0x1B0
+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:        Characteristics: 0
+TEST_RES-NEXT:      ]
+TEST_RES-NEXT:    ]
+TEST_RES-NEXT:  ]