diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3127f80709..96485620f8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,6 +40,8 @@ jobs: # ./v -silent test-compiler - name: Fixed tests run: ./v test-fixed + - name: Test building v tools + run: ./v build-tools # - name: Test v binaries # run: ./v -silent build-vbinaries diff --git a/cmd/tools/modules/testing/common.v b/cmd/tools/modules/testing/common.v index 8a9462b436..3bb36d2615 100644 --- a/cmd/tools/modules/testing/common.v +++ b/cmd/tools/modules/testing/common.v @@ -216,6 +216,10 @@ pub fn vlib_should_be_present(parent_dir string) { } pub fn v_build_failing(zargs string, folder string) bool { + return v_build_failing_skipped(zargs, folder, []) +} + +pub fn v_build_failing_skipped(zargs string, folder string, skipped []string) bool { main_label := 'Building $folder ...' finish_label := 'building $folder' vexe := pref.vexe_path() @@ -239,6 +243,7 @@ pub fn v_build_failing(zargs string, folder string) bool { } } session.files << mains + session.skip_files << skipped session.test() eprintln(session.benchmark.total_message(finish_label)) return session.failed diff --git a/cmd/tools/vbuild-tools.v b/cmd/tools/vbuild-tools.v index 93175abf3c..36c02d7db2 100644 --- a/cmd/tools/vbuild-tools.v +++ b/cmd/tools/vbuild-tools.v @@ -6,7 +6,11 @@ import testing fn main() { args := os.args args_string := args[1..].join(' ') - if testing.v_build_failing(args_string.all_before('build-tools'), 'cmd/tools') { + // TODO: fix cmd/tools/gen_vc.v / vweb too + skips := [ + 'cmd/tools/gen_vc.v' + ] + if testing.v_build_failing_skipped(args_string.all_before('build-tools'), 'cmd/tools', skips) { exit(1) } }