Skip to content

Commit

Permalink
Merge pull request #773 from isucon/feat/check-static-files-first
Browse files Browse the repository at this point in the history
feat: 静的ファイルのチェックを初期化処理の前に行う
  • Loading branch information
sapphi-red authored Dec 7, 2024
2 parents 1ea6e2b + c255b09 commit 3ecc7ad
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 24 deletions.
43 changes: 19 additions & 24 deletions bench/benchmarker/scenario/prevalidation.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand Down Expand Up @@ -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()

Expand Down
9 changes: 9 additions & 0 deletions bench/benchmarker/scenario/scenario.go
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down

0 comments on commit 3ecc7ad

Please sign in to comment.