 nmarghetti
					
					5 years ago
					
						committed by
						nmarghetti
					
					5 years ago
					
						committed by
						
							 Jordan Harband
							Jordan Harband
						
					
				
				 2 changed files with 109 additions and 23 deletions
			
			
		| @ -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