From 85ff8864c44b48c699ae2d296ffe826cae9696fe Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Tue, 25 Nov 2025 14:32:08 +0200 Subject: [PATCH] tools: make `v search` failures easier to diagnose (on the CI) --- cmd/tools/vpm/common.v | 8 +++++--- cmd/tools/vpm/dependency_test.v | 1 + cmd/tools/vpm/install_test.v | 1 + cmd/tools/vpm/outdated_test.v | 1 + cmd/tools/vpm/search.v | 2 +- cmd/tools/vpm/search_test.v | 4 +--- cmd/tools/vpm/update_test.v | 1 + cmd/tools/vpm/vpm.v | 1 + 8 files changed, 12 insertions(+), 7 deletions(-) diff --git a/cmd/tools/vpm/common.v b/cmd/tools/vpm/common.v index 2f435a742..9785b8815 100644 --- a/cmd/tools/vpm/common.v +++ b/cmd/tools/vpm/common.v @@ -87,14 +87,16 @@ fn normalize_mod_path(path string) string { return path.replace('-', '_').to_lower() } -fn get_all_modules() []string { - url := get_working_server_url() + '/search' +fn get_all_modules_for_search() []string { + working_server_url := get_working_server_url() + println('Search server: ${working_server_url} .') + url := '${working_server_url}/search' r := http.get(url) or { vpm_error(err.msg(), verbose: true) exit(1) } if r.status_code != 200 { - vpm_error('failed to search vpm.vlang.io.', details: 'Status code: ${r.status_code}') + vpm_error('failed to search through ${url}', details: 'Status code: ${r.status_code}') exit(1) } s := r.body diff --git a/cmd/tools/vpm/dependency_test.v b/cmd/tools/vpm/dependency_test.v index 5c1e5c6a7..3fea912e1 100644 --- a/cmd/tools/vpm/dependency_test.v +++ b/cmd/tools/vpm/dependency_test.v @@ -13,6 +13,7 @@ fn testsuite_begin() { eprintln('> skipping ${@FILE}, when `-d network` is missing') exit(0) } + unbuffer_stdout() os.setenv('VMODULES', test_path, true) os.setenv('VPM_DEBUG', '', true) os.setenv('VPM_NO_INCREMENT', '1', true) diff --git a/cmd/tools/vpm/install_test.v b/cmd/tools/vpm/install_test.v index efee4e25f..3eeb09ab7 100644 --- a/cmd/tools/vpm/install_test.v +++ b/cmd/tools/vpm/install_test.v @@ -15,6 +15,7 @@ fn testsuite_begin() { eprintln('> skipping ${@FILE}, when `-d network` is missing') exit(0) } + unbuffer_stdout() test_utils.set_test_env(test_path) } diff --git a/cmd/tools/vpm/outdated_test.v b/cmd/tools/vpm/outdated_test.v index 54fa2680b..8e0061b26 100644 --- a/cmd/tools/vpm/outdated_test.v +++ b/cmd/tools/vpm/outdated_test.v @@ -12,6 +12,7 @@ fn testsuite_begin() { eprintln('> skipping ${@FILE}, when `-d network` is missing') exit(0) } + unbuffer_stdout() test_utils.set_test_env(test_path) os.mkdir_all(test_path)! os.chdir(test_path)! diff --git a/cmd/tools/vpm/search.v b/cmd/tools/vpm/search.v index a0ec07cba..775ab3f0b 100644 --- a/cmd/tools/vpm/search.v +++ b/cmd/tools/vpm/search.v @@ -12,7 +12,7 @@ fn vpm_search(keywords []string) { vpm_error('specify at least one keyword to search for.') exit(2) } - modules := get_all_modules() + modules := get_all_modules_for_search() installed_modules := get_installed_modules() joined := search_keys.join(', ') mut index := 0 diff --git a/cmd/tools/vpm/search_test.v b/cmd/tools/vpm/search_test.v index 7ee2d7262..e7e211734 100644 --- a/cmd/tools/vpm/search_test.v +++ b/cmd/tools/vpm/search_test.v @@ -8,9 +8,7 @@ fn testsuite_begin() { eprintln('> skipping ${@FILE}, when `-d network` is missing') exit(0) } -} - -fn testsuite_end() { + unbuffer_stdout() } fn test_search_ui() { diff --git a/cmd/tools/vpm/update_test.v b/cmd/tools/vpm/update_test.v index 10def19f6..ae58c682e 100644 --- a/cmd/tools/vpm/update_test.v +++ b/cmd/tools/vpm/update_test.v @@ -11,6 +11,7 @@ fn testsuite_begin() { eprintln('> skipping ${@FILE}, when `-d network` is missing') exit(0) } + unbuffer_stdout() test_utils.set_test_env(test_path) } diff --git a/cmd/tools/vpm/vpm.v b/cmd/tools/vpm/vpm.v index b74a9e495..bc21c12f1 100644 --- a/cmd/tools/vpm/vpm.v +++ b/cmd/tools/vpm/vpm.v @@ -17,6 +17,7 @@ const valid_vpm_commands = ['help', 'search', 'install', 'update', 'upgrade', 'o const excluded_dirs = ['.cache', 'vlib'] fn main() { + unbuffer_stdout() // This tool is intended to be launched by the v frontend, // which provides the path to V inside os.getenv('VEXE') // args are: vpm [options] SUBCOMMAND module names -- 2.39.5