ci: fix a race in vlib/v/compiler_errors_test.v execution on m1

pull/9611/head
Delyan Angelov 2021-04-05 22:57:53 +03:00
parent b041681c00
commit 10619d098c
No known key found for this signature in database
GPG Key ID: 66886C0F12D595ED
6 changed files with 12 additions and 8 deletions

View File

@ -5,6 +5,7 @@ import v.util
import v.pref import v.pref
import v.builder import v.builder
import v.ast import v.ast
import rand
import term import term
const ( const (
@ -116,7 +117,7 @@ fn (app App) gen_api_for_module_in_os(mod_name string, os_name string) string {
} }
fn (mut app App) compare_api(api_base string, api_os string, mod_name string, os_base string, os_target string) { fn (mut app App) compare_api(api_base string, api_os string, mod_name string, os_base string, os_target string) {
res := util.color_compare_strings(app.diff_cmd, api_base, api_os) res := util.color_compare_strings(app.diff_cmd, rand.ulid(), api_base, api_os)
if res.len > 0 { if res.len > 0 {
summary := 'Different APIs found for module: `$mod_name`, between OS base: `$os_base` and OS: `$os_target`' summary := 'Different APIs found for module: `$mod_name`, between OS base: `$os_base` and OS: `$os_target`'
eprintln(term.header(summary, '-')) eprintln(term.header(summary, '-'))

View File

@ -1,4 +1,5 @@
import os import os
import rand
import term import term
import v.util.vtest import v.util.vtest
import v.util import v.util
@ -51,7 +52,7 @@ fn check_path(vexe string, dir string, tests []string) int {
println(found) println(found)
println('============\n') println('============\n')
println('diff:') println('diff:')
println(util.color_compare_strings(diff_cmd, found, expected)) println(util.color_compare_strings(diff_cmd, rand.ulid(), found, expected))
println('============\n') println('============\n')
nb_fail++ nb_fail++
} else { } else {

View File

@ -536,7 +536,7 @@ pub fn on_segfault(f voidptr) {
return return
} }
$if macos { $if macos {
C.printf('TODO') C.printf(c'TODO')
/* /*
mut sa := C.sigaction{} mut sa := C.sigaction{}
C.memset(&sa, 0, sizeof(C.sigaction_size)) C.memset(&sa, 0, sizeof(C.sigaction_size))

View File

@ -1,4 +1,5 @@
import os import os
import rand
import term import term
import v.util import v.util
import v.util.vtest import v.util.vtest
@ -315,7 +316,7 @@ fn clean_line_endings(s string) string {
fn diff_content(s1 string, s2 string) { fn diff_content(s1 string, s2 string) {
diff_cmd := util.find_working_diff_command() or { return } diff_cmd := util.find_working_diff_command() or { return }
println(term.bold(term.yellow('diff: '))) println(term.bold(term.yellow('diff: ')))
println(util.color_compare_strings(diff_cmd, s1, s2)) println(util.color_compare_strings(diff_cmd, rand.ulid(), s1, s2))
println('============\n') println('============\n')
} }

View File

@ -2,6 +2,7 @@
// To test a panic, remove everything after the long `===` line // To test a panic, remove everything after the long `===` line
// You can also remove the line with 'line:' e.g. for a builtin fn // You can also remove the line with 'line:' e.g. for a builtin fn
import os import os
import rand
import term import term
import v.util import v.util
import v.util.vtest import v.util.vtest
@ -77,7 +78,7 @@ fn test_all() {
println(found) println(found)
if diff_cmd != '' { if diff_cmd != '' {
println(term.header('difference:', '-')) println(term.header('difference:', '-'))
println(util.color_compare_strings(diff_cmd, expected, found)) println(util.color_compare_strings(diff_cmd, rand.ulid(), expected, found))
} else { } else {
println(term.h_divider('-')) println(term.h_divider('-'))
} }

View File

@ -68,11 +68,11 @@ pub fn color_compare_files(diff_cmd string, file1 string, file2 string) string {
return '' return ''
} }
pub fn color_compare_strings(diff_cmd string, expected string, found string) string { pub fn color_compare_strings(diff_cmd string, unique_prefix string, expected string, found string) string {
cdir := os.cache_dir() cdir := os.cache_dir()
ctime := time.sys_mono_now() ctime := time.sys_mono_now()
e_file := os.join_path(cdir, '${ctime}.expected.txt') e_file := os.join_path(cdir, '${unique_prefix}_${ctime}.expected.txt')
f_file := os.join_path(cdir, '${ctime}.found.txt') f_file := os.join_path(cdir, '${unique_prefix}_${ctime}.found.txt')
os.write_file(e_file, expected) or { panic(err) } os.write_file(e_file, expected) or { panic(err) }
os.write_file(f_file, found) or { panic(err) } os.write_file(f_file, found) or { panic(err) }
res := color_compare_files(diff_cmd, e_file, f_file) res := color_compare_files(diff_cmd, e_file, f_file)