| @@ -24,20 +24,24 @@ import ( | |||||
| ) | ) | ||||
| func withKeyFile(t *testing.T, keyname string, callback func(string)) { | func withKeyFile(t *testing.T, keyname string, callback func(string)) { | ||||
| keyFile := filepath.Join(setting.AppDataPath, keyname) | |||||
| err := ssh.GenKeyPair(keyFile) | |||||
| tmpDir, err := ioutil.TempDir("", "key-file") | |||||
| assert.NoError(t, err) | |||||
| defer os.RemoveAll(tmpDir) | |||||
| err = os.Chmod(tmpDir, 0700) | |||||
| assert.NoError(t, err) | |||||
| keyFile := filepath.Join(tmpDir, keyname) | |||||
| err = ssh.GenKeyPair(keyFile) | |||||
| assert.NoError(t, err) | assert.NoError(t, err) | ||||
| //Setup ssh wrapper | //Setup ssh wrapper | ||||
| os.Setenv("GIT_SSH_COMMAND", | os.Setenv("GIT_SSH_COMMAND", | ||||
| "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i "+ | |||||
| filepath.Join(setting.AppWorkPath, keyFile)) | |||||
| "ssh -o \"UserKnownHostsFile=/dev/null\" -o \"StrictHostKeyChecking=no\" -o \"IdentitiesOnly=yes\" -i \""+keyFile+"\"") | |||||
| os.Setenv("GIT_SSH_VARIANT", "ssh") | os.Setenv("GIT_SSH_VARIANT", "ssh") | ||||
| callback(keyFile) | callback(keyFile) | ||||
| defer os.RemoveAll(keyFile) | |||||
| defer os.RemoveAll(keyFile + ".pub") | |||||
| } | } | ||||
| func createSSHUrl(gitPath string, u *url.URL) *url.URL { | func createSSHUrl(gitPath string, u *url.URL) *url.URL { | ||||