mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Allow kernel versions with a + suffix in ParseKernelVersion()
This is needed to support kernel versions like 6.1.90+. PiperOrigin-RevId: 640936154
This commit is contained in:
@@ -100,7 +100,7 @@ bool operator==(const KernelVersion& first, const KernelVersion& second) {
|
||||
PosixErrorOr<KernelVersion> ParseKernelVersion(absl::string_view vers_str) {
|
||||
KernelVersion version = {};
|
||||
std::vector<std::string> values =
|
||||
absl::StrSplit(vers_str, absl::ByAnyChar(".-"));
|
||||
absl::StrSplit(vers_str, absl::ByAnyChar(".-+"));
|
||||
if (values.size() == 2) {
|
||||
ASSIGN_OR_RETURN_ERRNO(version.major, Atoi<int>(values[0]));
|
||||
ASSIGN_OR_RETURN_ERRNO(version.minor, Atoi<int>(values[1]));
|
||||
|
||||
@@ -58,6 +58,9 @@ TEST(KernelVersionParsing, ValidateParsing) {
|
||||
v = ASSERT_NO_ERRNO_AND_VALUE(ParseKernelVersion("4.0"));
|
||||
ASSERT_TRUE(v == KernelVersion({4, 0, 0}));
|
||||
|
||||
v = ASSERT_NO_ERRNO_AND_VALUE(ParseKernelVersion("6.1.90+"));
|
||||
ASSERT_TRUE(v == KernelVersion({6, 1, 90}));
|
||||
|
||||
ASSERT_THAT(ParseKernelVersion("4.a"), PosixErrorIs(EINVAL, ::testing::_));
|
||||
ASSERT_THAT(ParseKernelVersion("3"), PosixErrorIs(EINVAL, ::testing::_));
|
||||
ASSERT_THAT(ParseKernelVersion(""), PosixErrorIs(EINVAL, ::testing::_));
|
||||
|
||||
Reference in New Issue
Block a user