os/execpackage main
import (
"os/exec"
...
)
func main(){
...
//Чтобы получить приглашение в консоли
cmd := exec.Command("sudo", "su")
err := cmd.Run()
if err != nil {
fmt.Printf("%s", err)
}
...
//Или чтобы выпало окошко
out, err := exec.Command("osascript", "-e", "do shell script /path/to/myscript with administrator privileges").Output()
if err != nil {
fmt.Printf("%s", err)
}
...
} qemu-img convert -f raw /var/lib/libvirt/images/VM.img -O vmdk VM.tmp.vmdk -o compat6или от wmware https://www.vmware.com/products/converter.html header, а error при попытке tw.Flush(), который вы не проверили. После записи header, нужно залить собственно данные tw.Write(data []byte) и уже потом делать tw.Flush(). Вы в header пообещали залить данные и не залили. Кажется должно быть что то вродеif err := tw.WriteHeader(hdr); err != nil {
return err
}
if n, err := tw.Write(content); err != nil { //вот это не видно как вы сделали
return err
}
if tw.Flush(); err != nil{ //и нужно проверять все ошибки
return err
} GO111MODULE=auto go get github.com/kataras/iris/v12@latestfunc TestRaceDeposit(t *testing.T) {
setBalance(0)
go Deposit(10) //Просто этого вызова уже достаточно
Deposit(10)
if Balance() != 20 {
t.Errorf("unexpected balance: value - %d expect 20", Balance())
}
}