Please do not reply to this email- if you want to comment on the bug, go to the URL shown below and enter your comments there.
Changed by [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=78904 --- shadow/78904 2006-07-20 05:52:52.000000000 -0400 +++ shadow/78904.tmp.26352 2006-07-20 05:52:52.000000000 -0400 @@ -0,0 +1,82 @@ +Bug#: 78904 +Product: Mono: Runtime +Version: 1.1 +OS: +OS Details: Ubuntu 6.06 +Status: NEW +Resolution: +Severity: +Priority: Wishlist +Component: io-layer +AssignedTo: [EMAIL PROTECTED] +ReportedBy: [EMAIL PROTECTED] +QAContact: [EMAIL PROTECTED] +TargetMilestone: --- +URL: +Cc: +Summary: IronPython1.0beta9 raises NotImplementedError: The requested feature is not implemented on os.stat call for non existant file + +Please fill in this template when reporting a bug, unless you know what you +are doing. +Description of Problem: + +When running IronPython 1.0 beta 9 on 1.1.16.1 runtime, making a call to +os.stat on a file that does not exist raises the following exception: +"NotImplementedError: The requested feature is not implemented" + + +Steps to reproduce the problem: +1. mono ipy.exe +2. Enter the following: + import os + os.stat("file-that-doesnot-exist") + + +Actual Results: +Traceback (most recent call last): +NotImplementedError: The requested feature is not implemented. + +Expected Results: +Traceback (most recent call last): +... +OSError: file does not exist + + +How often does this happen? +Always + +Additional Information: +The same python code runs correctly with IPbeta9 and .NET 2 +It looks like the IOException raised in IronPython/Modules/nt.cs is not +being handled correctly by mono runtime. + +snip from nt.cs: + + [PythonName("stat")] + public static object GetFileStats(string path) { + StatResult sr = new StatResult(); + + try { + sr.atime = +(long)Directory.GetLastAccessTime(path).Subtract(DateTime.MinValue).TotalSeconds; + sr.ctime = +(long)Directory.GetCreationTime(path).Subtract(DateTime.MinValue).TotalSeconds; + sr.mtime = +(long)Directory.GetLastWriteTime(path).Subtract(DateTime.MinValue).TotalSeconds; + + if (Directory.Exists(path)) { + sr.mode = 0x4000; + } else if (File.Exists(path)) { + FileInfo fi = new FileInfo(path); + sr.size = fi.Length; + sr.mode = 0x8000; //@TODO - Set other valid mode types +(S_IFCHR, S_IFBLK, S_IFIFO, S_IFLNK, S_IFSOCK) (to the degree that they apply) + } else { + throw new IOException("file does not exist"); + } + } catch (Exception e) { + throw ToPythonException(e); + } + + return sr; + } _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
