Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:19
erlang
1089-ct-Search-PATH-for-old-erlang-versions-for...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 1089-ct-Search-PATH-for-old-erlang-versions-for-compat-te.patch of Package erlang
From 4fa4a5369ef5b042010295a5d9b48f8d993e2438 Mon Sep 17 00:00:00 2001 From: Lukas Larsson <lukas@erlang.org> Date: Thu, 14 Jan 2021 09:49:03 +0100 Subject: [PATCH 2/2] ct: Search PATH for old erlang versions for compat testing --- lib/common_test/src/test_server_node.erl | 33 +++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/lib/common_test/src/test_server_node.erl b/lib/common_test/src/test_server_node.erl index 8deea353d7..edfb1fbd92 100644 --- a/lib/common_test/src/test_server_node.erl +++ b/lib/common_test/src/test_server_node.erl @@ -645,7 +645,38 @@ find_release(latest) -> find_release(previous) -> "kaka"; find_release(Rel) -> - find_release(os:type(), Rel). + case find_release(os:type(), Rel) of + none -> + find_release_path(Rel); + Else -> + Else + end. + +find_release_path(Rel) -> + Paths = string:lexemes(os:getenv("PATH"), ":"), + find_release_path(Paths, Rel). +find_release_path([Path|T], Rel) -> + case os:find_executable("erl", Path) of + false -> + find_release_path(T, Rel); + ErlExec -> + Pattern = filename:join([Path,"..","releases","*","OTP_VERSION"]), + case filelib:wildcard(Pattern) of + [VersionFile] -> + {ok, VsnBin} = file:read_file(VersionFile), + [MajorVsn|_] = string:lexemes(VsnBin, "."), + case unicode:characters_to_list(MajorVsn) of + Rel -> + ErlExec; + _Else -> + find_release_path(T, Rel) + end; + _Else -> + find_release_path(T, Rel) + end + end; +find_release_path([], _) -> + none. find_release({unix,sunos}, Rel) -> case os:cmd("uname -p") of -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor