diff options
Diffstat (limited to 'gnu/llvm/unittests/Support/SourceMgrTest.cpp')
| -rw-r--r-- | gnu/llvm/unittests/Support/SourceMgrTest.cpp | 499 |
1 files changed, 0 insertions, 499 deletions
diff --git a/gnu/llvm/unittests/Support/SourceMgrTest.cpp b/gnu/llvm/unittests/Support/SourceMgrTest.cpp deleted file mode 100644 index 7bb76f556f7..00000000000 --- a/gnu/llvm/unittests/Support/SourceMgrTest.cpp +++ /dev/null @@ -1,499 +0,0 @@ -//===- unittests/Support/SourceMgrTest.cpp - SourceMgr tests --------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "llvm/Support/SourceMgr.h" -#include "llvm/Support/MemoryBuffer.h" -#include "llvm/Support/raw_ostream.h" -#include "gtest/gtest.h" - -using namespace llvm; - -namespace { - -class SourceMgrTest : public testing::Test { -public: - SourceMgr SM; - unsigned MainBufferID; - std::string Output; - - void setMainBuffer(StringRef Text, StringRef BufferName) { - std::unique_ptr<MemoryBuffer> MainBuffer = - MemoryBuffer::getMemBuffer(Text, BufferName); - MainBufferID = SM.AddNewSourceBuffer(std::move(MainBuffer), llvm::SMLoc()); - } - - SMLoc getLoc(unsigned Offset) { - return SMLoc::getFromPointer( - SM.getMemoryBuffer(MainBufferID)->getBufferStart() + Offset); - } - - SMRange getRange(unsigned Offset, unsigned Length) { - return SMRange(getLoc(Offset), getLoc(Offset + Length)); - } - - void printMessage(SMLoc Loc, SourceMgr::DiagKind Kind, - const Twine &Msg, ArrayRef<SMRange> Ranges, - ArrayRef<SMFixIt> FixIts) { - raw_string_ostream OS(Output); - SM.PrintMessage(OS, Loc, Kind, Msg, Ranges, FixIts); - } -}; - -} // unnamed namespace - -TEST_F(SourceMgrTest, BasicError) { - setMainBuffer("aaa bbb\nccc ddd\n", "file.in"); - printMessage(getLoc(4), SourceMgr::DK_Error, "message", None, None); - - EXPECT_EQ("file.in:1:5: error: message\n" - "aaa bbb\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, BasicWarning) { - setMainBuffer("aaa bbb\nccc ddd\n", "file.in"); - printMessage(getLoc(4), SourceMgr::DK_Warning, "message", None, None); - - EXPECT_EQ("file.in:1:5: warning: message\n" - "aaa bbb\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, BasicRemark) { - setMainBuffer("aaa bbb\nccc ddd\n", "file.in"); - printMessage(getLoc(4), SourceMgr::DK_Remark, "message", None, None); - - EXPECT_EQ("file.in:1:5: remark: message\n" - "aaa bbb\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, BasicNote) { - setMainBuffer("aaa bbb\nccc ddd\n", "file.in"); - printMessage(getLoc(4), SourceMgr::DK_Note, "message", None, None); - - EXPECT_EQ("file.in:1:5: note: message\n" - "aaa bbb\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationAtEndOfLine) { - setMainBuffer("aaa bbb\nccc ddd\n", "file.in"); - printMessage(getLoc(6), SourceMgr::DK_Error, "message", None, None); - - EXPECT_EQ("file.in:1:7: error: message\n" - "aaa bbb\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationAtNewline) { - setMainBuffer("aaa bbb\nccc ddd\n", "file.in"); - printMessage(getLoc(7), SourceMgr::DK_Error, "message", None, None); - - EXPECT_EQ("file.in:1:8: error: message\n" - "aaa bbb\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationAtEmptyBuffer) { - setMainBuffer("", "file.in"); - printMessage(getLoc(0), SourceMgr::DK_Error, "message", None, None); - - EXPECT_EQ("file.in:1:1: error: message\n" - "\n" - "^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationJustOnSoleNewline) { - setMainBuffer("\n", "file.in"); - printMessage(getLoc(0), SourceMgr::DK_Error, "message", None, None); - - EXPECT_EQ("file.in:1:1: error: message\n" - "\n" - "^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationJustAfterSoleNewline) { - setMainBuffer("\n", "file.in"); - printMessage(getLoc(1), SourceMgr::DK_Error, "message", None, None); - - EXPECT_EQ("file.in:2:1: error: message\n" - "\n" - "^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationJustAfterNonNewline) { - setMainBuffer("123", "file.in"); - printMessage(getLoc(3), SourceMgr::DK_Error, "message", None, None); - - EXPECT_EQ("file.in:1:4: error: message\n" - "123\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationOnFirstLineOfMultiline) { - setMainBuffer("1234\n6789\n", "file.in"); - printMessage(getLoc(3), SourceMgr::DK_Error, "message", None, None); - - EXPECT_EQ("file.in:1:4: error: message\n" - "1234\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationOnEOLOfFirstLineOfMultiline) { - setMainBuffer("1234\n6789\n", "file.in"); - printMessage(getLoc(4), SourceMgr::DK_Error, "message", None, None); - - EXPECT_EQ("file.in:1:5: error: message\n" - "1234\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationOnSecondLineOfMultiline) { - setMainBuffer("1234\n6789\n", "file.in"); - printMessage(getLoc(5), SourceMgr::DK_Error, "message", None, None); - - EXPECT_EQ("file.in:2:1: error: message\n" - "6789\n" - "^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationOnSecondLineOfMultilineNoSecondEOL) { - setMainBuffer("1234\n6789", "file.in"); - printMessage(getLoc(5), SourceMgr::DK_Error, "message", None, None); - - EXPECT_EQ("file.in:2:1: error: message\n" - "6789\n" - "^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationOnEOLOfSecondSecondLineOfMultiline) { - setMainBuffer("1234\n6789\n", "file.in"); - printMessage(getLoc(9), SourceMgr::DK_Error, "message", None, None); - - EXPECT_EQ("file.in:2:5: error: message\n" - "6789\n" - " ^\n", - Output); -} - -#define STRING_LITERAL_253_BYTES \ - "1234567890\n1234567890\n" \ - "1234567890\n1234567890\n" \ - "1234567890\n1234567890\n" \ - "1234567890\n1234567890\n" \ - "1234567890\n1234567890\n" \ - "1234567890\n1234567890\n" \ - "1234567890\n1234567890\n" \ - "1234567890\n1234567890\n" \ - "1234567890\n1234567890\n" \ - "1234567890\n1234567890\n" \ - "1234567890\n1234567890\n" \ - "1234567890\n" - -//===----------------------------------------------------------------------===// -// 255-byte buffer tests -//===----------------------------------------------------------------------===// - -TEST_F(SourceMgrTest, LocationBeforeEndOf255ByteBuffer) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "12" // + 2 = 255 bytes - , "file.in"); - printMessage(getLoc(253), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:24:1: error: message\n" - "12\n" - "^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationAtEndOf255ByteBuffer) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "12" // + 2 = 255 bytes - , "file.in"); - printMessage(getLoc(254), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:24:2: error: message\n" - "12\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationPastEndOf255ByteBuffer) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "12" // + 2 = 255 bytes - , "file.in"); - printMessage(getLoc(255), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:24:3: error: message\n" - "12\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationBeforeEndOf255ByteBufferEndingInNewline) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "1\n" // + 2 = 255 bytes - , "file.in"); - printMessage(getLoc(253), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:24:1: error: message\n" - "1\n" - "^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationAtEndOf255ByteBufferEndingInNewline) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "1\n" // + 2 = 255 bytes - , "file.in"); - printMessage(getLoc(254), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:24:2: error: message\n" - "1\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationPastEndOf255ByteBufferEndingInNewline) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "1\n" // + 2 = 255 bytes - , "file.in"); - printMessage(getLoc(255), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:25:1: error: message\n" - "\n" - "^\n", - Output); -} - -//===----------------------------------------------------------------------===// -// 256-byte buffer tests -//===----------------------------------------------------------------------===// - -TEST_F(SourceMgrTest, LocationBeforeEndOf256ByteBuffer) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "123" // + 3 = 256 bytes - , "file.in"); - printMessage(getLoc(254), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:24:2: error: message\n" - "123\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationAtEndOf256ByteBuffer) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "123" // + 3 = 256 bytes - , "file.in"); - printMessage(getLoc(255), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:24:3: error: message\n" - "123\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationPastEndOf256ByteBuffer) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "123" // + 3 = 256 bytes - , "file.in"); - printMessage(getLoc(256), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:24:4: error: message\n" - "123\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationBeforeEndOf256ByteBufferEndingInNewline) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "12\n" // + 3 = 256 bytes - , "file.in"); - printMessage(getLoc(254), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:24:2: error: message\n" - "12\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationAtEndOf256ByteBufferEndingInNewline) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "12\n" // + 3 = 256 bytes - , "file.in"); - printMessage(getLoc(255), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:24:3: error: message\n" - "12\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationPastEndOf256ByteBufferEndingInNewline) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "12\n" // + 3 = 256 bytes - , "file.in"); - printMessage(getLoc(256), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:25:1: error: message\n" - "\n" - "^\n", - Output); -} - -//===----------------------------------------------------------------------===// -// 257-byte buffer tests -//===----------------------------------------------------------------------===// - -TEST_F(SourceMgrTest, LocationBeforeEndOf257ByteBuffer) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "1234" // + 4 = 257 bytes - , "file.in"); - printMessage(getLoc(255), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:24:3: error: message\n" - "1234\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationAtEndOf257ByteBuffer) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "1234" // + 4 = 257 bytes - , "file.in"); - printMessage(getLoc(256), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:24:4: error: message\n" - "1234\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationPastEndOf257ByteBuffer) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "1234" // + 4 = 257 bytes - , "file.in"); - printMessage(getLoc(257), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:24:5: error: message\n" - "1234\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationBeforeEndOf257ByteBufferEndingInNewline) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "123\n" // + 4 = 257 bytes - , "file.in"); - printMessage(getLoc(255), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:24:3: error: message\n" - "123\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationAtEndOf257ByteBufferEndingInNewline) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "123\n" // + 4 = 257 bytes - , "file.in"); - printMessage(getLoc(256), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:24:4: error: message\n" - "123\n" - " ^\n", - Output); -} - -TEST_F(SourceMgrTest, LocationPastEndOf257ByteBufferEndingInNewline) { - setMainBuffer(STRING_LITERAL_253_BYTES // first 253 bytes - "123\n" // + 4 = 257 bytes - , "file.in"); - printMessage(getLoc(257), SourceMgr::DK_Error, "message", None, None); - EXPECT_EQ("file.in:25:1: error: message\n" - "\n" - "^\n", - Output); -} - -TEST_F(SourceMgrTest, BasicRange) { - setMainBuffer("aaa bbb\nccc ddd\n", "file.in"); - printMessage(getLoc(4), SourceMgr::DK_Error, "message", getRange(4, 3), None); - - EXPECT_EQ("file.in:1:5: error: message\n" - "aaa bbb\n" - " ^~~\n", - Output); -} - -TEST_F(SourceMgrTest, RangeWithTab) { - setMainBuffer("aaa\tbbb\nccc ddd\n", "file.in"); - printMessage(getLoc(4), SourceMgr::DK_Error, "message", getRange(3, 3), None); - - EXPECT_EQ("file.in:1:5: error: message\n" - "aaa bbb\n" - " ~~~~~^~\n", - Output); -} - -TEST_F(SourceMgrTest, MultiLineRange) { - setMainBuffer("aaa bbb\nccc ddd\n", "file.in"); - printMessage(getLoc(4), SourceMgr::DK_Error, "message", getRange(4, 7), None); - - EXPECT_EQ("file.in:1:5: error: message\n" - "aaa bbb\n" - " ^~~\n", - Output); -} - -TEST_F(SourceMgrTest, MultipleRanges) { - setMainBuffer("aaa bbb\nccc ddd\n", "file.in"); - SMRange Ranges[] = { getRange(0, 3), getRange(4, 3) }; - printMessage(getLoc(4), SourceMgr::DK_Error, "message", Ranges, None); - - EXPECT_EQ("file.in:1:5: error: message\n" - "aaa bbb\n" - "~~~ ^~~\n", - Output); -} - -TEST_F(SourceMgrTest, OverlappingRanges) { - setMainBuffer("aaa bbb\nccc ddd\n", "file.in"); - SMRange Ranges[] = { getRange(0, 3), getRange(2, 4) }; - printMessage(getLoc(4), SourceMgr::DK_Error, "message", Ranges, None); - - EXPECT_EQ("file.in:1:5: error: message\n" - "aaa bbb\n" - "~~~~^~\n", - Output); -} - -TEST_F(SourceMgrTest, BasicFixit) { - setMainBuffer("aaa bbb\nccc ddd\n", "file.in"); - printMessage(getLoc(4), SourceMgr::DK_Error, "message", None, - makeArrayRef(SMFixIt(getRange(4, 3), "zzz"))); - - EXPECT_EQ("file.in:1:5: error: message\n" - "aaa bbb\n" - " ^~~\n" - " zzz\n", - Output); -} - -TEST_F(SourceMgrTest, FixitForTab) { - setMainBuffer("aaa\tbbb\nccc ddd\n", "file.in"); - printMessage(getLoc(3), SourceMgr::DK_Error, "message", None, - makeArrayRef(SMFixIt(getRange(3, 1), "zzz"))); - - EXPECT_EQ("file.in:1:4: error: message\n" - "aaa bbb\n" - " ^^^^^\n" - " zzz\n", - Output); -} - |
