12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package framework
- import (
- "flag"
- "fmt"
- "os"
- "github.com/onsi/ginkgo/config"
- )
- type TestContextType struct {
- FRPClientPath string
- FRPServerPath string
- LogLevel string
- Debug bool
- }
- var TestContext TestContextType
- func RegisterCommonFlags(flags *flag.FlagSet) {
-
- config.GinkgoConfig.EmitSpecProgress = true
-
- config.GinkgoConfig.RandomizeAllSpecs = true
- flags.StringVar(&TestContext.FRPClientPath, "frpc-path", "../../bin/frpc", "The frp client binary to use.")
- flags.StringVar(&TestContext.FRPServerPath, "frps-path", "../../bin/frps", "The frp server binary to use.")
- flags.StringVar(&TestContext.LogLevel, "log-level", "debug", "Log level.")
- flags.BoolVar(&TestContext.Debug, "debug", false, "Enable debug mode to print detail info.")
- }
- func ValidateTestContext(t *TestContextType) error {
- if t.FRPClientPath == "" || t.FRPServerPath == "" {
- return fmt.Errorf("frpc and frps binary path can't be empty")
- }
- if _, err := os.Stat(t.FRPClientPath); err != nil {
- return fmt.Errorf("load frpc-path error: %v", err)
- }
- if _, err := os.Stat(t.FRPServerPath); err != nil {
- return fmt.Errorf("load frps-path error: %v", err)
- }
- return nil
- }
|