MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / TEST

Function TEST

tensorflow/core/util/semver_test.cc:48–80  ·  view source on GitHub ↗

Test that TF_VERSION_STRING follows semantic versioning.

Source from the content-addressed store, hash-verified

46
47// Test that TF_VERSION_STRING follows semantic versioning.
48TEST(SemverTest, VersionStringFollowsSemver) {
49 // Poor approximation of the semver 2.0 specification at www.semver.org. Feel
50 // free to refine further (for example, check for leading 0s in numbers), but
51 // avoid adding dependencies.
52 uint64 major, minor, patch;
53 StringPiece prerelease, metadata;
54 StringPiece semver(TF_VERSION_STRING);
55
56 ASSERT_TRUE(str_util::ConsumeLeadingDigits(&semver, &major));
57 ASSERT_TRUE(absl::ConsumePrefix(&semver, "."));
58 ASSERT_TRUE(str_util::ConsumeLeadingDigits(&semver, &minor));
59 ASSERT_TRUE(absl::ConsumePrefix(&semver, "."));
60 // Till 0.11.0rc2, the prerelease version was (incorrectly) not separated from
61 // the patch version number. Let that slide.
62 // Remove this when TF_VERSION_STRING moves beyond 0.11.0rc2.
63 if (major == 0 && minor <= 11) {
64 return;
65 }
66 if (absl::ConsumePrefix(&semver, "head")) {
67 ASSERT_TRUE(semver.empty());
68 return;
69 }
70 ASSERT_TRUE(str_util::ConsumeLeadingDigits(&semver, &patch));
71 if (semver.empty()) return;
72 if (semver[0] == '-') {
73 ASSERT_TRUE(ConsumeDotSeparatedIdentifiers(&semver, "-", &prerelease));
74 }
75 if (semver.empty()) return;
76 if (semver[0] == '+') {
77 ASSERT_TRUE(ConsumeDotSeparatedIdentifiers(&semver, "+", &metadata));
78 }
79 ASSERT_TRUE(semver.empty());
80}
81} // namespace
82} // namespace tensorflow

Callers

nothing calls this directly

Calls 4

ConsumeLeadingDigitsFunction · 0.85
ConsumePrefixFunction · 0.50
emptyMethod · 0.45

Tested by

no test coverage detected