gitea源码

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Copyright 2025 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package attribute
  4. import (
  5. "fmt"
  6. "os"
  7. "testing"
  8. "code.gitea.io/gitea/modules/git"
  9. "code.gitea.io/gitea/modules/setting"
  10. "code.gitea.io/gitea/modules/util"
  11. )
  12. func testRun(m *testing.M) error {
  13. gitHomePath, err := os.MkdirTemp(os.TempDir(), "git-home")
  14. if err != nil {
  15. return fmt.Errorf("unable to create temp dir: %w", err)
  16. }
  17. defer util.RemoveAll(gitHomePath)
  18. setting.Git.HomePath = gitHomePath
  19. if err = git.InitFull(); err != nil {
  20. return fmt.Errorf("failed to call Init: %w", err)
  21. }
  22. exitCode := m.Run()
  23. if exitCode != 0 {
  24. return fmt.Errorf("run test failed, ExitCode=%d", exitCode)
  25. }
  26. return nil
  27. }
  28. func TestMain(m *testing.M) {
  29. if err := testRun(m); err != nil {
  30. _, _ = fmt.Fprintf(os.Stderr, "Test failed: %v", err)
  31. os.Exit(1)
  32. }
  33. }