netcron 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of netcron might be problematic. Click here for more details.

Files changed (425) hide show
  1. package/.cache/replit/__replit_disk_meta.json +1 -0
  2. package/.cache/replit/nix/env.json +1 -0
  3. package/.config/configstore/update-notifier-npm.json +4 -0
  4. package/.config/configstore/update-notifier-npm.json.1735545094 +4 -0
  5. package/.config/nvm/.dockerignore +16 -0
  6. package/.config/nvm/.editorconfig +28 -0
  7. package/.config/nvm/.gitattributes +1 -0
  8. package/.config/nvm/.github/FUNDING.yml +12 -0
  9. package/.config/nvm/.github/ISSUE_TEMPLATE.md +44 -0
  10. package/.config/nvm/.github/SECURITY.md +3 -0
  11. package/.config/nvm/.github/workflows/latest-npm.yml +81 -0
  12. package/.config/nvm/.github/workflows/lint.yml +77 -0
  13. package/.config/nvm/.github/workflows/rebase.yml +23 -0
  14. package/.config/nvm/.github/workflows/release.yml +32 -0
  15. package/.config/nvm/.github/workflows/require-allow-edits.yml +21 -0
  16. package/.config/nvm/.github/workflows/shellcheck.yml +58 -0
  17. package/.config/nvm/.github/workflows/tests.yml +56 -0
  18. package/.config/nvm/.github/workflows/toc.yml +37 -0
  19. package/.config/nvm/.github/workflows/windows-npm.yml +134 -0
  20. package/.config/nvm/.mailmap +1 -0
  21. package/.config/nvm/.travis.yml +100 -0
  22. package/.config/nvm/CODE_OF_CONDUCT.md +125 -0
  23. package/.config/nvm/CONTRIBUTING.md +115 -0
  24. package/.config/nvm/Dockerfile +111 -0
  25. package/.config/nvm/GOVERNANCE.md +10 -0
  26. package/.config/nvm/LICENSE.md +22 -0
  27. package/.config/nvm/Makefile +85 -0
  28. package/.config/nvm/PROJECT_CHARTER.md +49 -0
  29. package/.config/nvm/README.md +1047 -0
  30. package/.config/nvm/ROADMAP.md +9 -0
  31. package/.config/nvm/bash_completion +99 -0
  32. package/.config/nvm/install.sh +479 -0
  33. package/.config/nvm/nvm-exec +17 -0
  34. package/.config/nvm/nvm.sh +4417 -0
  35. package/.config/nvm/package.json +51 -0
  36. package/.config/nvm/rename_test.sh +52 -0
  37. package/.config/nvm/test/common.sh +103 -0
  38. package/.config/nvm/test/fast/Aliases/'nvm alias' should not accept aliases with slashes +26 -0
  39. package/.config/nvm/test/fast/Aliases/'nvm unalias' should accept aliases when they shadow a built-in alias +17 -0
  40. package/.config/nvm/test/fast/Aliases/'nvm unalias' should not accept aliases with names equal to built-in alias +25 -0
  41. package/.config/nvm/test/fast/Aliases/'nvm unalias' should not accept aliases with slashes +26 -0
  42. package/.config/nvm/test/fast/Aliases/Running 'nvm alias /313/202aliasname/313/203 /313/202target/313/203' again should change the target" +24 -0
  43. package/.config/nvm/test/fast/Aliases/Running 'nvm alias /313/202aliasname/313/203' should list but one alias" +4 -0
  44. package/.config/nvm/test/fast/Aliases/Running 'nvm alias' lists implicit aliases when they do not exist +26 -0
  45. package/.config/nvm/test/fast/Aliases/Running 'nvm alias' lists manual aliases instead of implicit aliases when present +49 -0
  46. package/.config/nvm/test/fast/Aliases/Running 'nvm alias' should list all aliases +48 -0
  47. package/.config/nvm/test/fast/Aliases/circular/nvm_resolve_alias +36 -0
  48. package/.config/nvm/test/fast/Aliases/circular/nvm_resolve_local_alias +36 -0
  49. package/.config/nvm/test/fast/Aliases/circular/setup +9 -0
  50. package/.config/nvm/test/fast/Aliases/circular/teardown +9 -0
  51. package/.config/nvm/test/fast/Aliases/lts/'nvm alias' should ensure LTS alias dir exists +18 -0
  52. package/.config/nvm/test/fast/Aliases/lts/setup_dir +10 -0
  53. package/.config/nvm/test/fast/Aliases/lts/teardown_dir +10 -0
  54. package/.config/nvm/test/fast/Aliases/nvm_ensure_default_set +20 -0
  55. package/.config/nvm/test/fast/Aliases/nvm_list_aliases calls nvm_get_colors +22 -0
  56. package/.config/nvm/test/fast/Aliases/nvm_list_aliases works with LTS aliases +31 -0
  57. package/.config/nvm/test/fast/Aliases/nvm_list_aliases works with no LTS aliases present +21 -0
  58. package/.config/nvm/test/fast/Aliases/nvm_print_alias_path calls nvm_get_colors +28 -0
  59. package/.config/nvm/test/fast/Aliases/nvm_print_formatted_alias calls nvm_get_colors +21 -0
  60. package/.config/nvm/test/fast/Aliases/nvm_resolve_alias +33 -0
  61. package/.config/nvm/test/fast/Aliases/nvm_resolve_local_alias +35 -0
  62. package/.config/nvm/test/fast/Aliases/setup +16 -0
  63. package/.config/nvm/test/fast/Aliases/teardown +17 -0
  64. package/.config/nvm/test/fast/Listing paths/Running 'nvm which 0.0.2' should display only version 0.0.2 +27 -0
  65. package/.config/nvm/test/fast/Listing paths/Running 'nvm which foo' should return a nonzero exit code when not found +6 -0
  66. package/.config/nvm/test/fast/Listing paths/teardown +3 -0
  67. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls --no-alias' does not call into nvm_alias +34 -0
  68. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls --no-alias' with a pattern errors +15 -0
  69. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls 0.0.2' should display only version 0.0.2 +21 -0
  70. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls 0.2' should display only 0.2.x versions +42 -0
  71. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls foo' should return a nonzero exit code when not found +6 -0
  72. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls io' should return NA +6 -0
  73. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls node_' should return a nonzero exit code when not found +6 -0
  74. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls stable' and 'nvm ls unstable' should return the appropriate implicit alias +29 -0
  75. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls system' should include 'system' when appropriate +21 -0
  76. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls' calls into nvm_alias +35 -0
  77. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls' should display all installed versions +44 -0
  78. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls' should filter out '.nvm' +10 -0
  79. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls' should filter out 'versions' +10 -0
  80. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls' should include 'system' when appropriate +21 -0
  81. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls' should list versions in the 'versions' directory +12 -0
  82. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls' should not show a trailing slash +42 -0
  83. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls' with node-like versioning vx.x.x should only list a matched version +11 -0
  84. package/.config/nvm/test/fast/Listing versions/Running 'nvm ls' with nounset should not fail +23 -0
  85. package/.config/nvm/test/fast/Listing versions/Using a nonstandard IFS should not break +19 -0
  86. package/.config/nvm/test/fast/Listing versions/teardown +16 -0
  87. package/.config/nvm/test/fast/Running 'nvm alias' should create a file in the alias directory +11 -0
  88. package/.config/nvm/test/fast/Running 'nvm current' should display current nvm environment +13 -0
  89. package/.config/nvm/test/fast/Running 'nvm deactivate' should unset the nvm environment variables +25 -0
  90. package/.config/nvm/test/fast/Running 'nvm install' with '--reinstall-packages-from' requires a valid version +59 -0
  91. package/.config/nvm/test/fast/Running 'nvm install' with an invalid version fails nicely +15 -0
  92. package/.config/nvm/test/fast/Running 'nvm unalias' should remove the alias file +13 -0
  93. package/.config/nvm/test/fast/Running 'nvm uninstall' should remove the appropriate directory +12 -0
  94. package/.config/nvm/test/fast/Running 'nvm uninstall' with incorrect file permissions fails nicely +14 -0
  95. package/.config/nvm/test/fast/Running 'nvm unload' should unset all function and variables +30 -0
  96. package/.config/nvm/test/fast/Running 'nvm use foo' where 'foo' is circular aborts +39 -0
  97. package/.config/nvm/test/fast/Running 'nvm use iojs' uses latest io.js version +37 -0
  98. package/.config/nvm/test/fast/Running 'nvm use system' should work as expected +44 -0
  99. package/.config/nvm/test/fast/Running 'nvm use x' should create and change the 'current' symlink +36 -0
  100. package/.config/nvm/test/fast/Running 'nvm use x' should not create the 'current' symlink if $NVM_SYMLINK_CURRENT is false +86 -0
  101. package/.config/nvm/test/fast/Running 'nvm use' should drop CR char automatically +33 -0
  102. package/.config/nvm/test/fast/Set Colors/nvm_echo_with_colors +21 -0
  103. package/.config/nvm/test/fast/Set Colors/nvm_err_with_colors +19 -0
  104. package/.config/nvm/test/fast/Set Colors/nvm_print_default_alias calls nvm_get_colors +24 -0
  105. package/.config/nvm/test/fast/Set Colors/nvm_print_versions calls nvm_get_colors +52 -0
  106. package/.config/nvm/test/fast/Sourcing nvm.sh should make the nvm command available +7 -0
  107. package/.config/nvm/test/fast/Sourcing nvm.sh should not modify parameters of caller +7 -0
  108. package/.config/nvm/test/fast/Unit tests/mocks/LTS_names.txt +8 -0
  109. package/.config/nvm/test/fast/Unit tests/mocks/iojs.org-dist-index.tab +42 -0
  110. package/.config/nvm/test/fast/Unit tests/mocks/lts-star.txt +1 -0
  111. package/.config/nvm/test/fast/Unit tests/mocks/nodejs.org-dist-index.tab +671 -0
  112. package/.config/nvm/test/fast/Unit tests/mocks/nodejs.org-download-nightly-index.tab +2915 -0
  113. package/.config/nvm/test/fast/Unit tests/mocks/nvm ls-remote iojs.txt +41 -0
  114. package/.config/nvm/test/fast/Unit tests/mocks/nvm ls-remote lts.txt +194 -0
  115. package/.config/nvm/test/fast/Unit tests/mocks/nvm ls-remote node.txt +670 -0
  116. package/.config/nvm/test/fast/Unit tests/mocks/nvm ls-remote.txt +711 -0
  117. package/.config/nvm/test/fast/Unit tests/mocks/nvm_ls_remote LTS argon.txt +36 -0
  118. package/.config/nvm/test/fast/Unit tests/mocks/nvm_ls_remote LTS nightly argon.txt +1 -0
  119. package/.config/nvm/test/fast/Unit tests/mocks/nvm_ls_remote LTS nightly.txt +26 -0
  120. package/.config/nvm/test/fast/Unit tests/mocks/nvm_ls_remote LTS.txt +194 -0
  121. package/.config/nvm/test/fast/Unit tests/mocks/nvm_ls_remote nightly.txt +150 -0
  122. package/.config/nvm/test/fast/Unit tests/mocks/nvm_ls_remote stable nightly.txt +1 -0
  123. package/.config/nvm/test/fast/Unit tests/mocks/nvm_ls_remote stable.txt +1 -0
  124. package/.config/nvm/test/fast/Unit tests/mocks/nvm_ls_remote.txt +670 -0
  125. package/.config/nvm/test/fast/Unit tests/mocks/nvm_ls_remote_iojs.txt +41 -0
  126. package/.config/nvm/test/fast/Unit tests/mocks/nvm_make_alias LTS alias calls.txt +9 -0
  127. package/.config/nvm/test/fast/Unit tests/mocks/nvm_print_implicit_alias remote stable nightly.txt +1 -0
  128. package/.config/nvm/test/fast/Unit tests/mocks/nvm_print_implicit_alias remote stable.txt +1 -0
  129. package/.config/nvm/test/fast/Unit tests/mocks/project_dirs/nested-both/a/b/c/d/.gitkeep +0 -0
  130. package/.config/nvm/test/fast/Unit tests/mocks/project_dirs/nested-both/package.json +0 -0
  131. package/.config/nvm/test/fast/Unit tests/mocks/project_dirs/nested-n_m/a/b/c/d/.gitkeep +0 -0
  132. package/.config/nvm/test/fast/Unit tests/mocks/project_dirs/nested-pkg/a/b/c/d/.gitkeep +0 -0
  133. package/.config/nvm/test/fast/Unit tests/mocks/project_dirs/nested-pkg/package.json +0 -0
  134. package/.config/nvm/test/fast/Unit tests/mocks/project_dirs/no-nesting-both/package.json +0 -0
  135. package/.config/nvm/test/fast/Unit tests/mocks/project_dirs/no-nesting-pkg/package.json +0 -0
  136. package/.config/nvm/test/fast/Unit tests/nvm ls-remote +73 -0
  137. package/.config/nvm/test/fast/Unit tests/nvm set_colors +52 -0
  138. package/.config/nvm/test/fast/Unit tests/nvm version-remote +51 -0
  139. package/.config/nvm/test/fast/Unit tests/nvm_add_iojs_prefix +9 -0
  140. package/.config/nvm/test/fast/Unit tests/nvm_alias +32 -0
  141. package/.config/nvm/test/fast/Unit tests/nvm_alias LTS-N +36 -0
  142. package/.config/nvm/test/fast/Unit tests/nvm_alias_path +7 -0
  143. package/.config/nvm/test/fast/Unit tests/nvm_change_path +57 -0
  144. package/.config/nvm/test/fast/Unit tests/nvm_check_for_help +9 -0
  145. package/.config/nvm/test/fast/Unit tests/nvm_clang_version +62 -0
  146. package/.config/nvm/test/fast/Unit tests/nvm_command_info +58 -0
  147. package/.config/nvm/test/fast/Unit tests/nvm_compare_checksum +72 -0
  148. package/.config/nvm/test/fast/Unit tests/nvm_compute_checksum +23 -0
  149. package/.config/nvm/test/fast/Unit tests/nvm_curl_libz_support +39 -0
  150. package/.config/nvm/test/fast/Unit tests/nvm_curl_use_compression +38 -0
  151. package/.config/nvm/test/fast/Unit tests/nvm_curl_version +32 -0
  152. package/.config/nvm/test/fast/Unit tests/nvm_die_on_prefix +192 -0
  153. package/.config/nvm/test/fast/Unit tests/nvm_download +18 -0
  154. package/.config/nvm/test/fast/Unit tests/nvm_download_artifact +55 -0
  155. package/.config/nvm/test/fast/Unit tests/nvm_ensure_default_set +15 -0
  156. package/.config/nvm/test/fast/Unit tests/nvm_ensure_version_installed +72 -0
  157. package/.config/nvm/test/fast/Unit tests/nvm_ensure_version_prefix +12 -0
  158. package/.config/nvm/test/fast/Unit tests/nvm_extract_tarball +12 -0
  159. package/.config/nvm/test/fast/Unit tests/nvm_find_project_dir +36 -0
  160. package/.config/nvm/test/fast/Unit tests/nvm_find_up +26 -0
  161. package/.config/nvm/test/fast/Unit tests/nvm_format_version +20 -0
  162. package/.config/nvm/test/fast/Unit tests/nvm_get_arch +85 -0
  163. package/.config/nvm/test/fast/Unit tests/nvm_get_artifact_compression +22 -0
  164. package/.config/nvm/test/fast/Unit tests/nvm_get_checksum +45 -0
  165. package/.config/nvm/test/fast/Unit tests/nvm_get_checksum_alg +20 -0
  166. package/.config/nvm/test/fast/Unit tests/nvm_get_checksum_binary +20 -0
  167. package/.config/nvm/test/fast/Unit tests/nvm_get_colors +79 -0
  168. package/.config/nvm/test/fast/Unit tests/nvm_get_default_packages +92 -0
  169. package/.config/nvm/test/fast/Unit tests/nvm_get_download_slug +111 -0
  170. package/.config/nvm/test/fast/Unit tests/nvm_get_latest missing curl or wget +20 -0
  171. package/.config/nvm/test/fast/Unit tests/nvm_get_minor_version +45 -0
  172. package/.config/nvm/test/fast/Unit tests/nvm_get_mirror +32 -0
  173. package/.config/nvm/test/fast/Unit tests/nvm_has +11 -0
  174. package/.config/nvm/test/fast/Unit tests/nvm_has_non_aliased +24 -0
  175. package/.config/nvm/test/fast/Unit tests/nvm_has_solaris_binary +32 -0
  176. package/.config/nvm/test/fast/Unit tests/nvm_has_system_iojs +27 -0
  177. package/.config/nvm/test/fast/Unit tests/nvm_has_system_node +27 -0
  178. package/.config/nvm/test/fast/Unit tests/nvm_install_binary_extract +59 -0
  179. package/.config/nvm/test/fast/Unit tests/nvm_install_binary_nosource +30 -0
  180. package/.config/nvm/test/fast/Unit tests/nvm_install_latest_npm +58 -0
  181. package/.config/nvm/test/fast/Unit tests/nvm_install_no_progress_bar +43 -0
  182. package/.config/nvm/test/fast/Unit tests/nvm_iojs_prefix +7 -0
  183. package/.config/nvm/test/fast/Unit tests/nvm_iojs_version_has_solaris_binary +17 -0
  184. package/.config/nvm/test/fast/Unit tests/nvm_is_alias +20 -0
  185. package/.config/nvm/test/fast/Unit tests/nvm_is_iojs_version +10 -0
  186. package/.config/nvm/test/fast/Unit tests/nvm_is_merged_node_version +10 -0
  187. package/.config/nvm/test/fast/Unit tests/nvm_is_natural_num +17 -0
  188. package/.config/nvm/test/fast/Unit tests/nvm_is_valid_version +13 -0
  189. package/.config/nvm/test/fast/Unit tests/nvm_is_version_installed +54 -0
  190. package/.config/nvm/test/fast/Unit tests/nvm_ls_current +39 -0
  191. package/.config/nvm/test/fast/Unit tests/nvm_ls_remote +86 -0
  192. package/.config/nvm/test/fast/Unit tests/nvm_ls_remote LTS aliases +49 -0
  193. package/.config/nvm/test/fast/Unit tests/nvm_ls_remote nightly +65 -0
  194. package/.config/nvm/test/fast/Unit tests/nvm_ls_remote_iojs +37 -0
  195. package/.config/nvm/test/fast/Unit tests/nvm_make_alias +19 -0
  196. package/.config/nvm/test/fast/Unit tests/nvm_node_prefix +7 -0
  197. package/.config/nvm/test/fast/Unit tests/nvm_node_version_has_solaris_binary +33 -0
  198. package/.config/nvm/test/fast/Unit tests/nvm_normalize_lts +38 -0
  199. package/.config/nvm/test/fast/Unit tests/nvm_num_version_groups +24 -0
  200. package/.config/nvm/test/fast/Unit tests/nvm_print_alias_path +44 -0
  201. package/.config/nvm/test/fast/Unit tests/nvm_print_color_code +20 -0
  202. package/.config/nvm/test/fast/Unit tests/nvm_print_default_alias +38 -0
  203. package/.config/nvm/test/fast/Unit tests/nvm_print_implicit_alias errors +25 -0
  204. package/.config/nvm/test/fast/Unit tests/nvm_print_implicit_alias success +106 -0
  205. package/.config/nvm/test/fast/Unit tests/nvm_print_npm_version +28 -0
  206. package/.config/nvm/test/fast/Unit tests/nvm_remote_version +78 -0
  207. package/.config/nvm/test/fast/Unit tests/nvm_remote_versions +77 -0
  208. package/.config/nvm/test/fast/Unit tests/nvm_stdout_is_terminal +32 -0
  209. package/.config/nvm/test/fast/Unit tests/nvm_strip_iojs_prefix +10 -0
  210. package/.config/nvm/test/fast/Unit tests/nvm_strip_path +24 -0
  211. package/.config/nvm/test/fast/Unit tests/nvm_supports_xz +42 -0
  212. package/.config/nvm/test/fast/Unit tests/nvm_tree_contains_path +31 -0
  213. package/.config/nvm/test/fast/Unit tests/nvm_use_if_needed +24 -0
  214. package/.config/nvm/test/fast/Unit tests/nvm_validate_implicit_alias +20 -0
  215. package/.config/nvm/test/fast/Unit tests/nvm_version +48 -0
  216. package/.config/nvm/test/fast/Unit tests/nvm_version_dir +11 -0
  217. package/.config/nvm/test/fast/Unit tests/nvm_version_greater +15 -0
  218. package/.config/nvm/test/fast/Unit tests/nvm_version_path +14 -0
  219. package/.config/nvm/test/fast/Unit tests/nvm_wrap_with_color_code +1 -0
  220. package/.config/nvm/test/fast/nvm should remove the last trailing slash in $NVM_DIR +18 -0
  221. package/.config/nvm/test/fast/setup +14 -0
  222. package/.config/nvm/test/fast/setup_dir +18 -0
  223. package/.config/nvm/test/fast/teardown +12 -0
  224. package/.config/nvm/test/fast/teardown_dir +15 -0
  225. package/.config/nvm/test/install_script/install_nvm_from_git +129 -0
  226. package/.config/nvm/test/install_script/nvm_check_global_modules +65 -0
  227. package/.config/nvm/test/install_script/nvm_detect_profile +126 -0
  228. package/.config/nvm/test/install_script/nvm_do_install +18 -0
  229. package/.config/nvm/test/install_script/nvm_download +18 -0
  230. package/.config/nvm/test/install_script/nvm_install_dir +25 -0
  231. package/.config/nvm/test/install_script/nvm_install_with_aliased_dot +24 -0
  232. package/.config/nvm/test/install_script/nvm_install_with_node_version +12 -0
  233. package/.config/nvm/test/install_script/nvm_profile_is_bash_or_zsh +14 -0
  234. package/.config/nvm/test/install_script/nvm_reset +38 -0
  235. package/.config/nvm/test/install_script/nvm_source +43 -0
  236. package/.config/nvm/test/installation_iojs/install already installed uses it +25 -0
  237. package/.config/nvm/test/installation_iojs/install from binary +22 -0
  238. package/.config/nvm/test/installation_iojs/install from source +22 -0
  239. package/.config/nvm/test/installation_iojs/install two versions and use the latest one +25 -0
  240. package/.config/nvm/test/installation_iojs/install version specified in .nvmrc from binary +22 -0
  241. package/.config/nvm/test/installation_iojs/install version specified in .nvmrc from source +23 -0
  242. package/.config/nvm/test/installation_iojs/install while reinstalling packages +31 -0
  243. package/.config/nvm/test/installation_iojs/nvm install v1 works +19 -0
  244. package/.config/nvm/test/installation_iojs/setup_dir +5 -0
  245. package/.config/nvm/test/installation_iojs/teardown_dir +16 -0
  246. package/.config/nvm/test/installation_node/default-packages +123 -0
  247. package/.config/nvm/test/installation_node/install LTS +29 -0
  248. package/.config/nvm/test/installation_node/install already installed uses it +23 -0
  249. package/.config/nvm/test/installation_node/install from binary +23 -0
  250. package/.config/nvm/test/installation_node/install from binary with binary flag set +37 -0
  251. package/.config/nvm/test/installation_node/install from source +29 -0
  252. package/.config/nvm/test/installation_node/install from source with thread parameter +33 -0
  253. package/.config/nvm/test/installation_node/install from source without V8 snapshot for ARM +25 -0
  254. package/.config/nvm/test/installation_node/install hook +45 -0
  255. package/.config/nvm/test/installation_node/install latest npm +51 -0
  256. package/.config/nvm/test/installation_node/install on bash with ERR trap and set -E +50 -0
  257. package/.config/nvm/test/installation_node/install two versions and use the latest one +24 -0
  258. package/.config/nvm/test/installation_node/install version specified in .nvmrc from binary +20 -0
  259. package/.config/nvm/test/installation_node/install while reinstalling packages +46 -0
  260. package/.config/nvm/test/installation_node/install with --alias +11 -0
  261. package/.config/nvm/test/installation_node/install with --default +11 -0
  262. package/.config/nvm/test/installation_node/install with --latest-npm +12 -0
  263. package/.config/nvm/test/installation_node/setup_dir +5 -0
  264. package/.config/nvm/test/installation_node/teardown_dir +18 -0
  265. package/.config/nvm/test/mocks/isainfo_amd64 +5 -0
  266. package/.config/nvm/test/mocks/isainfo_x86 +5 -0
  267. package/.config/nvm/test/mocks/pkg_info_amd64 +4 -0
  268. package/.config/nvm/test/mocks/pkg_info_fail +1 -0
  269. package/.config/nvm/test/mocks/pkg_info_x86 +1 -0
  270. package/.config/nvm/test/mocks/uname_linux_armv8l +5 -0
  271. package/.config/nvm/test/mocks/uname_osx_amd64 +5 -0
  272. package/.config/nvm/test/mocks/uname_osx_x86 +5 -0
  273. package/.config/nvm/test/mocks/uname_smartos_amd64 +5 -0
  274. package/.config/nvm/test/mocks/uname_smartos_x86 +5 -0
  275. package/.config/nvm/test/slow/Running 'nvm current' should display current nvm environment +9 -0
  276. package/.config/nvm/test/slow/nvm exec/Preamble works and respects 'silent' flag +30 -0
  277. package/.config/nvm/test/slow/nvm exec/Running 'nvm exec --lts' should work +18 -0
  278. package/.config/nvm/test/slow/nvm exec/Running 'nvm exec 0.x' should work +15 -0
  279. package/.config/nvm/test/slow/nvm exec/Running 'nvm exec' should pick up .nvmrc version +16 -0
  280. package/.config/nvm/test/slow/nvm exec/Running 'nvm exec' with help should not parse +9 -0
  281. package/.config/nvm/test/slow/nvm exec/setup_dir +10 -0
  282. package/.config/nvm/test/slow/nvm exec/teardown_dir +13 -0
  283. package/.config/nvm/test/slow/nvm reinstall-packages/Running 'nvm copy-packages $(nvm ls current)' should error out +17 -0
  284. package/.config/nvm/test/slow/nvm reinstall-packages/setup_dir +11 -0
  285. package/.config/nvm/test/slow/nvm reinstall-packages/should work as expected +31 -0
  286. package/.config/nvm/test/slow/nvm reinstall-packages/teardown_dir +13 -0
  287. package/.config/nvm/test/slow/nvm reinstall-packages/test-npmlink/index.js +2 -0
  288. package/.config/nvm/test/slow/nvm reinstall-packages/test-npmlink/package.json +10 -0
  289. package/.config/nvm/test/slow/nvm reinstall-packages/works with no installs +18 -0
  290. package/.config/nvm/test/slow/nvm run/Running 'nvm run --harmony --version' should work +8 -0
  291. package/.config/nvm/test/slow/nvm run/Running 'nvm run --lts' should work +15 -0
  292. package/.config/nvm/test/slow/nvm run/Running 'nvm run 0.x' should error out sensibly when 0.x is not installed +16 -0
  293. package/.config/nvm/test/slow/nvm run/Running 'nvm run 0.x' should work +8 -0
  294. package/.config/nvm/test/slow/nvm run/Running 'nvm run' should pick up .nvmrc version +25 -0
  295. package/.config/nvm/test/slow/nvm run/setup_dir +11 -0
  296. package/.config/nvm/test/slow/nvm run/teardown_dir +14 -0
  297. package/.config/nvm/test/slow/nvm uninstall/Running 'nvm uninstall 0.12.6' uninstalls v0.12.6 +33 -0
  298. package/.config/nvm/test/slow/nvm uninstall/Running 'nvm uninstall' with incorrect file permissions fails nicely +30 -0
  299. package/.config/nvm/test/slow/nvm uninstall/setup_dir +4 -0
  300. package/.config/nvm/test/slow/nvm uninstall/teardown_dir +5 -0
  301. package/.config/nvm/test/slow/nvm use/Running 'nvm use --lts' uses latest LTS version +22 -0
  302. package/.config/nvm/test/slow/nvm use/Running 'nvm use --lts=foo' uses latest 'foo' LTS version +22 -0
  303. package/.config/nvm/test/slow/nvm use/Running 'nvm use iojs' uses latest io.js version +20 -0
  304. package/.config/nvm/test/slow/nvm use/Running 'nvm use node --silent' doesn't print anything +13 -0
  305. package/.config/nvm/test/slow/nvm use/Running 'nvm use node' uses latest stable node version +20 -0
  306. package/.config/nvm/test/slow/nvm use/Running 'nvm use v1.0.0' uses iojs-v1.0.0 iojs version +20 -0
  307. package/.config/nvm/test/slow/nvm use/Running 'nvm use' calls 'nvm_die_on_prefix' +22 -0
  308. package/.config/nvm/test/slow/nvm use/Running 'nvm use' with nvmrc containing not intalled version +28 -0
  309. package/.config/nvm/test/slow/nvm use/setup_dir +23 -0
  310. package/.config/nvm/test/slow/nvm use/teardown_dir +22 -0
  311. package/.config/nvm/test/slow/nvm_get_latest/nvm_get_latest +101 -0
  312. package/.config/nvm/test/slow/nvm_get_latest/nvm_get_latest failed redirect +25 -0
  313. package/.config/nvm/test/sourcing/Sourcing nvm.sh global alias bug +30 -0
  314. package/.config/nvm/test/sourcing/Sourcing nvm.sh should keep version if one is active +20 -0
  315. package/.config/nvm/test/sourcing/Sourcing nvm.sh should use the default if available and no nvm node is loaded +28 -0
  316. package/.config/nvm/test/sourcing/Sourcing nvm.sh with --install and .nvmrc should install it +27 -0
  317. package/.config/nvm/test/sourcing/Sourcing nvm.sh with --install should install the default +32 -0
  318. package/.config/nvm/test/sourcing/Sourcing nvm.sh with --no-use should not use anything +31 -0
  319. package/.config/nvm/test/sourcing/Sourcing nvm.sh with no default should return 0 +11 -0
  320. package/.config/nvm/test/sourcing/setup +14 -0
  321. package/.config/nvm/test/sourcing/teardown +7 -0
  322. package/.config/nvm/test/xenial/install from source +29 -0
  323. package/.config/nvm/test/xenial/install from source implicitly +23 -0
  324. package/.config/nvm/test/xenial/install from source with thread parameter +33 -0
  325. package/.config/nvm/test/xenial/install from source without V8 snapshot for ARM +25 -0
  326. package/.config/nvm/test/xenial/install hook +45 -0
  327. package/.config/nvm/test/xenial/install version specified in .nvmrc from source +20 -0
  328. package/.config/nvm/test/xenial/node 0.6.21 should install 0.6.21-pre +11 -0
  329. package/.config/nvm/update_test_mocks.sh +59 -0
  330. package/.gitattributes +2 -0
  331. package/.replit +84 -0
  332. package/.upm/store.json +1 -0
  333. package/Extra/Database/index.js +470 -0
  334. package/Extra/ExtraAddons.js +82 -0
  335. package/Extra/ExtraFindUID.js +62 -0
  336. package/Extra/ExtraGetThread.js +340 -0
  337. package/Extra/ExtraScreenShot.js +430 -0
  338. package/Extra/ExtraUptimeRobot.js +38 -0
  339. package/Extra/Html/Classic/script.js +833 -0
  340. package/Extra/Html/Classic/style.css +1222 -0
  341. package/Extra/Security/Index.js +173 -0
  342. package/Extra/Security/Step_1.js +6 -0
  343. package/Extra/Security/Step_2.js +22 -0
  344. package/Extra/Security/Step_3.js +22 -0
  345. package/Extra/Src/Change_Environment.js +24 -0
  346. package/Extra/Src/Check_Update.js +66 -0
  347. package/Extra/Src/History.js +115 -0
  348. package/Extra/Src/Instant_Update.js +64 -0
  349. package/Extra/Src/Last-Run.js +65 -0
  350. package/Extra/Src/Release_Memory.js +41 -0
  351. package/Extra/Src/image/checkmate.jpg +0 -0
  352. package/Extra/Src/uuid.js +137 -0
  353. package/Func/AcceptAgreement.js +31 -0
  354. package/Func/ClearCache.js +64 -0
  355. package/Func/ReportV1.js +54 -0
  356. package/Index.js +378 -0
  357. package/LICENSE +21 -0
  358. package/Language/index.json +224 -0
  359. package/Main.js +1110 -0
  360. package/README.md +144 -0
  361. package/broadcast.js +40 -0
  362. package/logger.js +66 -0
  363. package/package.json +231 -0
  364. package/replit.nix +8 -0
  365. package/src/Dev_Horizon_Data.js +125 -0
  366. package/src/Premium.js +25 -0
  367. package/src/Screenshot.js +83 -0
  368. package/src/addExternalModule.js +16 -0
  369. package/src/addUserToGroup.js +79 -0
  370. package/src/changeAdminStatus.js +79 -0
  371. package/src/changeArchivedStatus.js +41 -0
  372. package/src/changeAvt.js +85 -0
  373. package/src/changeBio.js +65 -0
  374. package/src/changeBlockedStatus.js +36 -0
  375. package/src/changeGroupImage.js +106 -0
  376. package/src/changeNickname.js +45 -0
  377. package/src/changeThreadColor.js +62 -0
  378. package/src/changeThreadEmoji.js +42 -0
  379. package/src/createNewGroup.js +70 -0
  380. package/src/createPoll.js +60 -0
  381. package/src/deleteMessage.js +45 -0
  382. package/src/deleteThread.js +43 -0
  383. package/src/forwardAttachment.js +48 -0
  384. package/src/getAccessToken.js +28 -0
  385. package/src/getCurrentUserID.js +7 -0
  386. package/src/getEmojiUrl.js +27 -0
  387. package/src/getFriendsList.js +73 -0
  388. package/src/getMessage.js +80 -0
  389. package/src/getThreadHistory.js +537 -0
  390. package/src/getThreadInfo.js +425 -0
  391. package/src/getThreadList.js +213 -0
  392. package/src/getThreadMain.js +220 -0
  393. package/src/getThreadPictures.js +59 -0
  394. package/src/getUID.js +59 -0
  395. package/src/getUserID.js +62 -0
  396. package/src/getUserInfo.js +113 -0
  397. package/src/getUserInfoMain.js +65 -0
  398. package/src/getUserInfoV2.js +32 -0
  399. package/src/getUserInfoV3.js +63 -0
  400. package/src/getUserInfoV4.js +55 -0
  401. package/src/getUserInfoV5.js +61 -0
  402. package/src/handleFriendRequest.js +46 -0
  403. package/src/handleMessageRequest.js +49 -0
  404. package/src/httpGet.js +49 -0
  405. package/src/httpPost.js +48 -0
  406. package/src/httpPostFormData.js +41 -0
  407. package/src/listenMqtt.js +786 -0
  408. package/src/logout.js +68 -0
  409. package/src/markAsDelivered.js +48 -0
  410. package/src/markAsRead.js +70 -0
  411. package/src/markAsReadAll.js +43 -0
  412. package/src/markAsSeen.js +51 -0
  413. package/src/muteThread.js +47 -0
  414. package/src/removeUserFromGroup.js +49 -0
  415. package/src/resolvePhotoUrl.js +37 -0
  416. package/src/searchForThread.js +43 -0
  417. package/src/sendMessage.js +379 -0
  418. package/src/sendTypingIndicator.js +80 -0
  419. package/src/setMessageReaction.js +109 -0
  420. package/src/setPostReaction.js +102 -0
  421. package/src/setTitle.js +74 -0
  422. package/src/threadColors.js +39 -0
  423. package/src/unfriend.js +43 -0
  424. package/src/unsendMessage.js +40 -0
  425. package/utils.js +1684 -0
@@ -0,0 +1,192 @@
1
+ #!/bin/sh
2
+
3
+ TEST_PWD=$(pwd)
4
+ TEST_DIR="$TEST_PWD/nvm_die_on_prefix_tmp"
5
+
6
+ \. ../../../nvm.sh
7
+
8
+ TEST_VERSION_DIR="${TEST_DIR}/version"
9
+
10
+ cleanup () {
11
+ rm -rf "$TEST_DIR"
12
+ alias nvm_has='\nvm_has'
13
+ alias npm='\npm'
14
+ unset -f nvm_has npm
15
+ }
16
+
17
+ die () {
18
+ echo "$@";
19
+ cleanup;
20
+ exit 1;
21
+ }
22
+
23
+ [ ! -e "$TEST_DIR" ] && mkdir "$TEST_DIR"
24
+
25
+ OUTPUT="$(nvm_die_on_prefix 2>&1)"
26
+ EXPECTED_OUTPUT="First argument \"delete the prefix\" must be zero or one"
27
+ EXIT_CODE="$(nvm_die_on_prefix >/dev/null 2>&1; echo $?)"
28
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "'nvm_die_on_prefix' did not error with '$EXPECTED_OUTPUT'; got '$OUTPUT'"
29
+ [ "_$EXIT_CODE" = "_1" ] || die "'nvm_die_on_prefix' did not exit with 1; got "$EXIT_CODE""
30
+
31
+ OUTPUT="$(nvm_die_on_prefix 2 2>&1)"
32
+ EXPECTED_OUTPUT="First argument \"delete the prefix\" must be zero or one"
33
+ EXIT_CODE="$(nvm_die_on_prefix 2 >/dev/null 2>&1; echo $?)"
34
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "'nvm_die_on_prefix 2' did not error with '$EXPECTED_OUTPUT'; got '$OUTPUT'"
35
+ [ "_$EXIT_CODE" = "_1" ] || die "'nvm_die_on_prefix' did not exit with 1; got "$EXIT_CODE""
36
+
37
+ OUTPUT="$(nvm_die_on_prefix 0 2>&1)"
38
+ EXPECTED_OUTPUT='Second argument "nvm command", and third argument "nvm version dir", must both be nonempty'
39
+ EXIT_CODE="$(nvm_die_on_prefix 0 >/dev/null 2>&1; echo $?)"
40
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "'nvm_die_on_prefix 0' did not error with '$EXPECTED_OUTPUT'; got '$OUTPUT'"
41
+ [ "_$EXIT_CODE" = "_2" ] || die "'nvm_die_on_prefix 0' did not exit with 2; got '$EXIT_CODE'"
42
+
43
+ nvm_has() { return 1; } # ie, npm is not installed
44
+ OUTPUT="$(nvm_die_on_prefix 0 version_dir foo 2>&1)"
45
+ [ -z "$OUTPUT" ] || die "nvm_die_on_prefix was not a noop when nvm_has returns 1, got '$OUTPUT'"
46
+
47
+ nvm_has() { return 0; }
48
+
49
+ OUTPUT="$(nvm_die_on_prefix 0 foo "$(nvm_version_dir new)" 2>&1)"
50
+ [ -z "$OUTPUT" ] || die "'nvm_die_on_prefix' was not a noop when prefix is good; got '$OUTPUT'"
51
+
52
+ mkdir -p "$(nvm_version_dir new)"
53
+ ln -s "$(nvm_version_dir new)" "$TEST_DIR/node"
54
+
55
+ npm() {
56
+ local args
57
+ args="$@"
58
+ if [ "_$args" = "_config --loglevel=warn get prefix" ]; then
59
+ echo "$TEST_DIR/node"
60
+ fi
61
+ }
62
+
63
+ OUTPUT="$(nvm_die_on_prefix 0 foo "$(nvm_version_dir new)" 2>&1)"
64
+ [ -z "$OUTPUT" ] || die "'nvm_die_on_prefix' was not a noop when directory is equivalent; got '$OUTPUT'"
65
+
66
+ OUTPUT="$(PREFIX=bar nvm_die_on_prefix 0 foo "$(nvm_version_dir new)" 2>&1)"
67
+ EXPECTED_OUTPUT='nvm is not compatible with the "PREFIX" environment variable: currently set to "bar"
68
+ Run `unset PREFIX` to unset it.'
69
+ EXIT_CODE="$(export PREFIX=bar ; nvm_die_on_prefix 0 foo "$(nvm_version_dir new)" >/dev/null 2>&1; echo $?)"
70
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "'PREFIX=bar nvm_die_on_prefix 0 foo' did not error with '$EXPECTED_OUTPUT'; got '$OUTPUT'"
71
+ [ "_$EXIT_CODE" = "_3" ] || die "'PREFIX=bar nvm_die_on_prefix 0 foo' did not exit with 3; got '$EXIT_CODE'"
72
+
73
+ OUTPUT="$(export NPM_CONFIG_PREFIX=bar ; nvm_die_on_prefix 0 foo "$(nvm_version_dir new)" 2>&1)"
74
+ EXPECTED_OUTPUT='nvm is not compatible with the "NPM_CONFIG_PREFIX" environment variable: currently set to "bar"
75
+ Run `unset NPM_CONFIG_PREFIX` to unset it.'
76
+ EXIT_CODE="$(export NPM_CONFIG_PREFIX=bar ; nvm_die_on_prefix 0 foo "$(nvm_version_dir new)" >/dev/null 2>&1; echo $?)"
77
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "'NPM_CONFIG_PREFIX=bar nvm_die_on_prefix 0 foo' did not error with '$EXPECTED_OUTPUT'; got '$OUTPUT'"
78
+ [ "_$EXIT_CODE" = "_4" ] || die "'NPM_CONFIG_PREFIX=bar nvm_die_on_prefix 0 foo' did not exit with 4; got '$EXIT_CODE'"
79
+
80
+ OUTPUT="$(export npm_CONFIG_PREFIX=bar ; nvm_die_on_prefix 0 foo "$(nvm_version_dir new)" 2>&1)"
81
+ EXPECTED_OUTPUT='nvm is not compatible with the "npm_CONFIG_PREFIX" environment variable: currently set to "bar"
82
+ Run `unset npm_CONFIG_PREFIX` to unset it.'
83
+ EXIT_CODE="$(export npm_CONFIG_PREFIX=bar ; nvm_die_on_prefix 0 foo "$(nvm_version_dir new)" >/dev/null 2>&1; echo $?)"
84
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "'npm_CONFIG_PREFIX=bar nvm_die_on_prefix 0 foo' did not error with '$EXPECTED_OUTPUT'; got '$OUTPUT'"
85
+ [ "_$EXIT_CODE" = "_4" ] || die "'npm_CONFIG_PREFIX=bar nvm_die_on_prefix 0 foo' did not exit with 4; got '$EXIT_CODE'"
86
+
87
+ OUTPUT="$(export FOO='This contains NPM_CONFIG_PREFIX' ; nvm_die_on_prefix 0 foo "$(nvm_version_dir new)" 2>&1)"
88
+ [ -z "$OUTPUT" ] || die "'nvm_die_on_prefix' was not a noop; got '$OUTPUT'"
89
+
90
+ # npmrc tests
91
+ (
92
+ cd "${TEST_DIR}"
93
+ touch package.json
94
+
95
+ # project: prefix
96
+ echo 'prefix=garbage' > .npmrc
97
+ OUTPUT="$(nvm_die_on_prefix 0 foo "${TEST_VERSION_DIR}" 2>&1)"
98
+ EXPECTED_OUTPUT="Your project npmrc file ($(nvm_sanitize_path "${TEST_DIR}")/.npmrc)
99
+ has a \`globalconfig\` and/or a \`prefix\` setting, which are incompatible with nvm.
100
+ Run \`foo\` to unset it."
101
+ EXIT_CODE="$(nvm_die_on_prefix 0 foo "${TEST_VERSION_DIR}" >/dev/null 2>&1; echo $?)"
102
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "'nvm_die_on_prefix 0 foo' with project .npmrc that has prefix did not error with '$EXPECTED_OUTPUT'; got '$OUTPUT'"
103
+ [ "_$EXIT_CODE" = "_10" ] || die "'nvm_die_on_prefix 0 foo' with project .npmrc that has prefix did not exit with 10; got '$EXIT_CODE'"
104
+
105
+ # project: globalconfig
106
+ echo 'globalconfig=garbage' > .npmrc
107
+ OUTPUT="$(nvm_die_on_prefix 0 foo "${TEST_VERSION_DIR}" 2>&1)"
108
+ EXPECTED_OUTPUT="Your project npmrc file ($(nvm_sanitize_path "${TEST_DIR}")/.npmrc)
109
+ has a \`globalconfig\` and/or a \`prefix\` setting, which are incompatible with nvm.
110
+ Run \`foo\` to unset it."
111
+ EXIT_CODE="$(nvm_die_on_prefix 0 foo "${TEST_VERSION_DIR}" >/dev/null 2>&1; echo $?)"
112
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "'nvm_die_on_prefix 0 foo' with project .npmrc that has globalconfig did not error with '$EXPECTED_OUTPUT'; got '$OUTPUT'"
113
+ [ "_$EXIT_CODE" = "_10" ] || die "'nvm_die_on_prefix 0 foo' with project .npmrc that has globalconfig did not exit with 10; got '$EXIT_CODE'"
114
+
115
+ rm "${TEST_DIR}/.npmrc" || die '.npmrc could not be removed'
116
+
117
+ mkdir -p "${TEST_VERSION_DIR}"
118
+ GLOBAL_NPMRC="${TEST_VERSION_DIR}/etc/npmrc"
119
+ mkdir -p "${TEST_VERSION_DIR}/etc"
120
+
121
+ BUILTIN_NPMRC="${TEST_VERSION_DIR}/lib/node_modules/npm/npmrc"
122
+ mkdir -p "${TEST_VERSION_DIR}/lib/node_modules/npm/"
123
+
124
+ export HOME="${TEST_VERSION_DIR}"
125
+ USER_NPMRC="${TEST_VERSION_DIR}/.npmrc"
126
+
127
+ # global: prefix
128
+ echo 'prefix=garbage' > "${GLOBAL_NPMRC}"
129
+ OUTPUT="$(nvm_die_on_prefix 0 foo "${TEST_VERSION_DIR}" 2>&1)"
130
+ EXPECTED_OUTPUT="Your global npmrc file ($(nvm_sanitize_path "${GLOBAL_NPMRC}"))
131
+ has a \`globalconfig\` and/or a \`prefix\` setting, which are incompatible with nvm.
132
+ Run \`foo\` to unset it."
133
+ EXIT_CODE="$(nvm_die_on_prefix 0 foo "${TEST_VERSION_DIR}" >/dev/null 2>&1; echo $?)"
134
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "'nvm_die_on_prefix 0 foo' with global npmrc that has prefix did not error with '$EXPECTED_OUTPUT'; got '$OUTPUT'"
135
+ [ "_$EXIT_CODE" = "_10" ] || die "'nvm_die_on_prefix 0 foo' with global npmrc that has prefix did not exit with 10; got '$EXIT_CODE'"
136
+
137
+ # global: globalconfig
138
+ echo 'globalconfig=garbage' > "${GLOBAL_NPMRC}"
139
+ OUTPUT="$(nvm_die_on_prefix 0 foo "${TEST_VERSION_DIR}" 2>&1)"
140
+ EXPECTED_OUTPUT="Your global npmrc file ($(nvm_sanitize_path "${GLOBAL_NPMRC}"))
141
+ has a \`globalconfig\` and/or a \`prefix\` setting, which are incompatible with nvm.
142
+ Run \`foo\` to unset it."
143
+ EXIT_CODE="$(nvm_die_on_prefix 0 foo "${TEST_VERSION_DIR}" >/dev/null 2>&1; echo $?)"
144
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "'nvm_die_on_prefix 0 foo' with global npmrc that has globalconfig did not error with '$EXPECTED_OUTPUT'; got '$OUTPUT'"
145
+ [ "_$EXIT_CODE" = "_10" ] || die "'nvm_die_on_prefix 0 foo' with global npmrc that has globalconfig did not exit with 10; got '$EXIT_CODE'"
146
+
147
+ rm "${GLOBAL_NPMRC}" || die "${GLOBAL_NPMRC} could not be removed"
148
+
149
+ # builtin: prefix
150
+ echo 'prefix=garbage' > "${BUILTIN_NPMRC}"
151
+ OUTPUT="$(nvm_die_on_prefix 0 foo "${TEST_VERSION_DIR}" 2>&1)"
152
+ EXPECTED_OUTPUT="Your builtin npmrc file ($(nvm_sanitize_path "${BUILTIN_NPMRC}"))
153
+ has a \`globalconfig\` and/or a \`prefix\` setting, which are incompatible with nvm.
154
+ Run \`foo\` to unset it."
155
+ EXIT_CODE="$(nvm_die_on_prefix 0 foo "${TEST_VERSION_DIR}" >/dev/null 2>&1; echo $?)"
156
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "'nvm_die_on_prefix 0 foo' with builtin npmrc that has prefix did not error with '$EXPECTED_OUTPUT'; got '$OUTPUT'"
157
+ [ "_$EXIT_CODE" = "_10" ] || die "'nvm_die_on_prefix 0 foo' with builtin npmrc that has prefix did not exit with 10; got '$EXIT_CODE'"
158
+
159
+ # builtin: globalconfig
160
+ echo 'globalconfig=garbage' > "${BUILTIN_NPMRC}"
161
+ OUTPUT="$(nvm_die_on_prefix 0 foo "${TEST_VERSION_DIR}" 2>&1)"
162
+ EXPECTED_OUTPUT="Your builtin npmrc file ($(nvm_sanitize_path "${BUILTIN_NPMRC}"))
163
+ has a \`globalconfig\` and/or a \`prefix\` setting, which are incompatible with nvm.
164
+ Run \`foo\` to unset it."
165
+ EXIT_CODE="$(nvm_die_on_prefix 0 foo "${TEST_VERSION_DIR}" >/dev/null 2>&1; echo $?)"
166
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "'nvm_die_on_prefix 0 foo' with builtin npmrc that has globalconfig did not error with '$EXPECTED_OUTPUT'; got '$OUTPUT'"
167
+ [ "_$EXIT_CODE" = "_10" ] || die "'nvm_die_on_prefix 0 foo' with builtin npmrc that has globalconfig did not exit with 10; got '$EXIT_CODE'"
168
+
169
+ rm "${BUILTIN_NPMRC}" || die "${BUILTIN_NPMRC} could not be removed"
170
+
171
+ # user: prefix
172
+ echo 'prefix=garbage' > "${USER_NPMRC}"
173
+ OUTPUT="$(nvm_die_on_prefix 0 foo "${TEST_VERSION_DIR}" 2>&1)"
174
+ EXPECTED_OUTPUT="Your user’s .npmrc file ($(nvm_sanitize_path "${USER_NPMRC}"))
175
+ has a \`globalconfig\` and/or a \`prefix\` setting, which are incompatible with nvm.
176
+ Run \`foo\` to unset it."
177
+ EXIT_CODE="$(nvm_die_on_prefix 0 foo "${TEST_VERSION_DIR}" >/dev/null 2>&1; echo $?)"
178
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "'nvm_die_on_prefix 0 foo' with user .npmrc that has prefix did not error with '$EXPECTED_OUTPUT'; got '$OUTPUT'"
179
+ [ "_$EXIT_CODE" = "_10" ] || die "'nvm_die_on_prefix 0 foo' with user .npmrc that has prefix did not exit with 10; got '$EXIT_CODE'"
180
+
181
+ # user: globalconfig
182
+ echo 'globalconfig=garbage' > "${USER_NPMRC}"
183
+ OUTPUT="$(nvm_die_on_prefix 0 foo "${TEST_VERSION_DIR}" 2>&1)"
184
+ EXPECTED_OUTPUT="Your user’s .npmrc file ($(nvm_sanitize_path "${USER_NPMRC}"))
185
+ has a \`globalconfig\` and/or a \`prefix\` setting, which are incompatible with nvm.
186
+ Run \`foo\` to unset it."
187
+ EXIT_CODE="$(nvm_die_on_prefix 0 foo "${TEST_VERSION_DIR}" >/dev/null 2>&1; echo $?)"
188
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "'nvm_die_on_prefix 0 foo' with user .npmrc that has globalconfig did not error with '$EXPECTED_OUTPUT'; got '$OUTPUT'"
189
+ [ "_$EXIT_CODE" = "_10" ] || die "'nvm_die_on_prefix 0 foo' with user .npmrc that has globalconfig did not exit with 10; got '$EXIT_CODE'"
190
+ )
191
+
192
+ cleanup
@@ -0,0 +1,18 @@
1
+ #!/bin/sh
2
+
3
+ cleanup () {
4
+ unset -f die cleanup
5
+ }
6
+ die () { echo "$@" ; cleanup ; exit 1; }
7
+
8
+ \. ../../../nvm.sh
9
+
10
+ set -ex
11
+
12
+ # nvm_download install.sh
13
+ nvm_download "https://raw.githubusercontent.com/nvm-sh/nvm/HEAD/install.sh" >/dev/null || die "nvm_download unable to download install.sh"
14
+
15
+ # nvm_download should fail to download wrong_install.sh
16
+ ! nvm_download "https://raw.githubusercontent.com/nvm-sh/nvm/HEAD/wrong_install.sh" >/dev/null || die "nvm_download should fail to download no existing file"
17
+
18
+ cleanup
@@ -0,0 +1,55 @@
1
+ #!/bin/sh
2
+
3
+ cleanup () {
4
+ unset -f nvm_get_mirror
5
+ }
6
+ die () { echo "$@" ; cleanup ; exit 1; }
7
+
8
+ \. ../../../nvm.sh
9
+
10
+ # bad flavor
11
+ ACTUAL="$(nvm_download_artifact 2>&1)"
12
+ CODE="$(nvm_download_artifact >/dev/null 2>&1 ; echo $?)"
13
+ EXPECTED='supported flavors: node, iojs'
14
+ EXPECTED_CODE=1
15
+
16
+ [ "${ACTUAL}" = "${EXPECTED}" ] || die "expected >${EXPECTED}<, got >${ACTUAL}<"
17
+ [ "${CODE}" = $EXPECTED_CODE ] || die "expected exit code ${EXPECTED_CODE}, got ${CODE}"
18
+
19
+ # bad kind
20
+ ACTUAL="$(nvm_download_artifact node 2>&1)"
21
+ CODE="$(nvm_download_artifact node >/dev/null 2>&1 ; echo $?)"
22
+ EXPECTED='supported kinds: binary, source'
23
+ EXPECTED_CODE=1
24
+
25
+ [ "${ACTUAL}" = "${EXPECTED}" ] || die "expected >${EXPECTED}<, got >${ACTUAL}<"
26
+ [ "${CODE}" = $EXPECTED_CODE ] || die "expected exit code ${EXPECTED_CODE}, got ${CODE}"
27
+
28
+ # bad type
29
+ ACTUAL="$(nvm_download_artifact node binary nonexistentType 2>&1)"
30
+ CODE="$(nvm_download_artifact node binary nonexistentType >/dev/null 2>&1 ; echo $?)"
31
+ EXPECTED='unknown type of node.js or io.js release'
32
+ EXPECTED_CODE=2
33
+
34
+ [ "${ACTUAL}" = "${EXPECTED}" ] || die "expected >${EXPECTED}<, got >${ACTUAL}<"
35
+ [ "${CODE}" = $EXPECTED_CODE ] || die "expected exit code ${EXPECTED_CODE}, got ${CODE}"
36
+
37
+ # no version
38
+ ACTUAL="$(nvm_download_artifact node binary std 2>&1)"
39
+ CODE="$(nvm_download_artifact node binary std >/dev/null 2>&1 ; echo $?)"
40
+ EXPECTED='A version number is required.'
41
+ EXPECTED_CODE=3
42
+
43
+ [ "${ACTUAL}" = "${EXPECTED}" ] || die "expected >${EXPECTED}<, got >${ACTUAL}<"
44
+ [ "${CODE}" = $EXPECTED_CODE ] || die "expected exit code ${EXPECTED_CODE}, got ${CODE}"
45
+
46
+ # binary type, version without binary available
47
+ VERSION=0.8.5
48
+ ACTUAL="$(nvm_download_artifact node binary std ${VERSION} 2>&1)"
49
+ CODE="$(nvm_download_artifact node binary std ${VERSION} >/dev/null 2>&1 ; echo $?)"
50
+ EXPECTED="No precompiled binary available for ${VERSION}."
51
+ EXPECTED_CODE=0
52
+
53
+ [ "${ACTUAL}" = "${EXPECTED}" ] || die "expected >${EXPECTED}<, got >${ACTUAL}<"
54
+ [ "${CODE}" = $EXPECTED_CODE ] || die "expected exit code ${EXPECTED_CODE}, got ${CODE}"
55
+
@@ -0,0 +1,15 @@
1
+ #!/bin/sh
2
+
3
+ \. ../../common.sh
4
+
5
+ die () { echo "$@" ; exit 1; }
6
+
7
+ \. ../../../nvm.sh
8
+
9
+ EXPECTED_OUTPUT="nvm_ensure_default_set: a version is required"
10
+ OUTPUT="$(nvm_ensure_default_set 2>&1 >/dev/null)"
11
+ EXIT_CODE="$?"
12
+ [ "_$(echo "$OUTPUT" | strip_colors)" = "_$EXPECTED_OUTPUT" ] || die "'nvm_ensure_default_set' did not output "$EXPECTED_OUTPUT", got "$OUTPUT""
13
+ [ "_$EXIT_CODE" = "_1" ] || die "'nvm_ensure_default_set' did not exit with 1, got "$EXIT_CODE""
14
+
15
+ # see test/fast/Aliases for remaining nvm_ensure_default_set tests
@@ -0,0 +1,72 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; cleanup ; exit 1; }
4
+ cleanup () {
5
+ rm -rf "$(nvm_version_path v0.1.2)"
6
+ unset -f nvm_has_system_node nvm_has_system_iojs
7
+ }
8
+
9
+ \. ../../../nvm.sh
10
+ \. ../../common.sh
11
+
12
+ make_fake_node v0.1.2
13
+
14
+ OUTPUT="$(nvm_ensure_version_installed foo 2>&1)"
15
+ EXIT_CODE=$?
16
+ EXPECTED_OUTPUT='N/A: version "foo" is not yet installed.
17
+
18
+ You need to run `nvm install foo` to install and use it.'
19
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed foo' to give $EXPECTED_OUTPUT, got $OUTPUT"
20
+ [ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm_ensure_version_installed foo' to exit with 1, got $EXIT_CODE"
21
+
22
+ # Case when .nvmrc file is opened, we should be skip showing the version
23
+ OUTPUT="$(nvm_ensure_version_installed foo 1 2>&1)"
24
+ EXIT_CODE=$?
25
+ EXPECTED_OUTPUT='N/A: version "foo" is not yet installed.
26
+
27
+ You need to run `nvm install` to install and use the node version specified in `.nvmrc`.'
28
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed foo' to give $EXPECTED_OUTPUT, got $OUTPUT"
29
+ [ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm_ensure_version_installed foo' to exit with 1, got $EXIT_CODE"
30
+
31
+ OUTPUT="$(nvm_ensure_version_installed 0.1)"
32
+ EXIT_CODE=$?
33
+ [ "_$OUTPUT" = "_" ] || die "expected 'nvm_ensure_version_installed 0.1' to have no output, got $OUTPUT"
34
+ [ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm_ensure_version_installed 0.1' to exit with 0, got $EXIT_CODE"
35
+
36
+ # Special case for "iojs"
37
+ OUTPUT="$(nvm_ensure_version_installed iojs 2>&1)"
38
+ EXIT_CODE=$?
39
+ EXPECTED_OUTPUT='N/A: version "iojs" is not yet installed.
40
+
41
+ You need to run `nvm install iojs` to install and use it.'
42
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed iojs' to give $EXPECTED_OUTPUT, got $OUTPUT"
43
+ [ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm_ensure_version_installed iojs' to exit with 1, got $EXIT_CODE"
44
+
45
+ nvm_has_system_node() { return 1; }
46
+ nvm_has_system_iojs() { return 1; }
47
+
48
+ OUTPUT="$(nvm_ensure_version_installed system 2>&1)"
49
+ EXIT_CODE=$?
50
+ EXPECTED_OUTPUT='N/A: no system version of node/io.js is installed.'
51
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed system' with neither installed to give $EXPECTED_OUTPUT, got $OUTPUT"
52
+ [ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm_ensure_version_installed system' with neither installed to exit with 1, got $EXIT_CODE"
53
+
54
+ nvm_has_system_node() { return 0; }
55
+ nvm_has_system_iojs() { return 1; }
56
+
57
+ OUTPUT="$(nvm_ensure_version_installed system 2>&1)"
58
+ EXIT_CODE=$?
59
+ EXPECTED_OUTPUT=''
60
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed system' with node installed to give $EXPECTED_OUTPUT, got $OUTPUT"
61
+ [ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm_ensure_version_installed system' with node installed to exit with 0, got $EXIT_CODE"
62
+
63
+ nvm_has_system_node() { return 1; }
64
+ nvm_has_system_iojs() { return 0; }
65
+
66
+ OUTPUT="$(nvm_ensure_version_installed system 2>&1)"
67
+ EXIT_CODE=$?
68
+ EXPECTED_OUTPUT=''
69
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed system' with iojs installed to give $EXPECTED_OUTPUT, got $OUTPUT"
70
+ [ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm_ensure_version_installed system' with iojs installed to exit with 0, got $EXIT_CODE"
71
+
72
+ cleanup
@@ -0,0 +1,12 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; exit 1; }
4
+
5
+ \. ../../../nvm.sh
6
+
7
+ [ "_$(nvm_ensure_version_prefix 1)" = "_v1" ] || die '"nvm_ensure_version_prefix 1" did not return "v1"'
8
+ [ "_$(nvm_ensure_version_prefix v1)" = "_v1" ] || die '"nvm_ensure_version_prefix v1" did not return "v1"'
9
+ [ "_$(nvm_ensure_version_prefix foo)" = "_foo" ] || die '"nvm_ensure_version_prefix foo" did not return "foo"'
10
+
11
+ [ "_$(nvm_ensure_version_prefix iojs-1)" = "_iojs-v1" ] || die '"nvm_ensure_version_prefix iojs-1" did not return "iojs-v1"'
12
+ [ "_$(nvm_ensure_version_prefix iojs-v1)" = "_iojs-v1" ] || die '"nvm_ensure_version_prefix iojs-v1" did not return "iojs-v1"'
@@ -0,0 +1,12 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; exit 1; }
4
+
5
+ \. ../../../nvm.sh
6
+
7
+ [ "$(nvm_extract_tarball 2>&1)" = "nvm_extract_tarball requires exactly 4 arguments" ] || die 'incorrect error message with no args'
8
+ [ "$(nvm_extract_tarball > /dev/null 2>&1 ; echo $?)" = "5" ] || die 'incorrect error code with no args'
9
+ [ "$(nvm_extract_tarball one two three 2>&1)" = "nvm_extract_tarball requires exactly 4 arguments" ] || die 'incorrect error message with three args'
10
+ [ "$(nvm_extract_tarball one two three > /dev/null 2>&1 ; echo $?)" = "5" ] || die 'incorrect error code with three args'
11
+ [ "$(nvm_extract_tarball one two three four five 2>&1)" = "nvm_extract_tarball requires exactly 4 arguments" ] || die 'incorrect error message with five args'
12
+ [ "$(nvm_extract_tarball one two three four five > /dev/null 2>&1 ; echo $?)" = "5" ] || die 'incorrect error code with five args'
@@ -0,0 +1,36 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; exit 1; }
4
+
5
+ \. ../../../nvm.sh
6
+
7
+ set -ex
8
+
9
+ TEST_DIR="$PWD/mocks/project_dirs"
10
+
11
+ ACTUAL="$(PWD=$TEST_DIR/inside-n_m-nested/node_modules/foo/bar nvm_find_project_dir)"
12
+ [ "${ACTUAL}" = "$TEST_DIR/inside-n_m-nested" ] || die "inside-n_m-nested: got ${ACTUAL}"
13
+
14
+ ACTUAL="$(PWD=$TEST_DIR/inside-n_m-nested-pkg/node_modules/foo/bar nvm_find_project_dir)"
15
+ [ "${ACTUAL}" = "$TEST_DIR/inside-n_m-nested-pkg/node_modules/foo" ] || die "inside-n_m-nested-pkg: got ${ACTUAL}"
16
+
17
+ ACTUAL="$(PWD=$TEST_DIR/nested-both/a/b/c/d nvm_find_project_dir)"
18
+ [ "${ACTUAL}" = "$TEST_DIR/nested-both" ] || die "nested-both: got ${ACTUAL}"
19
+
20
+ ACTUAL="$(PWD=$TEST_DIR/nested-pkg/a/b/c/d nvm_find_project_dir)"
21
+ [ "${ACTUAL}" = "$TEST_DIR/nested-pkg" ] || die "nested-pkg: got ${ACTUAL}"
22
+
23
+ ACTUAL="$(PWD=$TEST_DIR/nested-n_m/a/b/c/d nvm_find_project_dir)"
24
+ [ "${ACTUAL}" = "$TEST_DIR/nested-n_m" ] || die "nested-n_m: got ${ACTUAL}"
25
+
26
+ ACTUAL="$(PWD=$TEST_DIR/no-nesting-both nvm_find_project_dir)"
27
+ [ "${ACTUAL}" = "$TEST_DIR/no-nesting-both" ] || die "no-nesting-both: got ${ACTUAL}"
28
+
29
+ ACTUAL="$(PWD=$TEST_DIR/no-nesting-n_m nvm_find_project_dir)"
30
+ [ "${ACTUAL}" = "$TEST_DIR/no-nesting-n_m" ] || die "no-nesting-n_m: got ${ACTUAL}"
31
+
32
+ ACTUAL="$(PWD=$TEST_DIR/no-nesting-pkg nvm_find_project_dir)"
33
+ [ "${ACTUAL}" = "$TEST_DIR/no-nesting-pkg" ] || die "no-nesting-pkg: got ${ACTUAL}"
34
+
35
+ ACTUAL="$(PWD="." nvm_find_project_dir)"
36
+ [ "${ACTUAL}" = "." ] || die "insufficient permissions for pwd: got ${ACTUAL}"
@@ -0,0 +1,26 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; cleanup ; exit 1; }
4
+ setup() {
5
+ cleanup
6
+ mkdir -p tmp_nvm_find_up/a/b/c/d
7
+ touch tmp_nvm_find_up/test
8
+ touch tmp_nvm_find_up/a/b/c/test
9
+ }
10
+ cleanup () {
11
+ rm -rf tmp_nvm_find_up
12
+ }
13
+
14
+ \. ../../../nvm.sh
15
+
16
+ setup
17
+
18
+ TEST_DIR="$PWD"
19
+
20
+ [ "~$(PWD=$TEST_DIR/tmp_nvm_find_up/a nvm_find_up 'test')" = "~$TEST_DIR/tmp_nvm_find_up" ] || die "failed to find 1 dir up"
21
+ [ "~$(PWD=$TEST_DIR/tmp_nvm_find_up/a/b nvm_find_up 'test')" = "~$TEST_DIR/tmp_nvm_find_up" ] || die "failed to find 2 dirs up"
22
+ [ "~$(PWD=$TEST_DIR/tmp_nvm_find_up/a/b/c nvm_find_up 'test')" = "~$TEST_DIR/tmp_nvm_find_up/a/b/c" ] || die "failed to find in current dir"
23
+ [ "~$(PWD=$TEST_DIR/tmp_nvm_find_up/a/b/c/d nvm_find_up 'test')" = "~$TEST_DIR/tmp_nvm_find_up/a/b/c" ] || die "failed to find 1 level up from current dir"
24
+ [ "~$(PWD="." nvm_find_up 'test')" = "~." ] || die "failed to handle '.' output from pwd"
25
+
26
+ cleanup
@@ -0,0 +1,20 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; exit 1; }
4
+
5
+ \. ../../../nvm.sh
6
+
7
+ INPUT="0.1.2"
8
+ OUTPUT="$(nvm_format_version "$INPUT")"
9
+ EXPECTED_OUTPUT="v0.1.2"
10
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_format_version $INPUT did not return $EXPECTED_OUTPUT; got $OUTPUT"
11
+
12
+ INPUT="0.1"
13
+ OUTPUT="$(nvm_format_version "$INPUT")"
14
+ EXPECTED_OUTPUT="v0.1.0"
15
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_format_version $INPUT did not return $EXPECTED_OUTPUT; got $OUTPUT"
16
+
17
+ INPUT="1.2.3.4.5"
18
+ OUTPUT="$(nvm_format_version "$INPUT")"
19
+ EXPECTED_OUTPUT="v1.2.3"
20
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_format_version $INPUT did not return $EXPECTED_OUTPUT; got $OUTPUT"
@@ -0,0 +1,85 @@
1
+ #!/bin/sh
2
+
3
+ # Save the PATH as it was when the test started to restore it when it
4
+ # finishes
5
+ ORIG_PATH=$PATH
6
+
7
+ cleanup() {
8
+ # Restore the PATH as it was when the test started
9
+ export PATH=ORIG_PATH
10
+ }
11
+
12
+ die () { cleanup; echo "$@" ; exit 1; }
13
+
14
+ \. ../../../nvm.sh
15
+
16
+ # Directory where mocked binaries used by nvm_get_arch for each OS/arch are
17
+ # located
18
+ MOCKS_DIR=`pwd`/../../mocks
19
+ # Sets the PATH for these tests to include the symlinks to the mocked
20
+ # binaries
21
+ export PATH=.:${PATH}
22
+
23
+ # Setups mock binaries for a given OS and arch that mimic
24
+ # the output of the real binaries used by nvm_get_arch to guess
25
+ # the architecture of a given system.
26
+ setup_mock_arch() {
27
+ local OS=$1
28
+ local ARCH=$2
29
+ local OPT=$3
30
+
31
+ if [ "_$OS" = "_solaris" ] || [ "_$OS" = "_smartos" ]; then
32
+ ln -sf "${MOCKS_DIR}/isainfo_${ARCH}" ./isainfo
33
+ if [ "_$OPT" != "_no_pkg_info" ]; then
34
+ ln -sf "${MOCKS_DIR}/pkg_info_${ARCH}" ./pkg_info
35
+ else
36
+ ln -sf "${MOCKS_DIR}/pkg_info_fail" ./pkg_info
37
+ fi
38
+ fi
39
+
40
+ ln -sf "${MOCKS_DIR}/uname_${OS}_${ARCH}" ./uname
41
+ }
42
+
43
+ # Cleans up the setup done by setup_mock_arch.
44
+ cleanup_mock_arch() {
45
+ local OS=$1
46
+ local ARCH=$2
47
+
48
+ if [ "_$OS" = "_solaris" ] || [ "_$OS" = "_smartos" ]; then
49
+ rm -f ./isainfo
50
+ rm -f ./pkg_info
51
+ fi
52
+
53
+ rm -f ./uname
54
+ }
55
+
56
+ # Runs nvm_get_arch for architecture $ARCH and OS $OS, and compares the
57
+ # expected output $EXPECTED_OUTPUT with the actual output. Does nothing
58
+ # and exits cleanly if they match, dies otherwise.
59
+ run_test() {
60
+ local ARCH=$1
61
+ local OS=$2
62
+ local EXPECTED_OUTPUT=$3
63
+ local OPT=$4
64
+
65
+ setup_mock_arch $OS $ARCH $OPT
66
+ local OUTPUT="$(nvm_get_arch)"
67
+ cleanup_mock_arch $OS $ARCH
68
+ [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] ||
69
+ die "nvm_get_arch for OS \"$OS\" and arch \"$ARCH\" with OPT \"$OPT\" did
70
+ not return \"$EXPECTED_OUTPUT\"; got \"$OUTPUT\""
71
+ }
72
+
73
+ run_test x86 smartos x86
74
+ run_test x86 smartos x86 no_pkg_info
75
+
76
+ run_test amd64 smartos x64
77
+ run_test amd64 smartos x64 no_pkg_info
78
+
79
+ run_test x86 osx x86
80
+ run_test amd64 osx x64
81
+
82
+ run_test arm64 smartos x64
83
+ run_test armv8l smartos x64
84
+
85
+ cleanup
@@ -0,0 +1,22 @@
1
+ #!/bin/sh
2
+
3
+ cleanup () {
4
+ unset -f die cleanup
5
+ }
6
+ die () { echo "$@" ; cleanup ; exit 1; }
7
+
8
+ \. ../../../nvm.sh
9
+
10
+ # nvm_get_artifact_compression by default
11
+ [ "$(nvm_get_artifact_compression)" = 'tar.gz' ] || die 'nvm_get_artifact_compression should return "tar.gz" by default'
12
+
13
+ # nvm_get_artifact_compression with xz
14
+ [ "$(nvm_get_artifact_compression "14.0.0")" = 'tar.xz' ] || die 'nvm_get_artifact_compression should return "tar.xz" for this version'
15
+
16
+ # nvm_get_artifact_compression with zip on Windows
17
+ nvm_get_os() {
18
+ nvm_echo 'win'
19
+ }
20
+ [ "$(nvm_get_artifact_compression)" = 'zip' ] || die 'nvm_get_artifact_compression should return "zip" for Windows'
21
+
22
+ cleanup
@@ -0,0 +1,45 @@
1
+ #!/bin/sh
2
+
3
+ set -ex
4
+
5
+ cleanup () {
6
+ unset -f nvm_download nvm_get_checksum_alg nvm_get_mirror
7
+ }
8
+ die () { echo "$@" ; cleanup ; exit 1; }
9
+
10
+ set +e # TODO: fix
11
+ \. ../../../nvm.sh
12
+ set -e
13
+
14
+ nvm_get_mirror() {
15
+ echo "mirror-${1}-${2}"
16
+ }
17
+
18
+ set +ex # needed to capture error output
19
+ OUTPUT="$(nvm_get_checksum 2>&1 >/dev/null)"
20
+ EXPECTED_OUTPUT='supported flavors: node, iojs'
21
+ EXIT_CODE="$(nvm_get_checksum >/dev/null 2>&1 ; echo $?)"
22
+ set -ex
23
+ [ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "expected error output >${EXPECTED_OUTPUT}<, got >${OUTPUT}<"
24
+ [ "${EXIT_CODE}" = 2 ] || die "expected exit code 2, got ${EXIT_CODE}"
25
+
26
+ nvm_download() {
27
+ echo "ERROR_FAILED_MATCH no_match more fields"
28
+ echo "${3} bar.tar.baz more fields"
29
+ }
30
+
31
+ nvm_get_checksum_alg() {
32
+ echo 'sha-256'
33
+ }
34
+ OUTPUT="$(nvm_get_checksum node std foo bar tar.baz)"
35
+ EXPECTED_OUTPUT="mirror-node-std/foo/SHASUMS256.txt"
36
+ [ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "expected >${EXPECTED_OUTPUT}<, got >${OUTPUT}<"
37
+
38
+ nvm_get_checksum_alg() {
39
+ echo 'sha-1'
40
+ }
41
+ OUTPUT="$(nvm_get_checksum iojs std foo bar tar.baz)"
42
+ EXPECTED_OUTPUT="mirror-iojs-std/foo/SHASUMS.txt"
43
+ [ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "expected >${EXPECTED_OUTPUT}<, got >${OUTPUT}<"
44
+
45
+ cleanup
@@ -0,0 +1,20 @@
1
+ #!/bin/sh
2
+
3
+ set -ex
4
+
5
+ die () { echo "$@" ; exit 1; }
6
+
7
+ set +e # TODO: fix
8
+ \. ../../../nvm.sh
9
+ set -e
10
+
11
+ ALG="$(nvm_get_checksum_alg)"
12
+
13
+ case "$ALG" in
14
+ 'sha-256' | 'sha-1')
15
+ echo 'sha-256 or sha-1 found'
16
+ ;;
17
+ *)
18
+ die "sha-256 or sha-1 not found: found ${ALG}"
19
+ ;;
20
+ esac