| OLD | NEW |
| 1 //===- llvm/unittest/Bitcode/NaClParseTypesTest.cpp ---------------------===// | 1 //===- llvm/unittest/Bitcode/NaClParseTypesTest.cpp ---------------------===// |
| 2 // Tests parser for PNaCl bitcode. | 2 // Tests parser for PNaCl bitcode. |
| 3 // | 3 // |
| 4 // The LLVM Compiler Infrastructure | 4 // The LLVM Compiler Infrastructure |
| 5 // | 5 // |
| 6 // This file is distributed under the University of Illinois Open Source | 6 // This file is distributed under the University of Illinois Open Source |
| 7 // License. See LICENSE.TXT for details. | 7 // License. See LICENSE.TXT for details. |
| 8 // | 8 // |
| 9 //===----------------------------------------------------------------------===// | 9 //===----------------------------------------------------------------------===// |
| 10 | 10 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 3, 3, Terminator, | 32 3, 3, Terminator, |
| 33 0, 65534, Terminator, | 33 0, 65534, Terminator, |
| 34 0, 65534, Terminator | 34 0, 65534, Terminator |
| 35 }; | 35 }; |
| 36 | 36 |
| 37 const uint64_t ReplaceIndex = 4; | 37 const uint64_t ReplaceIndex = 4; |
| 38 | 38 |
| 39 // Show text of base input. | 39 // Show text of base input. |
| 40 NaClObjDumpMunger BaseMunger(BitcodeRecords, | 40 NaClObjDumpMunger BaseMunger(BitcodeRecords, |
| 41 array_lengthof(BitcodeRecords), Terminator); | 41 array_lengthof(BitcodeRecords), Terminator); |
| 42 EXPECT_TRUE(BaseMunger.runTestForAssembly("Bad type references base")); | 42 EXPECT_TRUE(BaseMunger.runTest("Bad type references base")); |
| 43 EXPECT_EQ( | 43 EXPECT_EQ( |
| 44 "module { // BlockID = 8\n" | 44 " 0:0|<65532, 80, 69, 88, 69, 1, 0,|Magic Number: 'PEXE' (80, 69, " |
| 45 " types { // BlockID = 17\n" | 45 "88, 69)\n" |
| 46 " count 2;\n" | 46 " | 8, 0, 17, 0, 4, 0, 2, 0, 0, |PNaCl Version: 2\n" |
| 47 " @t0 = i32;\n" | 47 " | 0> |\n" |
| 48 " @t1 = float;\n" | 48 " 16:0|1: <65535, 8, 2> |module { // BlockID = 8\n" |
| 49 " }\n" | 49 " 24:0| 1: <65535, 17, 2> | types { // BlockID = 17\n" |
| 50 "}\n", | 50 " 32:0| 3: <1, 2> | count 2;\n" |
| 51 " 34:4| 3: <7, 32> | @t0 = i32;\n" |
| 52 " 37:6| 3: <3> | @t1 = float;\n" |
| 53 " 39:4| 0: <65534> | }\n" |
| 54 " 40:0|0: <65534> |}\n", |
| 51 BaseMunger.getTestResults()); | 55 BaseMunger.getTestResults()); |
| 52 | 56 |
| 53 // Show that we successfully parse the base input. | 57 // Show that we successfully parse the base input. |
| 54 NaClParseBitcodeMunger Munger(BitcodeRecords, | 58 NaClParseBitcodeMunger Munger(BitcodeRecords, |
| 55 array_lengthof(BitcodeRecords), Terminator); | 59 array_lengthof(BitcodeRecords), Terminator); |
| 56 EXPECT_TRUE(Munger.runTest("base parse", true)); | 60 EXPECT_TRUE(Munger.runTest("base parse", true)); |
| 57 EXPECT_EQ( | 61 EXPECT_EQ( |
| 58 "Successful parse!\n", | 62 "Successful parse!\n", |
| 59 Munger.getTestResults()); | 63 Munger.getTestResults()); |
| 60 | 64 |
| 61 // Show what happens when misdefining: @t1 = float" | 65 // Show what happens when misdefining: @t1 = float" |
| 62 const uint64_t AddSelfReference[] = { | 66 const uint64_t AddSelfReference[] = { |
| 63 ReplaceIndex, NaClBitcodeMunger::Replace, 3, 3, 1, Terminator | 67 ReplaceIndex, NaClBitcodeMunger::Replace, 3, 3, 1, Terminator |
| 64 }; | 68 }; |
| 65 EXPECT_FALSE(Munger.runTest( | 69 EXPECT_FALSE(Munger.runTest( |
| 66 "@t1 = float(1)", | 70 "@t1 = float(1)", |
| 67 AddSelfReference, array_lengthof(AddSelfReference), | 71 AddSelfReference, array_lengthof(AddSelfReference), |
| 68 false)); | 72 false)); |
| 69 EXPECT_EQ( | 73 EXPECT_EQ( |
| 70 "Error: Record doesn't have expected size or structure\n", | 74 "Error: Record doesn't have expected size or structure\n", |
| 71 Munger.getTestResults()); | 75 Munger.getTestResults()); |
| 72 EXPECT_FALSE(Munger.runTest( | 76 EXPECT_FALSE(Munger.runTest( |
| 73 "@t1 = float(1)", | 77 "@t1 = float(1)", |
| 74 AddSelfReference, array_lengthof(AddSelfReference), | 78 AddSelfReference, array_lengthof(AddSelfReference), |
| 75 true)); | 79 true)); |
| 76 EXPECT_EQ( | 80 EXPECT_EQ( |
| 77 "Error: (24:2) Invalid TYPE_CODE_FLOAT record\n" | 81 "Error: (40:2) Invalid TYPE_CODE_FLOAT record\n" |
| 78 "Error: Record doesn't have expected size or structure\n", | 82 "Error: Record doesn't have expected size or structure\n", |
| 79 Munger.getTestResults()); | 83 Munger.getTestResults()); |
| 80 } | 84 } |
| 81 | 85 |
| 82 } // end of anonamous namespace. | 86 } // end of anonamous namespace. |
| OLD | NEW |