================ @@ -0,0 +1,48 @@ +//===- unittests/Driver/GCCVersionTest.cpp --- GCCVersion parser tests ----===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// Unit tests for Generic_GCC::GCCVersion +// +//===----------------------------------------------------------------------===// + +#include "../../lib/Driver/ToolChains/Gnu.h" +#include "gtest/gtest.h" + +using namespace clang::driver; +using namespace clang; + +struct VersionParseTest { + std::string Text; + + int Major, Minor, Patch; + std::string MajorStr, MinorStr, PatchSuffix; +}; + +const VersionParseTest TestCases[] = { + {"5", 5, -1, -1, "5", "", ""}, + {"4.4", 4, 4, -1, "4", "4", ""}, + {"4.4-patched", 4, 4, -1, "4", "4", "-patched"}, + {"4.4.0", 4, 4, 0, "4", "4", ""}, + {"4.4.x", 4, 4, -1, "4", "4", ""}, + {"4.4.2-rc4", 4, 4, 2, "4", "4", "-rc4"}, + {"4.4.x-patched", 4, 4, -1, "4", "4", ""}, + {"not-a-version", -1, -1, -1, "", "", ""}, +}; + +TEST(GCCVersionTest, Parse) { + for (const auto &TC : TestCases) { + auto V = toolchains::Generic_GCC::GCCVersion::Parse(TC.Text); + ASSERT_EQ(V.Text, TC.Text); ---------------- MaskRay wrote:
`EXPECT_EQ` http://google.github.io/googletest/primer.html > The assertions come in pairs that test the same thing but have different > effects on the current function. ASSERT_* versions generate fatal failures > when they fail, and abort the current function. EXPECT_* versions generate > nonfatal failures, which don’t abort the current function. Usually EXPECT_* > are preferred, as they allow more than one failure to be reported in a test. > However, you should use ASSERT_* if it doesn’t make sense to continue when > the assertion in question fails. https://github.com/llvm/llvm-project/pull/69078 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits