![marghettinicolas@hotmail.com](/assets/img/avatar_default.png)
![Jordan Harband](/assets/img/avatar_default.png)
2 changed files with 109 additions and 23 deletions
@ -0,0 +1,56 @@
@@ -0,0 +1,56 @@
|
||||
#!/bin/sh |
||||
|
||||
cleanup () { |
||||
[ -d "$tmp_dir" ] && rm -rf "$tmp_dir" |
||||
[ -d "$NVM_DIR" ] && rm -rf "$NVM_DIR" |
||||
unset -f die cleanup test_archi nvm_supports_xz |
||||
unset NVM_DIR tmp_dir version archi |
||||
} |
||||
|
||||
die () { echo "$@" ; cleanup ; exit 1; } |
||||
|
||||
test_archi(){ |
||||
local os="$1" |
||||
local version="$2" |
||||
local archi="$os-$3" |
||||
local node="$4" |
||||
local ext="$5" |
||||
local command="$6" |
||||
local command_option="$7" |
||||
local node_path="$tmp_dir/node-$version-$archi/$node" |
||||
|
||||
# Create tarball |
||||
mkdir -p "$(dirname "$node_path")" |
||||
echo "node $version" > "$node_path" |
||||
(cd "$tmp_dir" && "$command" "$command_option" "$tmp_dir/node-$version-$archi.$ext" "node-$version-$archi" && rm -rf "$tmp_dir/node-$version-$archi") |
||||
[ -f "$tmp_dir/node-$version-$archi.$ext" ] || die "Unable to create fake $ext file" |
||||
|
||||
# Extract it |
||||
nvm_install_binary_extract "$os" "$version" "${version:1}" "$tmp_dir/node-$version-$archi.$ext" "$tmp_dir/files" |
||||
[ "$(cat "$NVM_DIR/versions/node/$version/bin/node")" = "node $version" ] || die "Unable to extract $ext file" |
||||
} |
||||
|
||||
\. ../../../nvm.sh |
||||
|
||||
set -ex |
||||
|
||||
# nvm_install_binary_extract is available |
||||
type nvm_install_binary_extract > /dev/null 2>&1 || die 'nvm_install_binary_extract is not available' |
||||
|
||||
NVM_DIR=$(mktemp -d) |
||||
tmp_dir=$(mktemp -d) |
||||
if [ -z "$NVM_DIR" ] || [ -z "$tmp_dir" ]; then |
||||
die 'Unable to create temporary folder' |
||||
fi |
||||
|
||||
# Test linux tar.xz |
||||
test_archi 'linux' 'v14.15.4' 'x64' 'bin/node' 'tar.xz' 'tar' '-cJf' |
||||
|
||||
nvm_supports_xz(){ |
||||
return 1 |
||||
} |
||||
|
||||
# Test linux tar.gz |
||||
test_archi 'linux' 'v12.9.0' 'x64' 'bin/node' 'tar.gz' 'tar' '-czf' |
||||
|
||||
cleanup |
Loading…
Reference in new issue