diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2019-03-27 17:33:00 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-27 17:33:00 +0800 |
commit | d578b71d61ee8131e8abf7f538b93d8c6cc6fe6d (patch) | |
tree | f0bc12702264f2400f1b4308e06f9aa631fe3cca /modules/git/command_test.go | |
parent | d056bf300ff5ebd89d8b0035722c94a3b08ac745 (diff) | |
download | gitea-d578b71d61ee8131e8abf7f538b93d8c6cc6fe6d.tar.gz gitea-d578b71d61ee8131e8abf7f538b93d8c6cc6fe6d.zip |
move code.gitea.io/git to code.gitea.io/gitea/modules/git (#6364)
* move code.gitea.io/git to code.gitea.io/gitea/modules/git
* fix imports
* fix fmt
* fix misspell
* remove wrong tests data
* fix unit tests
* fix tests
* fix tests
* fix tests
* fix tests
* fix tests
* enable Debug to trace the failure tests
* fix tests
* fix tests
* fix tests
* fix tests
* fix tests
* comment commit count tests since git clone depth is 50
* fix tests
* update from code.gitea.io/git
* revert change to makefile
Diffstat (limited to 'modules/git/command_test.go')
-rw-r--r-- | modules/git/command_test.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/modules/git/command_test.go b/modules/git/command_test.go new file mode 100644 index 0000000000..2f35b3c329 --- /dev/null +++ b/modules/git/command_test.go @@ -0,0 +1,41 @@ +// Copyright 2017 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +// +build race + +package git + +import ( + "context" + "testing" + "time" +) + +func TestRunInDirTimeoutPipelineNoTimeout(t *testing.T) { + + maxLoops := 1000 + + // 'git --version' does not block so it must be finished before the timeout triggered. + cmd := NewCommand("--version") + for i := 0; i < maxLoops; i++ { + if err := cmd.RunInDirTimeoutPipeline(-1, "", nil, nil); err != nil { + t.Fatal(err) + } + } +} + +func TestRunInDirTimeoutPipelineAlwaysTimeout(t *testing.T) { + + maxLoops := 1000 + + // 'git hash-object --stdin' blocks on stdin so we can have the timeout triggered. + cmd := NewCommand("hash-object --stdin") + for i := 0; i < maxLoops; i++ { + if err := cmd.RunInDirTimeoutPipeline(1*time.Microsecond, "", nil, nil); err != nil { + if err != context.DeadlineExceeded { + t.Fatalf("Testing %d/%d: %v", i, maxLoops, err) + } + } + } +} |