Author: juliehockett Date: Fri Jul 12 15:19:02 2019 New Revision: 365967 URL: http://llvm.org/viewvc/llvm-project?rev=365967&view=rev Log: [clang-doc] Fix failing tests on Windows
Tests on Windows were failing due to path separator differences. '/' was being used as separator in the expected output, paths in expected output are now changed to their native form before comparing them to the actual output. Committed on behalf of Diego Astiazarán (diegoaa...@gmail.com). Differential Revision: https://reviews.llvm.org/D64669 Modified: clang-tools-extra/trunk/unittests/clang-doc/HTMLGeneratorTest.cpp Modified: clang-tools-extra/trunk/unittests/clang-doc/HTMLGeneratorTest.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/unittests/clang-doc/HTMLGeneratorTest.cpp?rev=365967&r1=365966&r2=365967&view=diff ============================================================================== --- clang-tools-extra/trunk/unittests/clang-doc/HTMLGeneratorTest.cpp (original) +++ clang-tools-extra/trunk/unittests/clang-doc/HTMLGeneratorTest.cpp Fri Jul 12 15:19:02 2019 @@ -79,10 +79,11 @@ TEST(HTMLGeneratorTest, emitRecordHTML) I.DefLoc = Location(10, llvm::SmallString<16>{"test.cpp"}); I.Loc.emplace_back(12, llvm::SmallString<16>{"test.cpp"}); + SmallString<16> PathTo; + llvm::sys::path::native("path/to", PathTo); I.Members.emplace_back("int", "X/Y", "X", AccessSpecifier::AS_private); I.TagType = TagTypeKind::TTK_Class; - I.Parents.emplace_back(EmptySID, "F", InfoType::IT_record, - llvm::SmallString<128>("path/to")); + I.Parents.emplace_back(EmptySID, "F", InfoType::IT_record, PathTo); I.VirtualParents.emplace_back(EmptySID, "G", InfoType::IT_record); I.ChildRecords.emplace_back(EmptySID, "ChildStruct", InfoType::IT_record); @@ -97,6 +98,10 @@ TEST(HTMLGeneratorTest, emitRecordHTML) llvm::raw_string_ostream Actual(Buffer); auto Err = G->generateDocForInfo(&I, Actual); assert(!Err); + SmallString<16> PathToF; + llvm::sys::path::native("../../../path/to/F.html", PathToF); + SmallString<16> PathToInt; + llvm::sys::path::native("../int.html", PathToInt); std::string Expected = R"raw(<!DOCTYPE html> <meta charset="utf-8"/> <title>class r</title> @@ -107,12 +112,14 @@ TEST(HTMLGeneratorTest, emitRecordHTML) </p> <p> Inherits from - <a href="../../../path/to/F.html">F</a> + <a href=")raw" + std::string(PathToF.str()) + + R"raw(">F</a> , G </p> <h2>Members</h2> <ul> - <li>private <a href="../int.html">int</a> X</li> + <li>private <a href=")raw" + + std::string(PathToInt.str()) + R"raw(">int</a> X</li> </ul> <h2>Records</h2> <ul> @@ -143,8 +150,10 @@ TEST(HTMLGeneratorTest, emitFunctionHTML I.DefLoc = Location(10, llvm::SmallString<16>{"test.cpp"}); I.Loc.emplace_back(12, llvm::SmallString<16>{"test.cpp"}); - I.ReturnType = TypeInfo(EmptySID, "float", InfoType::IT_default, "path/to"); - I.Params.emplace_back("int", "path/to", "P"); + SmallString<16> PathTo; + llvm::sys::path::native("path/to", PathTo); + I.ReturnType = TypeInfo(EmptySID, "float", InfoType::IT_default, PathTo); + I.Params.emplace_back("int", PathTo, "P"); I.IsMethod = true; I.Parent = Reference(EmptySID, "Parent", InfoType::IT_record); @@ -154,15 +163,21 @@ TEST(HTMLGeneratorTest, emitFunctionHTML llvm::raw_string_ostream Actual(Buffer); auto Err = G->generateDocForInfo(&I, Actual); assert(!Err); + SmallString<16> PathToFloat; + llvm::sys::path::native("path/to/float.html", PathToFloat); + SmallString<16> PathToInt; + llvm::sys::path::native("path/to/int.html", PathToInt); std::string Expected = R"raw(<!DOCTYPE html> <meta charset="utf-8"/> <title></title> <div> <h3>f</h3> <p> - <a href="path/to/float.html">float</a> + <a href=")raw" + std::string(PathToFloat.str()) + + R"raw(">float</a> f( - <a href="path/to/int.html">int</a> + <a href=")raw" + std::string(PathToInt.str()) + + R"raw(">int</a> P) </p> <p> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits