aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/transport
diff options
context:
space:
mode:
authorManuel Carmona <manu.carmona90@gmail.com>2017-08-07 12:11:00 +0200
committerMáximo Cuadros <mcuadros@gmail.com>2017-08-07 12:11:00 +0200
commitda410ded51ddab7729992540b54c739e43090244 (patch)
tree5754962d1152781a718083c1aba015d08ebbb24b /plumbing/transport
parent80421da9614ad81c7d1d45d48c0f291654070c54 (diff)
downloadgo-git-da410ded51ddab7729992540b54c739e43090244.tar.gz
*: windows support, some more fixes (2) (#536)
* fixed windows failed test: "143 FAIL: worktree_test.go:314: WorktreeSuite.TestFilenameNormalization" * fixed windows failed test: "489: FAIL: auth_method_test.go:106: SuiteCommon.TestNewSSHAgentAuthNoAgent" * fixed windows failed test: "279 FAIL: server_test.go:50: ServerSuite.TestClone" fixed windows failed test: "298 FAIL: server_test.go:37: ServerSuite.TestPush" * fixed windows failed test: "316 FAIL: <autogenerated>:26: UploadPackSuite.TearDownSuite" * fixed windows failed test: "FAIL: <autogenerated>:6: IndexSuite.TearDownSuite"
Diffstat (limited to 'plumbing/transport')
-rw-r--r--plumbing/transport/file/server_test.go15
-rw-r--r--plumbing/transport/ssh/auth_method_test.go2
-rw-r--r--plumbing/transport/test/upload_pack.go6
3 files changed, 22 insertions, 1 deletions
diff --git a/plumbing/transport/file/server_test.go b/plumbing/transport/file/server_test.go
index ee72282..080beef 100644
--- a/plumbing/transport/file/server_test.go
+++ b/plumbing/transport/file/server_test.go
@@ -35,6 +35,10 @@ func (s *ServerSuite) SetUpSuite(c *C) {
}
func (s *ServerSuite) TestPush(c *C) {
+ if !s.checkExecPerm(c) {
+ c.Skip("go-git binary has not execution permissions")
+ }
+
// git <2.0 cannot push to an empty repository without a refspec.
cmd := exec.Command("git", "push",
"--receive-pack", s.ReceivePackBin,
@@ -48,6 +52,10 @@ func (s *ServerSuite) TestPush(c *C) {
}
func (s *ServerSuite) TestClone(c *C) {
+ if !s.checkExecPerm(c) {
+ c.Skip("go-git binary has not execution permissions")
+ }
+
pathToClone := c.MkDir()
cmd := exec.Command("git", "clone",
@@ -59,3 +67,10 @@ func (s *ServerSuite) TestClone(c *C) {
out, err := cmd.CombinedOutput()
c.Assert(err, IsNil, Commentf("combined stdout and stderr:\n%s\n", out))
}
+
+func (s *ServerSuite) checkExecPerm(c *C) bool {
+ const userExecPermMask = 0100
+ info, err := os.Stat(s.ReceivePackBin)
+ c.Assert(err, IsNil)
+ return (info.Mode().Perm() & userExecPermMask) == userExecPermMask
+}
diff --git a/plumbing/transport/ssh/auth_method_test.go b/plumbing/transport/ssh/auth_method_test.go
index aa05f7f..2ee5100 100644
--- a/plumbing/transport/ssh/auth_method_test.go
+++ b/plumbing/transport/ssh/auth_method_test.go
@@ -115,7 +115,7 @@ func (s *SuiteCommon) TestNewSSHAgentAuthNoAgent(c *C) {
k, err := NewSSHAgentAuth("foo")
c.Assert(k, IsNil)
- c.Assert(err, ErrorMatches, ".*SSH_AUTH_SOCK.*")
+ c.Assert(err, ErrorMatches, ".*SSH_AUTH_SOCK.*|.*SSH agent .* not running.*")
}
func (*SuiteCommon) TestNewPublicKeys(c *C) {
diff --git a/plumbing/transport/test/upload_pack.go b/plumbing/transport/test/upload_pack.go
index ade6cdc..b3acc4f 100644
--- a/plumbing/transport/test/upload_pack.go
+++ b/plumbing/transport/test/upload_pack.go
@@ -31,6 +31,8 @@ type UploadPackSuite struct {
func (s *UploadPackSuite) TestAdvertisedReferencesEmpty(c *C) {
r, err := s.Client.NewUploadPackSession(s.EmptyEndpoint, s.EmptyAuth)
c.Assert(err, IsNil)
+ defer func() { c.Assert(r.Close(), IsNil) }()
+
ar, err := r.AdvertisedReferences()
c.Assert(err, Equals, transport.ErrEmptyRemoteRepository)
c.Assert(ar, IsNil)
@@ -39,6 +41,8 @@ func (s *UploadPackSuite) TestAdvertisedReferencesEmpty(c *C) {
func (s *UploadPackSuite) TestAdvertisedReferencesNotExists(c *C) {
r, err := s.Client.NewUploadPackSession(s.NonExistentEndpoint, s.EmptyAuth)
c.Assert(err, IsNil)
+ defer func() { c.Assert(r.Close(), IsNil) }()
+
ar, err := r.AdvertisedReferences()
c.Assert(err, Equals, transport.ErrRepositoryNotFound)
c.Assert(ar, IsNil)
@@ -55,6 +59,8 @@ func (s *UploadPackSuite) TestAdvertisedReferencesNotExists(c *C) {
func (s *UploadPackSuite) TestCallAdvertisedReferenceTwice(c *C) {
r, err := s.Client.NewUploadPackSession(s.Endpoint, s.EmptyAuth)
c.Assert(err, IsNil)
+ defer func() { c.Assert(r.Close(), IsNil) }()
+
ar1, err := r.AdvertisedReferences()
c.Assert(err, IsNil)
c.Assert(ar1, NotNil)