tools: extend vpm to support specifying git version tags when installing modules (#19835)

This commit is contained in:
Turiiya 2023-11-11 13:40:34 +01:00 committed by GitHub
parent 44cf1451bc
commit 19bc16516f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 209 additions and 52 deletions

View file

@ -50,10 +50,10 @@ fn test_install_dependencies_in_module_dir() {
assert v_mod.dependencies == ['markdown', 'pcre', 'https://github.com/spytheman/vtray']
// Run `v install`
res := os.execute_or_exit('${v} install')
assert res.output.contains('Detected v.mod file inside the project directory. Using it...')
assert res.output.contains('Installing module `markdown`')
assert res.output.contains('Installing module `pcre`')
assert res.output.contains('Installing module `vtray`')
assert res.output.contains('Detected v.mod file inside the project directory. Using it...'), res.output
assert res.output.contains('Installing `markdown`'), res.output
assert res.output.contains('Installing `pcre`'), res.output
assert res.output.contains('Installing `vtray`'), res.output
assert get_mod_name(os.join_path(test_path, 'markdown', 'v.mod')) == 'markdown'
assert get_mod_name(os.join_path(test_path, 'pcre', 'v.mod')) == 'pcre'
assert get_mod_name(os.join_path(test_path, 'vtray', 'v.mod')) == 'vtray'
@ -61,9 +61,9 @@ fn test_install_dependencies_in_module_dir() {
fn test_resolve_external_dependencies_during_module_install() {
res := os.execute_or_exit('${v} install https://github.com/ttytm/emoji-mart-desktop')
assert res.output.contains('Resolving 2 dependencies')
assert res.output.contains('Installing module `webview`')
assert res.output.contains('Installing module `miniaudio`')
assert res.output.contains('Resolving 2 dependencies'), res.output
assert res.output.contains('Installing `webview`'), res.output
assert res.output.contains('Installing `miniaudio`'), res.output
// The external dependencies should have been installed to `<vmodules_dir>/<dependency_name>`
assert get_mod_name(os.join_path(test_path, 'webview', 'v.mod')) == 'webview'
assert get_mod_name(os.join_path(test_path, 'miniaudio', 'v.mod')) == 'miniaudio'