Yes but the comment says for testing purposes. Jv
On Fri, Jul 27, 2012 at 2:23 PM, Hitesh Bhagwat <[email protected]>wrote: > Hi JV, > > Thant is not a Test Method code.That code belongs to > NUnit.Core.AssemblyHelper class.It shows differnce between two versions. > > Regards > Hitesh > > -- > You received this bug notification because you are a member of NUnit > Developers, which is subscribed to NUnit V2. > https://bugs.launchpad.net/bugs/1029785 > > Title: > Test loaded from remote folder failed to run with exception > System.IODirectory Not Found . > > Status in NUnit V2 Test Framework: > New > > Bug description: > When we load test from remote machine folder as > \\MachineName\TestFolderName project loads successfully.But when I > tried to run same tests it throws exception as follow > > System.IODirectory Not Found :Could Not Found Part of the Path > 'D:\NUnitProject\bin\Debug\MachineName\TestFolderName'. > > Above scenario was working fine in NUnit-2.5.10.11092. When I tried to > find out cause of this issue ,I find that there are changes in > NUnit.Core.AssemblyHelper class.Differnces between these two versions > are as follow > > NUnit-2.5.10.11092 > > public static string GetAssemblyPath(Type type) > { > return GetAssemblyPath(type.Assembly); > } > > public static string GetAssemblyPath(Assembly assembly) > { > string path = assembly.CodeBase; > Uri uri = new Uri(path); > > // If it wasn't loaded locally, use the Location > if (!uri.IsFile) > return assembly.Location; > > if (uri.IsUnc) > return path.Substring(Uri.UriSchemeFile.Length + 1); > > return uri.LocalPath; > } > > public static string GetDirectoryName( Assembly assembly ) > { > return System.IO.Path.GetDirectoryName(GetAssemblyPath(assembly)); > } > > > > > > Whereas the code in NUnit version 2.6 is as follow > > > #region GetAssemblyPath > > public static string GetAssemblyPath(Type type) > { > return GetAssemblyPath(type.Assembly); > } > > public static string GetAssemblyPath(Assembly assembly) > { > string uri = assembly.CodeBase; > > if (IsFileUri(uri)) > return GetAssemblyPathFromFileUri(uri); > else > return assembly.Location; > } > > #endregion > > #region > > // Public for testing purposes > public static string GetAssemblyPathFromFileUri(string uri) > { > // Skip over the file:// > int start = Uri.UriSchemeFile.Length + > Uri.SchemeDelimiter.Length; > > if (System.IO.Path.DirectorySeparatorChar == '\\') > { > // Handle Windows Drive specifications > if (uri[start] == '/' && uri[start + 2] == ':') > ++start; > } > else > { > // Assume all Linux paths are absolute > if (uri[start] != '/') > --start; > } > > return uri.Substring(start); > } > > #endregion > > #region GetDirectoryName > public static string GetDirectoryName( Assembly assembly ) > { > return > System.IO.Path.GetDirectoryName(GetAssemblyPath(assembly)); > } > #endregion > > #region Helper Methods > > private static bool IsFileUri(string uri) > { > return uri.ToLower().StartsWith(Uri.UriSchemeFile); > } > > #endregion > > To manage notifications about this bug go to: > https://bugs.launchpad.net/nunitv2/+bug/1029785/+subscriptions > -- Regards, Ravichandran Jv http://ravichandranjv.blogspot.com -- You received this bug notification because you are a member of NUnit Developers, which is subscribed to NUnit V2. https://bugs.launchpad.net/bugs/1029785 Title: Test loaded from remote folder failed to run with exception System.IODirectory Not Found . Status in NUnit V2 Test Framework: New Bug description: When we load test from remote machine folder as \\MachineName\TestFolderName project loads successfully.But when I tried to run same tests it throws exception as follow System.IODirectory Not Found :Could Not Found Part of the Path 'D:\NUnitProject\bin\Debug\MachineName\TestFolderName'. Above scenario was working fine in NUnit-2.5.10.11092. When I tried to find out cause of this issue ,I find that there are changes in NUnit.Core.AssemblyHelper class.Differnces between these two versions are as follow NUnit-2.5.10.11092 public static string GetAssemblyPath(Type type) { return GetAssemblyPath(type.Assembly); } public static string GetAssemblyPath(Assembly assembly) { string path = assembly.CodeBase; Uri uri = new Uri(path); // If it wasn't loaded locally, use the Location if (!uri.IsFile) return assembly.Location; if (uri.IsUnc) return path.Substring(Uri.UriSchemeFile.Length + 1); return uri.LocalPath; } public static string GetDirectoryName( Assembly assembly ) { return System.IO.Path.GetDirectoryName(GetAssemblyPath(assembly)); } Whereas the code in NUnit version 2.6 is as follow #region GetAssemblyPath public static string GetAssemblyPath(Type type) { return GetAssemblyPath(type.Assembly); } public static string GetAssemblyPath(Assembly assembly) { string uri = assembly.CodeBase; if (IsFileUri(uri)) return GetAssemblyPathFromFileUri(uri); else return assembly.Location; } #endregion #region // Public for testing purposes public static string GetAssemblyPathFromFileUri(string uri) { // Skip over the file:// int start = Uri.UriSchemeFile.Length + Uri.SchemeDelimiter.Length; if (System.IO.Path.DirectorySeparatorChar == '\\') { // Handle Windows Drive specifications if (uri[start] == '/' && uri[start + 2] == ':') ++start; } else { // Assume all Linux paths are absolute if (uri[start] != '/') --start; } return uri.Substring(start); } #endregion #region GetDirectoryName public static string GetDirectoryName( Assembly assembly ) { return System.IO.Path.GetDirectoryName(GetAssemblyPath(assembly)); } #endregion #region Helper Methods private static bool IsFileUri(string uri) { return uri.ToLower().StartsWith(Uri.UriSchemeFile); } #endregion To manage notifications about this bug go to: https://bugs.launchpad.net/nunitv2/+bug/1029785/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~nunit-core Post to : [email protected] Unsubscribe : https://launchpad.net/~nunit-core More help : https://help.launchpad.net/ListHelp

