Imported Upstream version 4.2.0.179

Former-commit-id: 4610231f55806d2a05ed69e5ff3faa7336cc1479
This commit is contained in:
Xamarin Public Jenkins
2015-08-26 07:17:56 -04:00
committed by Jo Shields
parent aa7da660d6
commit c042cd0c52
7507 changed files with 90259 additions and 657307 deletions

View File

@ -87,12 +87,13 @@ namespace MonoTests.System.IO
[Test]
public void CtorFileNotFoundException_Mode_Open ()
{
const string file_name = "thisfileshouldnotexist.test";
// absolute path
string path = TempFolder + DSC + "thisfileshouldnotexists.test";
string path = TempFolder + DSC + file_name;
DeleteFile (path);
FileStream stream = null;
try {
stream = new FileStream (TempFolder + DSC + "thisfileshouldnotexists.test", FileMode.Open);
stream = new FileStream (TempFolder + DSC + file_name, FileMode.Open);
Assert.Fail ("#A1");
} catch (FileNotFoundException ex) {
Assert.AreEqual (typeof (FileNotFoundException), ex.GetType (), "#A2");
@ -111,14 +112,18 @@ namespace MonoTests.System.IO
// relative path
string orignalCurrentDir = Directory.GetCurrentDirectory ();
Directory.SetCurrentDirectory (TempFolder);
// If TempFolder is a symlink, Mono will follow it and ex.FileName below will contain
// the real directory name, not that of the TempFolder symlink and the test will fail
// (happens e.g. on Android M)
string realTempDir = Directory.GetCurrentDirectory ();
path = realTempDir + DSC + file_name;
try {
stream = new FileStream ("thisfileshouldnotexists.test", FileMode.Open);
stream = new FileStream (file_name, FileMode.Open);
Assert.Fail ("#B1");
} catch (FileNotFoundException ex) {
Assert.AreEqual (typeof (FileNotFoundException), ex.GetType (), "#B2");
// under OSX 'var' is a symlink to 'private/var'
if (MacOSX)
path = "/private" + path;
Assert.AreEqual (path, ex.FileName, "#B3");
Assert.IsNull (ex.InnerException, "#B4");
Assert.IsNotNull (ex.Message, "#B5");
@ -135,8 +140,9 @@ namespace MonoTests.System.IO
[Test]
public void CtorFileNotFoundException_Mode_Truncate ()
{
const string file_name = "thisfileshouldNOTexist.test";
// absolute path
string path = TempFolder + DSC + "thisfileshouldNOTexists.test";
string path = TempFolder + DSC + file_name;
DeleteFile (path);
FileStream stream = null;
try {
@ -159,14 +165,18 @@ namespace MonoTests.System.IO
// relative path
string orignalCurrentDir = Directory.GetCurrentDirectory ();
Directory.SetCurrentDirectory (TempFolder);
// If TempFolder is a symlink, Mono will follow it and ex.FileName below will contain
// the real directory name, not that of the TempFolder symlink and the test will fail
// (happens e.g. on Android M)
string realTempDir = Directory.GetCurrentDirectory ();
path = realTempDir + DSC + file_name;
try {
stream = new FileStream ("thisfileshouldNOTexists.test", FileMode.Truncate);
stream = new FileStream (file_name, FileMode.Truncate);
Assert.Fail ("#B1");
} catch (FileNotFoundException ex) {
Assert.AreEqual (typeof (FileNotFoundException), ex.GetType (), "#B2");
// under OSX 'var' is a symlink to 'private/var'
if (MacOSX)
path = "/private" + path;
Assert.AreEqual (path, ex.FileName, "#B3");
Assert.IsNull (ex.InnerException, "#B4");
Assert.IsNotNull (ex.Message, "#B5");
@ -183,8 +193,9 @@ namespace MonoTests.System.IO
[Test]
public void CtorIOException1 ()
{
const string file_name = "thisfileshouldexists.test";
// absolute path
string path = TempFolder + DSC + "thisfileshouldexists.test";
string path = TempFolder + DSC + file_name;
FileStream stream = null;
DeleteFile (path);
try {
@ -209,11 +220,18 @@ namespace MonoTests.System.IO
// relative path
string orignalCurrentDir = Directory.GetCurrentDirectory ();
Directory.SetCurrentDirectory (TempFolder);
// If TempFolder is a symlink, Mono will follow it and ex.FileName below will contain
// the real directory name, not that of the TempFolder symlink and the test will fail
// (happens e.g. on Android M)
string realTempDir = Directory.GetCurrentDirectory ();
path = realTempDir + DSC + file_name;
try {
stream = new FileStream ("thisfileshouldexists.test", FileMode.CreateNew);
stream = new FileStream (file_name, FileMode.CreateNew);
stream.Close ();
stream = null;
stream = new FileStream ("thisfileshouldexists.test", FileMode.CreateNew);
stream = new FileStream (file_name, FileMode.CreateNew);
Assert.Fail ("#B1");
} catch (IOException ex) {
Assert.AreEqual (typeof (IOException), ex.GetType (), "#B2");
@ -327,8 +345,14 @@ namespace MonoTests.System.IO
{
string orignalCurrentDir = Directory.GetCurrentDirectory ();
Directory.SetCurrentDirectory (TempFolder);
// If TempFolder is a symlink, Mono will follow it and ex.FileName below will contain
// the real directory name, not that of the TempFolder symlink and the test will fail
// (happens e.g. on Android M)
string realTempDir = Directory.GetCurrentDirectory ();
string relativePath = "DirectoryDoesNotExist" + Path.DirectorySeparatorChar + "file.txt";
string fullPath = Path.Combine (TempFolder, relativePath);
string fullPath = Path.Combine (realTempDir, relativePath);
try {
new FileStream (relativePath, FileMode.Open);
Assert.Fail ("#A1");