visualfc / atk

Another Golang Tcl/Tk binding GUI ToolKit
GNU Lesser General Public License v2.1
97 stars 19 forks source link

ci, adds a Github workflow for testing #36

Open torkus opened 8 months ago

torkus commented 8 months ago

Adds a simple Github build-and-test workflow.

torkus commented 8 months ago

Tests are currently failing with:

?       github.com/visualfc/atk/event   [no test files]
TkVersion 8.6
TkLibrary /usr/lib/tk8.6
--- FAIL: TestMain (0.00s)
    tk_test.go:34: sub test RootWindow
    tk_test.go:89: SetTopmost
    tk_test.go:96: Geometry 100 200 1 1
    tk_test.go:106: Size 1 1
    tk_test.go:111: IsMaximized
    tk_test.go:125: Width/Height
    tk_test.go:131: IsFullScreen
    tk_test.go:46: sub test Button
panic: script: "ttk::button .atk_button1 -text $atk_tmp_text -width {20} -compound {none} -state {normal} -takefocus {1} -text $atk_tmp_text", error: "NULL main window" [recovered]
    panic: script: "ttk::button .atk_button1 -text $atk_tmp_text -width {20} -compound {none} -state {normal} -takefocus {1} -text $atk_tmp_text", error: "NULL main window"

goroutine 3 [running]:
testing.tRunner.func1.2({0x55b160, 0xc0000908e0})
    /usr/lib/go/src/testing/testing.go:1545 +0x238
testing.tRunner.func1()
    /usr/lib/go/src/testing/testing.go:1548 +0x397
panic({0x55b160?, 0xc0000908e0?})
    /usr/lib/go/src/runtime/panic.go:914 +0x21f
github.com/visualfc/atk/tk.init.26.func1({0x5befc0?, 0xc0000908e0?})
    /home/torkus/dev/go/atk-clean/tk/tk_test.go:18 +0x26
github.com/visualfc/atk/tk.dumpError({0x5befc0?, 0xc0000908d0?})
    /home/torkus/dev/go/atk-clean/tk/tk.go:256 +0x66
github.com/visualfc/atk/tk.eval({0xc0000be180, 0x7c})
    /home/torkus/dev/go/atk-clean/tk/tk.go:129 +0xb7
github.com/visualfc/atk/tk.CreateWidgetInfo({0xc0000b0440, 0xc}, 0x1, 0x1, {0xc0000960f0, 0x6, 0xa})
    /home/torkus/dev/go/atk-clean/tk/widget_type.go:132 +0x1b9
github.com/visualfc/atk/tk.NewButton({0x0?, 0x0?}, {0x58882e, 0x4}, {0xc00005bd40, 0x5, 0x5})
    /home/torkus/dev/go/atk-clean/tk/button.go:17 +0x218
github.com/visualfc/atk/tk.testButton(0xc0000076c0)
    /home/torkus/dev/go/atk-clean/tk/button_test.go:12 +0x291
github.com/visualfc/atk/tk.TestMain.func1()
    /home/torkus/dev/go/atk-clean/tk/tk_test.go:47 +0x2d7
github.com/visualfc/atk/tk/interp.MainLoop(0xc00004b750)
    /home/torkus/dev/go/atk-clean/tk/interp/interp_unix.go:159 +0x3f
github.com/visualfc/atk/tk.MainLoop(0x0?)
    /home/torkus/dev/go/atk-clean/tk/tk.go:108 +0x45
github.com/visualfc/atk/tk.TestMain(0x0?)
    /home/torkus/dev/go/atk-clean/tk/tk_test.go:33 +0x2f
testing.tRunner(0xc0000076c0, 0x596ac8)
    /usr/lib/go/src/testing/testing.go:1595 +0xff
created by testing.(*T).Run in goroutine 1
    /usr/lib/go/src/testing/testing.go:1648 +0x3ad
FAIL    github.com/visualfc/atk/tk  0.093s
ok      github.com/visualfc/atk/tk/interp   (cached)
FAIL

I think it might have something to do with Tk being initialised twice but I'm not sure.

edit: actually, looking at the test logic the first failure is SetTopmost