From 7b7c1a518a2145f972706d72ae1b2236a65839e5 Mon Sep 17 00:00:00 2001 From: xucong053 Date: Wed, 6 Jul 2022 13:22:18 +0800 Subject: [PATCH] fix: plugin file distribution --- examples/demo-with-go-plugin/plugin/debugtalk_gen.go | 2 +- hrp/internal/boomer/runner.go | 2 +- hrp/internal/builtin/utils.go | 9 ++++----- hrp/runner.go | 7 +++++-- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/examples/demo-with-go-plugin/plugin/debugtalk_gen.go b/examples/demo-with-go-plugin/plugin/debugtalk_gen.go index 6e6c9067..0ee1ae22 100644 --- a/examples/demo-with-go-plugin/plugin/debugtalk_gen.go +++ b/examples/demo-with-go-plugin/plugin/debugtalk_gen.go @@ -1,4 +1,4 @@ -// NOTE: Generated By hrp v4.1.4, DO NOT EDIT! +// NOTE: Generated By hrp v4.1.5, DO NOT EDIT! package main import ( diff --git a/hrp/internal/boomer/runner.go b/hrp/internal/boomer/runner.go index e30d0d7a..b020bbfa 100644 --- a/hrp/internal/boomer/runner.go +++ b/hrp/internal/boomer/runner.go @@ -1089,7 +1089,7 @@ func (r *masterRunner) reportStats() { currentTime := time.Now() println() println("===================== HttpRunner Master for Distributed Load Testing ===================== ") - println(fmt.Sprintf("Current time: %s, State: %v, Current Valid Workers: %v, Target Users: %v", + println(fmt.Sprintf("Current time: %s, State: %v, Current Available Workers: %v, Target Users: %v", currentTime.Format("2006/01/02 15:04:05"), getStateName(r.getState()), r.server.getClientsLength(), r.getSpawnCount())) table := tablewriter.NewWriter(os.Stdout) table.SetHeader([]string{"Worker ID", "State", "Current Users", "CPU Usage", "CPU Warning Emitted", "Memory Usage", "Heartbeat"}) diff --git a/hrp/internal/builtin/utils.go b/hrp/internal/builtin/utils.go index 10aad1e3..cfc660c2 100644 --- a/hrp/internal/builtin/utils.go +++ b/hrp/internal/builtin/utils.go @@ -492,12 +492,11 @@ func GetFileNameWithoutExtension(path string) string { } func Bytes2File(data []byte, filename string) error { - file, err := os.Create(filename) - if err != nil { - return err - } + file, err := os.OpenFile(filename, os.O_WRONLY|os.O_TRUNC|os.O_CREATE, 0755) defer file.Close() - + if err != nil { + log.Error().Err(err).Msg("failed to generate file") + } count, err := file.Write(data) if err != nil { return err diff --git a/hrp/runner.go b/hrp/runner.go index 60389d03..e6662613 100644 --- a/hrp/runner.go +++ b/hrp/runner.go @@ -281,14 +281,17 @@ func (r *HRPRunner) newCaseRunner(testcase *TestCase) (*testCaseRunner, error) { timeout := time.Duration(runner.testCase.Config.Timeout*1000) * time.Millisecond runner.hrpRunner.SetTimeout(timeout) } + + // load plugin info to testcase config if plugin != nil { - pluginContent, err := builtin.ReadFile(plugin.Path()) + pluginPath, _ := locatePlugin(testcase.Config.Path) + pluginContent, err := builtin.ReadFile(pluginPath) if err != nil { return nil, err } tp := strings.Split(plugin.Path(), ".") runner.parsedConfig.PluginSetting = &PluginConfig{ - Path: plugin.Path(), + Path: pluginPath, Content: pluginContent, Type: tp[len(tp)-1], }