Files
llgo/cmd/internal/test/test.go

46 lines
931 B
Go
Raw Normal View History

2024-12-31 10:53:38 +08:00
package test
import (
"fmt"
"os"
2025-04-03 15:52:18 +08:00
"github.com/goplus/llgo/cmd/internal/base"
2025-04-18 12:54:04 +08:00
"github.com/goplus/llgo/cmd/internal/flags"
2025-04-03 15:52:18 +08:00
"github.com/goplus/llgo/internal/build"
"github.com/goplus/llgo/internal/mockable"
2024-12-31 10:53:38 +08:00
)
// llgo test
var Cmd = &base.Command{
UsageLine: "llgo test [-target platform] [build flags] package [arguments...]",
2024-12-31 10:53:38 +08:00
Short: "Compile and run Go test",
}
func init() {
Cmd.Run = runCmd
2025-09-06 22:25:00 +08:00
flags.AddCommonFlags(&Cmd.Flag)
2025-04-18 12:54:04 +08:00
flags.AddBuildFlags(&Cmd.Flag)
flags.AddEmulatorFlags(&Cmd.Flag)
flags.AddEmbeddedFlags(&Cmd.Flag)
2024-12-31 10:53:38 +08:00
}
func runCmd(cmd *base.Command, args []string) {
2025-05-10 07:15:48 +08:00
2025-04-18 12:54:04 +08:00
if err := cmd.Flag.Parse(args); err != nil {
2025-05-10 07:15:48 +08:00
return
2025-04-18 12:54:04 +08:00
}
conf := build.NewDefaultConf(build.ModeTest)
if err := flags.UpdateConfig(conf); err != nil {
fmt.Fprintln(os.Stderr, err)
mockable.Exit(1)
}
2024-12-31 10:53:38 +08:00
2025-04-18 12:54:04 +08:00
args = cmd.Flag.Args()
2024-12-31 10:53:38 +08:00
_, err := build.Do(args, conf)
if err != nil {
fmt.Fprintln(os.Stderr, err)
mockable.Exit(1)
2024-12-31 10:53:38 +08:00
}
}