Skip to content

Commit d7a7a6b

Browse files
committed
NH-3900 - Use TestContext.CurrentContext.TestDirectory instead of Environment.CurrentDirectory
1 parent d05363c commit d7a7a6b

File tree

8 files changed

+46
-45
lines changed

8 files changed

+46
-45
lines changed

src/NHibernate.Test/CfgTest/ConfigurationFixture.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class ConfigurationFixture
2727
public void ReadCfgXmlFromDefaultFile()
2828
{
2929
Configuration cfg = new Configuration();
30-
cfg.Configure("TestEnbeddedConfig.cfg.xml");
30+
cfg.Configure(Path.Combine(TestContext.CurrentContext.TestDirectory, "TestEnbeddedConfig.cfg.xml"));
3131

3232
Assert.IsTrue(cfg.Properties.ContainsKey(Environment.ShowSql));
3333
Assert.IsTrue(cfg.Properties.ContainsKey(Environment.UseQueryCache));
@@ -91,16 +91,16 @@ public void ReadCfgXmlFromAssembly()
9191
public void InvalidXmlInCfgFile()
9292
{
9393
XmlDocument cfgXml = new XmlDocument();
94-
cfgXml.Load("TestEnbeddedConfig.cfg.xml");
94+
cfgXml.Load(Path.Combine(TestContext.CurrentContext.TestDirectory, "TestEnbeddedConfig.cfg.xml"));
9595

9696
// this should put us at the first <property> element
9797
XmlElement propElement = cfgXml.DocumentElement.GetElementsByTagName("property")[0] as XmlElement;
9898

9999
// removing this will cause it not to validate
100100
propElement.RemoveAttribute("name");
101101

102-
const string FileNameForInvalidCfg = "hibernate.invalid.cfg.xml";
103-
cfgXml.Save(FileNameForInvalidCfg);
102+
string FileNameForInvalidCfg = Path.Combine(TestContext.CurrentContext.TestDirectory, "hibernate.invalid.cfg.xml");
103+
cfgXml.Save(FileNameForInvalidCfg);
104104

105105
Configuration cfg = new Configuration();
106106
try
@@ -222,7 +222,7 @@ public void CacheConfiguration()
222222
[Test]
223223
public void InvalidXmlInHbmFile()
224224
{
225-
string filename = "invalid.hbm.xml";
225+
string filename = Path.Combine(TestContext.CurrentContext.TestDirectory, "invalid.hbm.xml");
226226
// it's missing the class name - won't validate
227227
string hbm =
228228
@"<?xml version='1.0' encoding='utf-8' ?>
@@ -432,7 +432,7 @@ public SampleQueryProvider(ISessionImplementor session) : base(session)
432432
public void NH2890Standard()
433433
{
434434
var cfg = new Configuration();
435-
cfg.Configure("TestEnbeddedConfig.cfg.xml")
435+
cfg.Configure(Path.Combine(TestContext.CurrentContext.TestDirectory, "TestEnbeddedConfig.cfg.xml"))
436436
.LinqQueryProvider<SampleQueryProvider>()
437437
.SetDefaultAssembly("NHibernate.DomainModel")
438438
.SetDefaultNamespace("NHibernate.DomainModel");
@@ -451,7 +451,7 @@ public void NH2890Standard()
451451
public void NH2890Xml()
452452
{
453453
var cfg = new Configuration();
454-
cfg.Configure("TestEnbeddedConfig.cfg.xml")
454+
cfg.Configure(Path.Combine(TestContext.CurrentContext.TestDirectory, "TestEnbeddedConfig.cfg.xml"))
455455
.SetDefaultAssembly("NHibernate.DomainModel")
456456
.SetDefaultNamespace("NHibernate.DomainModel");
457457

src/NHibernate.Test/CfgTest/DefaultNsAssmFixture.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -97,33 +97,33 @@ public class DefaultNsAssmFixture
9797
[TestFixtureSetUp]
9898
public void TestFixtureSetUp()
9999
{
100-
dir_ = Directory.GetCurrentDirectory();
100+
dir_ = TestContext.CurrentContext.TestDirectory;
101101

102102
// Create hbm files (ideally, we could just embed them directly into the
103103
// assembly - same as VS does when 'Build Action' = 'Embedded Resource' - but
104104
// I could not find a way to do this, so we use files instead)
105105

106-
StreamWriter aw = new StreamWriter("A1.hbm.xml");
106+
StreamWriter aw = new StreamWriter(Path.Combine(dir_, "A1.hbm.xml"));
107107
aw.Write(aJoinedHbmXml);
108108
aw.Close();
109109

110-
StreamWriter bw = new StreamWriter("B1.hbm.xml");
110+
StreamWriter bw = new StreamWriter(Path.Combine(dir_, "B1.hbm.xml"));
111111
bw.Write(bJoinedHbmXml);
112112
bw.Close();
113113

114-
StreamWriter cw = new StreamWriter("C1.hbm.xml");
114+
StreamWriter cw = new StreamWriter(Path.Combine(dir_, "C1.hbm.xml"));
115115
cw.Write(cJoinedHbmXml);
116116
cw.Close();
117117

118-
StreamWriter asw = new StreamWriter("A1.subclass.hbm.xml");
118+
StreamWriter asw = new StreamWriter(Path.Combine(dir_, "A1.subclass.hbm.xml"));
119119
asw.Write(aJoinedHbmXml);
120120
asw.Close();
121121

122-
StreamWriter bsw = new StreamWriter("B1.subclass.hbm.xml");
122+
StreamWriter bsw = new StreamWriter(Path.Combine(dir_, "B1.subclass.hbm.xml"));
123123
bsw.Write(bJoinedHbmXml);
124124
bsw.Close();
125125

126-
StreamWriter csw = new StreamWriter("C1.subclass.hbm.xml");
126+
StreamWriter csw = new StreamWriter(Path.Combine(dir_, "C1.subclass.hbm.xml"));
127127
csw.Write(cJoinedHbmXml);
128128
csw.Close();
129129
}
@@ -151,15 +151,15 @@ public void TopDownJoined()
151151
AssemblyName assemblyName = new AssemblyName();
152152
assemblyName.Name = "MyTestA1.dll";
153153
AssemblyBuilder assemblyBuilder =
154-
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave);
154+
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave, dir_);
155155
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule(assemblyName.Name, assemblyName.Name, true);
156156
assemblyBuilder.AddResourceFile("A.hbm.xml", "A1.hbm.xml");
157157
assemblyBuilder.AddResourceFile("B.hbm.xml", "B1.hbm.xml");
158158
assemblyBuilder.AddResourceFile("C.hbm.xml", "C1.hbm.xml");
159159
assemblyBuilder.Save(assemblyName.Name);
160160

161161
Configuration cfg = new Configuration();
162-
cfg.AddAssembly(Assembly.LoadFile(dir_ + "/" + assemblyName.Name));
162+
cfg.AddAssembly(Assembly.LoadFile(Path.Combine(dir_, assemblyName.Name)));
163163
// if no exception, success
164164
}
165165

@@ -169,15 +169,15 @@ public void BottomUpJoined()
169169
AssemblyName assemblyName = new AssemblyName();
170170
assemblyName.Name = "MyTestB1.dll";
171171
AssemblyBuilder assemblyBuilder =
172-
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave);
172+
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave, dir_);
173173
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule(assemblyName.Name, assemblyName.Name, true);
174174
assemblyBuilder.AddResourceFile("C.hbm.xml", "C1.hbm.xml");
175175
assemblyBuilder.AddResourceFile("B.hbm.xml", "B1.hbm.xml");
176176
assemblyBuilder.AddResourceFile("A.hbm.xml", "A1.hbm.xml");
177177
assemblyBuilder.Save(assemblyName.Name);
178178

179179
Configuration cfg = new Configuration();
180-
cfg.AddAssembly(Assembly.LoadFile(dir_ + "/" + assemblyName.Name));
180+
cfg.AddAssembly(Assembly.LoadFile(Path.Combine(dir_, assemblyName.Name)));
181181
// if no exception, success
182182
}
183183

@@ -187,15 +187,15 @@ public void MixedJoined()
187187
AssemblyName assemblyName = new AssemblyName();
188188
assemblyName.Name = "MyTestC1.dll";
189189
AssemblyBuilder assemblyBuilder =
190-
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave);
190+
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave, dir_);
191191
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule(assemblyName.Name, assemblyName.Name, true);
192192
assemblyBuilder.AddResourceFile("B.hbm.xml", "B1.hbm.xml");
193193
assemblyBuilder.AddResourceFile("A.hbm.xml", "A1.hbm.xml");
194194
assemblyBuilder.AddResourceFile("C.hbm.xml", "C1.hbm.xml");
195195
assemblyBuilder.Save(assemblyName.Name);
196196

197197
Configuration cfg = new Configuration();
198-
cfg.AddAssembly(Assembly.LoadFile(dir_ + "/" + assemblyName.Name));
198+
cfg.AddAssembly(Assembly.LoadFile(Path.Combine(dir_, assemblyName.Name)));
199199
// if no exception, success
200200
}
201201

@@ -205,15 +205,15 @@ public void MixedSubclass()
205205
AssemblyName assemblyName = new AssemblyName();
206206
assemblyName.Name = "MyTestCSubclass1.dll";
207207
AssemblyBuilder assemblyBuilder =
208-
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave);
208+
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave, dir_);
209209
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule(assemblyName.Name, assemblyName.Name, true);
210210
assemblyBuilder.AddResourceFile("B.subclass.hbm.xml", "B1.hbm.xml");
211211
assemblyBuilder.AddResourceFile("A.subclass.hbm.xml", "A1.hbm.xml");
212212
assemblyBuilder.AddResourceFile("C.subclass.hbm.xml", "C1.hbm.xml");
213213
assemblyBuilder.Save(assemblyName.Name);
214214

215215
Configuration cfg = new Configuration();
216-
cfg.AddAssembly(Assembly.LoadFile(dir_ + "/" + assemblyName.Name));
216+
cfg.AddAssembly(Assembly.LoadFile(Path.Combine(dir_, assemblyName.Name)));
217217
// if no exception, success
218218
}
219219
}

src/NHibernate.Test/CfgTest/HbmOrderingFixture.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -135,33 +135,33 @@ public class HbmOrderingFixture
135135
[TestFixtureSetUp]
136136
public void TestFixtureSetUp()
137137
{
138-
dir_ = Directory.GetCurrentDirectory();
138+
dir_ = TestContext.CurrentContext.TestDirectory;
139139

140140
// Create hbm files (ideally, we could just embed them directly into the
141141
// assembly - same as VS does when 'Build Action' = 'Embedded Resource' - but
142142
// I could not find a way to do this, so we use files instead)
143143

144-
StreamWriter aw = new StreamWriter("A.hbm.xml");
144+
StreamWriter aw = new StreamWriter(Path.Combine(dir_, "A.hbm.xml"));
145145
aw.Write(aJoinedHbmXml);
146146
aw.Close();
147147

148-
StreamWriter bw = new StreamWriter("B.hbm.xml");
148+
StreamWriter bw = new StreamWriter(Path.Combine(dir_, "B.hbm.xml"));
149149
bw.Write(bJoinedHbmXml);
150150
bw.Close();
151151

152-
StreamWriter cw = new StreamWriter("C.hbm.xml");
152+
StreamWriter cw = new StreamWriter(Path.Combine(dir_, "C.hbm.xml"));
153153
cw.Write(cJoinedHbmXml);
154154
cw.Close();
155155

156-
StreamWriter asw = new StreamWriter("A.subclass.hbm.xml");
156+
StreamWriter asw = new StreamWriter(Path.Combine(dir_, "A.subclass.hbm.xml"));
157157
asw.Write(aJoinedHbmXml);
158158
asw.Close();
159159

160-
StreamWriter bsw = new StreamWriter("B.subclass.hbm.xml");
160+
StreamWriter bsw = new StreamWriter(Path.Combine(dir_, "B.subclass.hbm.xml"));
161161
bsw.Write(bJoinedHbmXml);
162162
bsw.Close();
163163

164-
StreamWriter csw = new StreamWriter("C.subclass.hbm.xml");
164+
StreamWriter csw = new StreamWriter(Path.Combine(dir_, "C.subclass.hbm.xml"));
165165
csw.Write(cJoinedHbmXml);
166166
csw.Close();
167167
}
@@ -189,15 +189,15 @@ public void TopDownJoined()
189189
AssemblyName assemblyName = new AssemblyName();
190190
assemblyName.Name = "MyTestA.dll";
191191
AssemblyBuilder assemblyBuilder =
192-
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave);
192+
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave, dir_);
193193
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule(assemblyName.Name, assemblyName.Name, true);
194194
assemblyBuilder.AddResourceFile("A.hbm.xml", "A.hbm.xml");
195195
assemblyBuilder.AddResourceFile("B.hbm.xml", "B.hbm.xml");
196196
assemblyBuilder.AddResourceFile("C.hbm.xml", "C.hbm.xml");
197197
assemblyBuilder.Save(assemblyName.Name);
198198

199199
Configuration cfg = new Configuration();
200-
cfg.AddAssembly(Assembly.LoadFile(dir_ + "/" + assemblyName.Name));
200+
cfg.AddAssembly(Assembly.LoadFile(Path.Combine(dir_, assemblyName.Name)));
201201
// if no exception, success
202202
}
203203

@@ -207,15 +207,15 @@ public void BottomUpJoined()
207207
AssemblyName assemblyName = new AssemblyName();
208208
assemblyName.Name = "MyTestB.dll";
209209
AssemblyBuilder assemblyBuilder =
210-
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave);
210+
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave, dir_);
211211
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule(assemblyName.Name, assemblyName.Name, true);
212212
assemblyBuilder.AddResourceFile("C.hbm.xml", "C.hbm.xml");
213213
assemblyBuilder.AddResourceFile("B.hbm.xml", "B.hbm.xml");
214214
assemblyBuilder.AddResourceFile("A.hbm.xml", "A.hbm.xml");
215215
assemblyBuilder.Save(assemblyName.Name);
216216

217217
Configuration cfg = new Configuration();
218-
cfg.AddAssembly(Assembly.LoadFile(dir_ + "/" + assemblyName.Name));
218+
cfg.AddAssembly(Assembly.LoadFile(Path.Combine(dir_, assemblyName.Name)));
219219
// if no exception, success
220220
}
221221

@@ -225,15 +225,15 @@ public void MixedJoined()
225225
AssemblyName assemblyName = new AssemblyName();
226226
assemblyName.Name = "MyTestC.dll";
227227
AssemblyBuilder assemblyBuilder =
228-
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave);
228+
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave, dir_);
229229
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule(assemblyName.Name, assemblyName.Name, true);
230230
assemblyBuilder.AddResourceFile("B.hbm.xml", "B.hbm.xml");
231231
assemblyBuilder.AddResourceFile("A.hbm.xml", "A.hbm.xml");
232232
assemblyBuilder.AddResourceFile("C.hbm.xml", "C.hbm.xml");
233233
assemblyBuilder.Save(assemblyName.Name);
234234

235235
Configuration cfg = new Configuration();
236-
cfg.AddAssembly(Assembly.LoadFile(dir_ + "/" + assemblyName.Name));
236+
cfg.AddAssembly(Assembly.LoadFile(Path.Combine(dir_, assemblyName.Name)));
237237
// if no exception, success
238238
}
239239

@@ -243,15 +243,15 @@ public void MixedSubclass()
243243
AssemblyName assemblyName = new AssemblyName();
244244
assemblyName.Name = "MyTestCSubclass.dll";
245245
AssemblyBuilder assemblyBuilder =
246-
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave);
246+
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave, dir_);
247247
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule(assemblyName.Name, assemblyName.Name, true);
248248
assemblyBuilder.AddResourceFile("B.subclass.hbm.xml", "B.hbm.xml");
249249
assemblyBuilder.AddResourceFile("A.subclass.hbm.xml", "A.hbm.xml");
250250
assemblyBuilder.AddResourceFile("C.subclass.hbm.xml", "C.hbm.xml");
251251
assemblyBuilder.Save(assemblyName.Name);
252252

253253
Configuration cfg = new Configuration();
254-
cfg.AddAssembly(Assembly.LoadFile(dir_ + "/" + assemblyName.Name));
254+
cfg.AddAssembly(Assembly.LoadFile(Path.Combine(dir_, assemblyName.Name)));
255255
// if no exception, success
256256
}
257257
}

src/NHibernate.Test/CfgTest/Loquacious/ConfigurationFixture.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Data;
22
using System.Data.SqlClient;
3+
using System.IO;
34
using NHibernate.AdoNet;
45
using NHibernate.Bytecode;
56
using NHibernate.Cache;
@@ -130,7 +131,7 @@ public void UseConnectionStringName()
130131
public void NH2890Loquacious()
131132
{
132133
var cfg = new Configuration();
133-
cfg.Configure("TestEnbeddedConfig.cfg.xml")
134+
cfg.Configure(Path.Combine(TestContext.CurrentContext.TestDirectory, "TestEnbeddedConfig.cfg.xml"))
134135
.SetDefaultAssembly("NHibernate.DomainModel")
135136
.SetDefaultNamespace("NHibernate.DomainModel")
136137
.SessionFactory()
@@ -147,4 +148,4 @@ public void NH2890Loquacious()
147148
}
148149

149150
}
150-
}
151+
}

src/NHibernate.Test/CfgTest/MappingDocumentAggregatorTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public void CompareDeserializationTimes()
6565

6666
for (int i = 0; i < 5; i++)
6767
{
68-
FileInfo tempFile = new FileInfo(Guid.NewGuid() + ".hbm.binary");
68+
FileInfo tempFile = new FileInfo(Path.Combine(TestContext.CurrentContext.TestDirectory, Guid.NewGuid() + ".hbm.binary"));
6969

7070
// Load the embedded xml mappings (and time it)
7171
Stopwatch stopwatch1 = Stopwatch.StartNew();
@@ -105,4 +105,4 @@ public void CompareDeserializationTimes()
105105
}
106106
}
107107
}
108-
}
108+
}

src/NHibernate.Test/DynamicProxyTests/PeVerifier.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class PeVerifier
1414

1515
public PeVerifier(string assemblyFileName)
1616
{
17-
var assemblyLocation = Path.Combine(Environment.CurrentDirectory, assemblyFileName);
17+
var assemblyLocation = Path.Combine(TestContext.CurrentContext.TestDirectory, assemblyFileName);
1818

1919
if (!File.Exists(assemblyLocation))
2020
throw new ArgumentException(string.Format("Could not locate assembly {0}", assemblyLocation), "assemblyLocation");

src/NHibernate.Test/DynamicProxyTests/PeVerifyFixture.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ public SavingProxyAssemblyBuilder(string assemblyName)
124124
public AssemblyBuilder DefineDynamicAssembly(AppDomain appDomain, AssemblyName name)
125125
{
126126
AssemblyBuilderAccess access = AssemblyBuilderAccess.RunAndSave;
127-
return appDomain.DefineDynamicAssembly(new AssemblyName(assemblyName), access);
127+
return appDomain.DefineDynamicAssembly(new AssemblyName(assemblyName), access, TestContext.CurrentContext.TestDirectory);
128128
}
129129

130130
public ModuleBuilder DefineDynamicModule(AssemblyBuilder assemblyBuilder, string moduleName)
@@ -140,4 +140,4 @@ public void Save(AssemblyBuilder assemblyBuilder)
140140

141141
#endregion
142142
}
143-
}
143+
}

src/NHibernate.Test/Linq/LinqReadonlyTestsContext.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public void DestroyNorthwindDb()
103103
private string GetScripFileName(Configuration configuration,string postFix)
104104
{
105105
var dialect = Dialect.Dialect.GetDialect(configuration.Properties);
106-
return Path.Combine("DbScripts", dialect.GetType().Name + postFix + ".sql");
106+
return Path.Combine(TestContext.CurrentContext.TestDirectory, "DbScripts", dialect.GetType().Name + postFix + ".sql");
107107
}
108108

109109
private Configuration Configure()

0 commit comments

Comments
 (0)