mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
os: add execute_or_exit(cmd), use it consistently instead of execute_or_panic(cmd)
This commit is contained in:
parent
850a715c79
commit
5098334e65
@ -107,7 +107,7 @@ fn main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn exec(s string) string {
|
fn exec(s string) string {
|
||||||
e := os.execute_or_panic(s)
|
e := os.execute_or_exit(s)
|
||||||
return e.output.trim_right('\r\n')
|
return e.output.trim_right('\r\n')
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -137,7 +137,7 @@ fn measure(cmd string, description string) int {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn measure_steps(vdir string) (int, int, int, int, int) {
|
fn measure_steps(vdir string) (int, int, int, int, int) {
|
||||||
resp := os.execute_or_panic('$vdir/vprod $voptions -o v.c cmd/v')
|
resp := os.execute_or_exit('$vdir/vprod $voptions -o v.c cmd/v')
|
||||||
|
|
||||||
mut scan, mut parse, mut check, mut cgen, mut vlines := 0, 0, 0, 0, 0
|
mut scan, mut parse, mut check, mut cgen, mut vlines := 0, 0, 0, 0, 0
|
||||||
lines := resp.output.split_into_lines()
|
lines := resp.output.split_into_lines()
|
||||||
|
@ -32,7 +32,7 @@ fn main() {
|
|||||||
println('resp != 0, skipping')
|
println('resp != 0, skipping')
|
||||||
} else {
|
} else {
|
||||||
os.chdir('website')
|
os.chdir('website')
|
||||||
os.execute_or_panic('git checkout gh-pages')
|
os.execute_or_exit('git checkout gh-pages')
|
||||||
os.cp('../index.html', 'index.html') ?
|
os.cp('../index.html', 'index.html') ?
|
||||||
os.system('git commit -am "update benchmark"')
|
os.system('git commit -am "update benchmark"')
|
||||||
os.system('git push origin gh-pages')
|
os.system('git push origin gh-pages')
|
||||||
|
@ -165,7 +165,7 @@ fn main() {
|
|||||||
scripting.cprintln('# v commit hash: $shorter_hash | folder: $context.path_v')
|
scripting.cprintln('# v commit hash: $shorter_hash | folder: $context.path_v')
|
||||||
if context.cmd_to_run.len > 0 {
|
if context.cmd_to_run.len > 0 {
|
||||||
scripting.cprintln_strong('# command: ${context.cmd_to_run:-34s}')
|
scripting.cprintln_strong('# command: ${context.cmd_to_run:-34s}')
|
||||||
cmdres := os.execute_or_panic(context.cmd_to_run)
|
cmdres := os.execute_or_exit(context.cmd_to_run)
|
||||||
if cmdres.exit_code != 0 {
|
if cmdres.exit_code != 0 {
|
||||||
scripting.cprintln_strong('# exit code: ${cmdres.exit_code:-4d}')
|
scripting.cprintln_strong('# exit code: ${cmdres.exit_code:-4d}')
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ const test_path = 'vcreate_test'
|
|||||||
|
|
||||||
fn init_and_check() ? {
|
fn init_and_check() ? {
|
||||||
vexe := @VEXE
|
vexe := @VEXE
|
||||||
os.execute_or_panic('$vexe init')
|
os.execute_or_exit('$vexe init')
|
||||||
|
|
||||||
assert os.read_file('vcreate_test.v') ? == [
|
assert os.read_file('vcreate_test.v') ? == [
|
||||||
'module main\n',
|
'module main\n',
|
||||||
@ -58,7 +58,7 @@ fn test_v_init_in_git_dir() ? {
|
|||||||
os.rmdir_all(dir) or {}
|
os.rmdir_all(dir) or {}
|
||||||
}
|
}
|
||||||
os.chdir(dir)
|
os.chdir(dir)
|
||||||
os.execute_or_panic('git init .')
|
os.execute_or_exit('git init .')
|
||||||
init_and_check() ?
|
init_and_check() ?
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ fn test_v_init_no_overwrite_gitignore() ? {
|
|||||||
os.chdir(dir)
|
os.chdir(dir)
|
||||||
|
|
||||||
vexe := @VEXE
|
vexe := @VEXE
|
||||||
os.execute_or_panic('$vexe init')
|
os.execute_or_exit('$vexe init')
|
||||||
|
|
||||||
assert os.read_file('.gitignore') ? == 'blah'
|
assert os.read_file('.gitignore') ? == 'blah'
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ fn main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn compile(vroot string, cmd string) {
|
fn compile(vroot string, cmd string) {
|
||||||
result := os.execute_or_panic(cmd)
|
result := os.execute_or_exit(cmd)
|
||||||
if result.exit_code != 0 {
|
if result.exit_code != 0 {
|
||||||
eprintln('cannot compile to `$vroot`: \n$result.output')
|
eprintln('cannot compile to `$vroot`: \n$result.output')
|
||||||
exit(1)
|
exit(1)
|
||||||
|
@ -135,7 +135,7 @@ fn (app App) git_command(command string) {
|
|||||||
if git_result.exit_code < 0 {
|
if git_result.exit_code < 0 {
|
||||||
app.get_git()
|
app.get_git()
|
||||||
// Try it again with (maybe) git installed
|
// Try it again with (maybe) git installed
|
||||||
os.execute_or_panic('git $command')
|
os.execute_or_exit('git $command')
|
||||||
}
|
}
|
||||||
if git_result.exit_code != 0 {
|
if git_result.exit_code != 0 {
|
||||||
eprintln(git_result.output)
|
eprintln(git_result.output)
|
||||||
|
@ -49,7 +49,7 @@ fn test_can_compile_and_use_library_with_skip_unused() {
|
|||||||
fn v_compile(vopts string) os.Result {
|
fn v_compile(vopts string) os.Result {
|
||||||
cmd := '"$vexe" -showcc $vopts'
|
cmd := '"$vexe" -showcc $vopts'
|
||||||
// dump(cmd)
|
// dump(cmd)
|
||||||
res := os.execute_or_panic(cmd)
|
res := os.execute_or_exit(cmd)
|
||||||
// dump(res)
|
// dump(res)
|
||||||
assert res.exit_code == 0
|
assert res.exit_code == 0
|
||||||
return res
|
return res
|
||||||
|
@ -15,7 +15,7 @@ fn test_syscallwrappers() {
|
|||||||
os.chdir(dot_checks)
|
os.chdir(dot_checks)
|
||||||
checks_v := 'checks.v'
|
checks_v := 'checks.v'
|
||||||
assert os.exists(checks_v)
|
assert os.exists(checks_v)
|
||||||
rc := os.execute_or_panic('v run $checks_v')
|
rc := os.execute_or_exit('v run $checks_v')
|
||||||
assert rc.exit_code == 0
|
assert rc.exit_code == 0
|
||||||
assert !rc.output.contains('V panic: An assertion failed.')
|
assert !rc.output.contains('V panic: An assertion failed.')
|
||||||
assert !rc.output.contains('failed')
|
assert !rc.output.contains('failed')
|
||||||
|
11
vlib/os/os.v
11
vlib/os/os.v
@ -622,6 +622,17 @@ pub fn execute_or_panic(cmd string) Result {
|
|||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn execute_or_exit(cmd string) Result {
|
||||||
|
res := execute(cmd)
|
||||||
|
if res.exit_code != 0 {
|
||||||
|
eprintln('failed cmd: $cmd')
|
||||||
|
eprintln('failed code: $res.exit_code')
|
||||||
|
eprintln(res.output)
|
||||||
|
exit(1)
|
||||||
|
}
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
|
||||||
// is_atty returns 1 if the `fd` file descriptor is open and refers to a terminal
|
// is_atty returns 1 if the `fd` file descriptor is open and refers to a terminal
|
||||||
pub fn is_atty(fd int) int {
|
pub fn is_atty(fd int) int {
|
||||||
$if windows {
|
$if windows {
|
||||||
|
@ -524,7 +524,7 @@ fn (mut v Builder) cc() {
|
|||||||
mut ccompiler := v.pref.ccompiler
|
mut ccompiler := v.pref.ccompiler
|
||||||
if v.pref.os == .ios {
|
if v.pref.os == .ios {
|
||||||
ios_sdk := if v.pref.is_ios_simulator { 'iphonesimulator' } else { 'iphoneos' }
|
ios_sdk := if v.pref.is_ios_simulator { 'iphonesimulator' } else { 'iphoneos' }
|
||||||
ios_sdk_path_res := os.execute_or_panic('xcrun --sdk $ios_sdk --show-sdk-path')
|
ios_sdk_path_res := os.execute_or_exit('xcrun --sdk $ios_sdk --show-sdk-path')
|
||||||
mut isysroot := ios_sdk_path_res.output.replace('\n', '')
|
mut isysroot := ios_sdk_path_res.output.replace('\n', '')
|
||||||
arch := if v.pref.is_ios_simulator {
|
arch := if v.pref.is_ios_simulator {
|
||||||
'-arch x86_64'
|
'-arch x86_64'
|
||||||
|
@ -12,7 +12,7 @@ fn test_the_v_compiler_can_be_invoked() {
|
|||||||
println('vexecutable: $vexec')
|
println('vexecutable: $vexec')
|
||||||
assert vexec != ''
|
assert vexec != ''
|
||||||
vcmd := '"$vexec" -version'
|
vcmd := '"$vexec" -version'
|
||||||
r := os.execute_or_panic(vcmd)
|
r := os.execute_or_exit(vcmd)
|
||||||
assert r.exit_code == 0
|
assert r.exit_code == 0
|
||||||
// println('"$vcmd" exit_code: $r.exit_code | output: $r.output')
|
// println('"$vcmd" exit_code: $r.exit_code | output: $r.output')
|
||||||
vcmd_error := '"$vexec" nonexisting.v'
|
vcmd_error := '"$vexec" nonexisting.v'
|
||||||
|
@ -248,7 +248,7 @@ pub fn launch_tool(is_verbose bool, tool_name string, args []string) {
|
|||||||
if is_verbose {
|
if is_verbose {
|
||||||
println('Compiling $tool_name with: "$compilation_command"')
|
println('Compiling $tool_name with: "$compilation_command"')
|
||||||
}
|
}
|
||||||
tool_compilation := os.execute_or_panic(compilation_command)
|
tool_compilation := os.execute_or_exit(compilation_command)
|
||||||
if tool_compilation.exit_code != 0 {
|
if tool_compilation.exit_code != 0 {
|
||||||
eprintln('cannot compile `$tool_source`: \n$tool_compilation.output')
|
eprintln('cannot compile `$tool_source`: \n$tool_compilation.output')
|
||||||
exit(1)
|
exit(1)
|
||||||
|
Loading…
Reference in New Issue
Block a user