WSL test improvements.
This commit is contained in:
parent
0290d566d4
commit
531f98293e
10 changed files with 17 additions and 12 deletions
|
@ -191,6 +191,7 @@ func setupFlags() {
|
||||||
flag.StringVar(&icon, "icon-name", "", "Set the dialog `icon` (dialog-error, dialog-information, dialog-question, dialog-warning)")
|
flag.StringVar(&icon, "icon-name", "", "Set the dialog `icon` (dialog-error, dialog-information, dialog-question, dialog-warning)")
|
||||||
flag.BoolVar(&noWrap, "no-wrap", false, "Do not enable text wrapping")
|
flag.BoolVar(&noWrap, "no-wrap", false, "Do not enable text wrapping")
|
||||||
flag.BoolVar(&ellipsize, "ellipsize", false, "Enable ellipsizing in the dialog text")
|
flag.BoolVar(&ellipsize, "ellipsize", false, "Enable ellipsizing in the dialog text")
|
||||||
|
flag.Bool("no-markup", true, "Do not enable Pango markup")
|
||||||
|
|
||||||
// Entry options
|
// Entry options
|
||||||
flag.StringVar(&entryText, "entry-text", "", "Set the entry `text`")
|
flag.StringVar(&entryText, "entry-text", "", "Set the entry `text`")
|
||||||
|
|
|
@ -27,7 +27,7 @@ func ExampleSelectColor_palette() {
|
||||||
|
|
||||||
func TestSelectColor_timeout(t *testing.T) {
|
func TestSelectColor_timeout(t *testing.T) {
|
||||||
defer goleak.VerifyNone(t)
|
defer goleak.VerifyNone(t)
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), time.Second/10)
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second/5)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
_, err := zenity.SelectColor(zenity.Context(ctx))
|
_, err := zenity.SelectColor(zenity.Context(ctx))
|
||||||
|
|
|
@ -19,7 +19,7 @@ func ExampleEntry() {
|
||||||
|
|
||||||
func TestEntry_timeout(t *testing.T) {
|
func TestEntry_timeout(t *testing.T) {
|
||||||
defer goleak.VerifyNone(t)
|
defer goleak.VerifyNone(t)
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), time.Second/10)
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second/5)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
_, err := zenity.Entry("", zenity.Context(ctx))
|
_, err := zenity.Entry("", zenity.Context(ctx))
|
||||||
|
|
|
@ -82,7 +82,7 @@ func TestSelectFile_timeout(t *testing.T) {
|
||||||
for _, tt := range fileFuncs {
|
for _, tt := range fileFuncs {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
defer goleak.VerifyNone(t)
|
defer goleak.VerifyNone(t)
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), time.Second/10)
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second/5)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
_, err := tt.fn(zenity.Context(ctx))
|
_, err := tt.fn(zenity.Context(ctx))
|
||||||
|
|
|
@ -45,8 +45,8 @@ func skip(err error) (bool, error) {
|
||||||
// zenity was not found in path
|
// zenity was not found in path
|
||||||
return true, err
|
return true, err
|
||||||
}
|
}
|
||||||
if err != nil && os.Getenv("DISPLAY") == "" {
|
if err != nil && os.Getenv("DISPLAY") == "" && os.Getenv("WSL_DISTRO_NAME") == "" {
|
||||||
// no display
|
// no display, not WSL
|
||||||
return true, fmt.Errorf("no display: %w", err)
|
return true, fmt.Errorf("no display: %w", err)
|
||||||
}
|
}
|
||||||
return false, err
|
return false, err
|
||||||
|
|
|
@ -45,7 +45,7 @@ func ExampleListMultipleItems() {
|
||||||
|
|
||||||
func TestList_timeout(t *testing.T) {
|
func TestList_timeout(t *testing.T) {
|
||||||
defer goleak.VerifyNone(t)
|
defer goleak.VerifyNone(t)
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), time.Second/10)
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second/5)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
_, err := zenity.List("", nil, zenity.Context(ctx))
|
_, err := zenity.List("", nil, zenity.Context(ctx))
|
||||||
|
|
|
@ -20,8 +20,8 @@ func skip(err error) (bool, error) {
|
||||||
// zenity was not found in path
|
// zenity was not found in path
|
||||||
return true, err
|
return true, err
|
||||||
}
|
}
|
||||||
if err != nil && os.Getenv("DISPLAY") == "" {
|
if err != nil && os.Getenv("DISPLAY") == "" && os.Getenv("WSL_DISTRO_NAME") == "" {
|
||||||
// no display
|
// no display, not WSL
|
||||||
return true, fmt.Errorf("no display: %w", err)
|
return true, fmt.Errorf("no display: %w", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,7 +54,7 @@ func TestMessage_timeout(t *testing.T) {
|
||||||
for _, tt := range msgFuncs {
|
for _, tt := range msgFuncs {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
defer goleak.VerifyNone(t)
|
defer goleak.VerifyNone(t)
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), time.Second/10)
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second/5)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
err := tt.fn("text", zenity.Context(ctx))
|
err := tt.fn("text", zenity.Context(ctx))
|
||||||
|
|
|
@ -25,7 +25,7 @@ func ExamplePassword_username() {
|
||||||
|
|
||||||
func TestPassword_timeout(t *testing.T) {
|
func TestPassword_timeout(t *testing.T) {
|
||||||
defer goleak.VerifyNone(t)
|
defer goleak.VerifyNone(t)
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), time.Second/10)
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second/5)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
_, _, err := zenity.Password(zenity.Context(ctx))
|
_, _, err := zenity.Password(zenity.Context(ctx))
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
package zenity
|
package zenity
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"os/exec"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/ncruces/zenity/internal/zenutil"
|
"github.com/ncruces/zenity/internal/zenutil"
|
||||||
|
@ -18,8 +19,11 @@ func password(opts options) (string, string, error) {
|
||||||
|
|
||||||
out, err := zenutil.Run(opts.ctx, args)
|
out, err := zenutil.Run(opts.ctx, args)
|
||||||
str, err := strResult(opts, out, err)
|
str, err := strResult(opts, out, err)
|
||||||
if err == nil && opts.username {
|
if opts.username {
|
||||||
if split := strings.SplitN(str, "|", 2); len(split) == 2 {
|
if err, ok := err.(*exec.ExitError); ok && err.ExitCode() == 255 {
|
||||||
|
return "", "", ErrUnsupported
|
||||||
|
}
|
||||||
|
if split := strings.SplitN(str, "|", 2); err == nil && len(split) == 2 {
|
||||||
return split[0], split[1], nil
|
return split[0], split[1], nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue