From c255b09c7c2845d0a2305f62c11f4a63eddc0608 Mon Sep 17 00:00:00 2001 From: sapphi-red <49056869+sapphi-red@users.noreply.github.com> Date: Sat, 7 Dec 2024 20:28:51 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=9D=99=E7=9A=84=E3=83=95=E3=82=A1?= =?UTF-8?q?=E3=82=A4=E3=83=AB=E3=81=AE=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF?= =?UTF-8?q?=E3=82=92=E5=88=9D=E6=9C=9F=E5=8C=96=E5=87=A6=E7=90=86=E3=81=AE?= =?UTF-8?q?=E5=89=8D=E3=81=AB=E8=A1=8C=E3=81=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bench/benchmarker/scenario/prevalidation.go | 43 +++++++++------------ bench/benchmarker/scenario/scenario.go | 9 +++++ 2 files changed, 28 insertions(+), 24 deletions(-) diff --git a/bench/benchmarker/scenario/prevalidation.go b/bench/benchmarker/scenario/prevalidation.go index a0124f9d..35bc1a63 100644 --- a/bench/benchmarker/scenario/prevalidation.go +++ b/bench/benchmarker/scenario/prevalidation.go @@ -15,33 +15,12 @@ import ( "github.com/isucon/isucon14/bench/benchrun" ) -// 実装の検証を行う -func (s *Scenario) prevalidation(ctx context.Context, client *webapp.Client) error { - clientConfig := webapp.ClientConfig{ +func (s *Scenario) validateFrontendFiles(ctx context.Context) error { + client, err := webapp.NewClient(webapp.ClientConfig{ TargetBaseURL: s.target, TargetAddr: s.addr, ClientIdleConnTimeout: 10 * time.Second, - } - - if s.skipStaticFileSanityCheck { - s.contestantLogger.Info("静的ファイルのチェックをスキップします") - } else { - if err := validateFrontendFiles(ctx, clientConfig); err != nil { - s.contestantLogger.Error("静的ファイルのチェックに失敗しました", slog.String("error", err.Error())) - return err - } - } - - if err := validateInitialData(ctx, clientConfig); err != nil { - s.contestantLogger.Error("初期データのチェックに失敗しました", slog.String("error", err.Error())) - return err - } - - return nil -} - -func validateFrontendFiles(ctx context.Context, clientConfig webapp.ClientConfig) error { - client, err := webapp.NewClient(clientConfig) + }) if err != nil { return err } @@ -88,6 +67,22 @@ func validateFrontendFiles(ctx context.Context, clientConfig webapp.ClientConfig return nil } +// 実装の検証を行う +func (s *Scenario) prevalidation(ctx context.Context, client *webapp.Client) error { + clientConfig := webapp.ClientConfig{ + TargetBaseURL: s.target, + TargetAddr: s.addr, + ClientIdleConnTimeout: 10 * time.Second, + } + + if err := validateInitialData(ctx, clientConfig); err != nil { + s.contestantLogger.Error("初期データのチェックに失敗しました", slog.String("error", err.Error())) + return err + } + + return nil +} + func validateInitialData(ctx context.Context, clientConfig webapp.ClientConfig) error { validationData := LoadData() diff --git a/bench/benchmarker/scenario/scenario.go b/bench/benchmarker/scenario/scenario.go index df2f8337..4927d14d 100644 --- a/bench/benchmarker/scenario/scenario.go +++ b/bench/benchmarker/scenario/scenario.go @@ -179,6 +179,15 @@ func NewScenario(target, addr, paymentURL string, logger *slog.Logger, reporter // Prepare はシナリオの初期化処理を行う func (s *Scenario) Prepare(ctx context.Context, step *isucandar.BenchmarkStep) error { + if s.skipStaticFileSanityCheck { + s.contestantLogger.Info("静的ファイルのチェックをスキップします") + } else { + if err := s.validateFrontendFiles(ctx); err != nil { + s.contestantLogger.Error("静的ファイルのチェックに失敗しました", slog.String("error", err.Error())) + return err + } + } + client, err := webapp.NewClient(webapp.ClientConfig{ TargetBaseURL: s.target, TargetAddr: s.addr,