Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions tests/parametric/test_process_discovery.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,7 @@ def get_context_tracer_version():
if context.library.name == "ruby":
major = context.library.version.major
minor = context.library.version.minor
if "dev" in context.library.version.prerelease:
patch = context.library.version.patch - 1
else:
patch = context.library.version.patch
patch = context.library.version.patch
return Version(f"{major}.{minor}.{patch}")
elif context.library.name == "java":
return Version(str(context.library.version).replace("+", "-"))
Expand Down
13 changes: 7 additions & 6 deletions tests/test_the_test/test_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,22 +38,23 @@ def test_version_comparizon():

def test_ruby_version():
v = ComponentVersion("ruby", "0.53.0.appsec.180045")
assert str(v.version) == "0.53.1-appsec+180045"
assert str(v.version) == "0.53.0-appsec+180045"

v = ComponentVersion("ruby", "1.0.0.beta1 de82857")
assert v.version == Version("1.0.1-beta1+de82857")
assert v.version == Version("1.0.0-beta1+de82857")

v = ComponentVersion("ruby", "2.3.0 7dbcc40")
assert str(v.version) == "2.3.1-z+7dbcc40"
assert str(v.version) == "2.3.0+7dbcc40"

assert ComponentVersion("ruby", "1.0.0.beta1") == "[email protected].1-z+beta1"
assert ComponentVersion("ruby", "1.0.0.beta1 de82857") == "[email protected].1-beta1+de82857"
assert ComponentVersion("ruby", "1.0.0.beta1") == "[email protected].0-beta1"
assert ComponentVersion("ruby", "1.0.0.beta1 de82857") == "[email protected].0-beta1+de82857"

# very particular use case, because we hack the path for dev versions
assert ComponentVersion("ruby", "1.0.0.beta1 de82857") < "[email protected]"
assert ComponentVersion("ruby", "1.0.0.rc1") < "[email protected]"

assert ComponentVersion("ruby", "2.3.0 7dbcc40") >= "[email protected]"
assert ComponentVersion("ruby", "2.3.0 7dbcc40") > "[email protected]"
assert ComponentVersion("ruby", "2.3.0") > "[email protected]"


def test_library_version_comparizon():
Expand Down
28 changes: 1 addition & 27 deletions utils/_context/component_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ def __init__(self, name: str, version: str = "0.0.0"):
build = r"[a-f0-9]+"
if re.match(rf"{base}[\. ]{prerelease}[\. ]{build}", version):
version = re.sub(rf"({base})[\. ]({prerelease})[\. ]({build})", r"\1-\2+\3", version)
elif re.match(rf"{base}[\. ]{build}", version):
elif re.match(rf"{base} {build}", version):
version = re.sub(rf"({base})[\. ]({build})", r"\1+\2", version)
elif re.match(rf"{base}[\. ]{prerelease}", version):
version = re.sub(rf"({base})[\. ]({prerelease})", r"\1-\2", version)
Expand All @@ -106,32 +106,6 @@ def __init__(self, name: str, version: str = "0.0.0"):

self.version = Version(version)

if name == "ruby":
if len(self.version.build) != 0 or len(self.version.prerelease) != 0:
# we are not in a released version

# dd-trace-rb main branch expose a version equal to the last release, so hack it:
# * add 1 to minor version
# * and set z as prerelease if not prerelease is set, because z will be after any other prerelease

# if dd-trace-rb repo fix the underlying issue, we can remove this hack.
self.version = Version(
major=self.version.major,
minor=self.version.minor,
patch=self.version.patch + 1,
prerelease=self.version.prerelease,
build=self.version.build,
)

if not self.version.prerelease:
self.version = Version(
major=self.version.major,
minor=self.version.minor,
patch=self.version.patch,
prerelease=("z",),
build=self.version.build,
)

self.add_known_version(self.version)
else:
self.version = Version("0.0.0")
Expand Down
Loading