8000 BaseFixture: allow passing options to the isolated repo · apfunk/libgit2sharp@eb08934 · GitHub
[go: up one dir, main page]

Skip to content

Commit eb08934

Browse files
carlosmnnulltoken
authored andcommitted
BaseFixture: allow passing options to the isolated repo
By default we still generate a config-isolated Repository, but if the user passes their own options, we'll use that instead.
1 parent d72764c commit eb08934

File tree

1 file changed

+14
-15
lines changed

1 file changed

+14
-15
lines changed

LibGit2Sharp.Tests/TestHelpers/BaseFixture.cs

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -154,10 +154,12 @@ protected string InitNewRepository(bool isBare = false)
154154
return Repository.Init(scd.DirectoryPath, isBare);
155155
}
156156

157-
protected Repository InitIsolatedRepository(string path = null, bool isBare = false)
157+
protected Repository InitIsolatedRepository(string path = null, bool isBare = false, RepositoryOptions options = null)
158158
{
159-
path = path ?? InitNewRepository();
160-
return new Repository(path, options: BuildFakeConfigs(BuildSelfCleaningDirectory()));
159+
path = path ?? InitNewRepository(isBare);
160+
options = BuildFakeConfigs(BuildSelfCleaningDirectory(), options);
161+
162+
return new Repository(path, options);
161163
}
162164

163165
public void Register(string directoryPath)
@@ -230,9 +232,9 @@ protected static void AssertValueInConfigFile(string configFilePath, string rege
230232
Assert.True(r.Success, text);
231233
}
232234

233-
public RepositoryOptions BuildFakeConfigs(SelfCleaningDirectory scd)
235+
public RepositoryOptions BuildFakeConfigs(SelfCleaningDirectory scd, RepositoryOptions options = null)
234236
{
235-
var options = BuildFakeRepositoryOptions(scd);
237+
options = BuildFakeRepositoryOptions(scd, options);
236238

237239
StringBuilder sb = new StringBuilder()
238240
.AppendFormat("[Woot]{0}", Environment.NewLine)
@@ -254,21 +256,18 @@ public RepositoryOptions BuildFakeConfigs(SelfCleaningDirectory scd)
254256
return options;
255257
}
256258

257-
private static RepositoryOptions BuildFakeRepositoryOptions(SelfCleaningDirectory scd)
259+
private static RepositoryOptions BuildFakeRepositoryOptions(SelfCleaningDirectory scd, RepositoryOptions options = null)
258260
{
261+
options = options ?? new RepositoryOptions();
262+
259263
string confs = Path.Combine(scd.DirectoryPath, "confs");
260264
Directory.CreateDirectory(confs);
261265

262-
string globalLocation = Path.Combine(confs, "my-global-config");
263-
string xdgLocation = Path.Combine(confs, "my-xdg-config");
264-
string systemLocation = Path.Combine(confs, "my-system-config");
266+
options.GlobalConfigurationLocation = Path.Combine(confs, "my-global-config");
267+
options.XdgConfigurationLocation = Path.Combine(confs, "my-xdg-config");
268+
options.SystemConfigurationLocation = Path.Combine(confs, "my-system-config");
265269

266-
return new RepositoryOptions
267-
{
268-
GlobalConfigurationLocation = globalLocation,
269-
XdgConfigurationLocation = xdgLocation,
270-
SystemConfigurationLocation = systemLocation,
271-
};
270+
return options;
272271
}
273272

274273
/// <summary>

0 commit comments

Comments
 (0)
0