Path bug list
Torsten Anders
torstenanders at gmx.de
Thu Mar 15 17:02:22 CET 2007
Dear Boriss,
Thank you for updating the task list and for assigning this task to me.
I will commit the patch as soon as I made the necessary changes to the
ozdoc Path documentation, turned my test cases into a format compatible
with other Mozart test cases, checking in a bug report, checking the
old bug tracker etc. Unfortunately, I am very busy right now, so I have
to postpone this for a few weeks, but I will not forget it.
BTW: can anybody provide a brief example how Mozart test cases are
supposed to look. Perhaps somebody even has some idea for a
(temporary?) setup which tests functors in the standard library?
Thank you!
Best,
Torsten
On 15.03.2007, at 16:12, Boriss Mejias wrote:
> Hi Torsten,
>
> Considering that after running your test I agree with the patch you
> submitted, and that Denys hasn't come back with a disagreement, and
> considering that nobody else has rejected the proposal, I had assigned
> you the ToDo task 15: "Decide about patch for Path.oz", so please
> commit your fix to the repository.
>
> It will be a good idea that you document a bug report in gforge as
> well. If there is any related bug report from the old system, please
> also mention its id number in your committing message.
>
> cheers
> Boriss
>
> Boriss Mejias wrote:
>> Torsten Anders wrote:
>>> Hi,
>>>
>>> I tried to add a link from the TODO list entry concerning Path (see
>>> link below) to to the posting I sent on 28.02.2007. It appears I
>>> don't have the rights to do that. Could perhaps somebody else add
>>> such a link, so this bug list is not lost when someone else finally
>>> looks at this issue.
>> Ok, it's done. It appears as a follow up.
>>>
>>> http://gforge.info.ucl.ac.be/pm/task.php?
>>> func=detailtask&project_task_id=15&group_id=17&group_project_id=26
>>>
>>> BTW: Should there perhaps be some general policy what to do in case
>>> someone submitted a patch and nobody raised any specific concerns
>>> for about a month (as in this case).
>> I agree. Currently there is a time out of two weeks for the voting
>> process of MEPs, which involve bigger changes than bug fixes. In
>> fact, it was agreed that bug fixes don't need any MEP because it's a
>> smaller and faster contribution.
>> I had a look at the tests you submitted (running on Mac) and
>> everything behave as you reported, so I'm in favour of committing
>> this patch as soon as possible to the trunk.
>> cheers
>> Boriss
>>>
>>> Thank you!
>>>
>>> Best,
>>> Torsten
>>>
>>> On 28.02.2007, at 08:39, Torsten Anders wrote:
>>>> Dear Hackers,
>>>>
>>>> On 26.02.2007, at 14:08, Boriss Mejias wrote:
>>>>> +Decide about patch for Path.oz
>>>>> - I haven't assigned anybody here. Denys, do you want to take care
>>>>> of this? In that case, please feel free to change the ending date
>>>>> and the estimated time.
>>>>
>>>> It seems nobody had time so far to look into my patch for the Path
>>>> std-lib, which I posted here on Mon Feb 12. In order to demonstrate
>>>> the urgency that something is done about Path, following is a
>>>> (rather long!) list of bugs in Path (see below). All these bugs are
>>>> fixed in my patch. In addition, I refactored the Path functor,
>>>> added definitions for consistency, and also added comments plus
>>>> test cases in order to simplify the job for the next guy doing
>>>> fixes.
>>>>
>>>> Thank you!
>>>>
>>>> Best,
>>>> Torsten
>>>>
>>>> --
>>>> Torsten Anders
>>>> Sonic Arts Research Centre • Queen's University Belfast
>>>> Frankstr. 49 • D-50996 Köln
>>>> Tel: +49-221-3980750
>>>> http://strasheela.sourceforge.net
>>>> http://www.torsten-anders.de
>>>>
>>>> ------------------------------------------------
>>>>
>>>>
>>>> %% orig Path
>>>> declare [Path]={Module.link ['x-oz://system/os/Path.ozf']}
>>>>
>>>>
>>>> %% [1: init] On MacOS, this call results in an error: every path
>>>> object must end with a slash, even a plain file like
>>>> '/home/test/tmp.txt/'
>>>> %% NB: This problem pops up with every definition in the functional
>>>> Path API, because all rely on Path.make.
>>>> {Path.make '/home/test/tmp.txt'}
>>>>
>>>> %******************** Error: conditional failed *****************
>>>> %**
>>>> %** Missing else clause
>>>> %**
>>>>
>>>> /*
>>>> %% some kludge to avoid the problem, but this is not the expected
>>>> way to do things
>>>> {New Path.'class' init('/home/test/tmp.txt' exact:true)}
>>>> */
>>>>
>>>>
>>>> %% All the following tests were run on Linux:
>>>>
>>>> %% [2: init]
>>>> {{Path.make '/'} toString($)}
>>>> %% -> nil
>>>> {{Path.make '/'} toAtom($)}
>>>> %% -> ''
>>>>
>>>> %% [3]
>>>> {{Path.make '/'} isAbsolute($)}
>>>> %% -> false
>>>>
>>>> %% NB: several other Path methods fail on "/" as well.
>>>>
>>>> %% [4: basename] .. neither correct path, nor does it cut of the
>>>> dirname
>>>> {{{Path.make '/home/test.txt'} basename($)} toString($)}
>>>> %% -> "/homehome/test.txt"
>>>>
>>>> %% [5: dirname] ... neither correct path, nor does it cut of the
>>>> basename
>>>> {{{Path.make '/home/test/tmp.txt'} dirname($)} toString($)}
>>>> %% -> "/homehome/testhomehomte/test/tmp.txt"
>>>>
>>>> %% [6: basenameString] .. outputs string in list
>>>> {{Path.make '/home/test/tmp.txt'} basenameString($)}
>>>> %% ["tmp.txt"]
>>>>
>>>>
>>>> %% [7: resolve] .. garbles the first path and ignores the second
>>>> instead of appending it
>>>> {{{Path.make '/home/test/'} resolve('testDir/myFile.txt' $)}
>>>> toString($)}
>>>> %% "/homehome/test/"
>>>>
>>>>
>>>> %% [8: isRoot] .. isRoot can not distinguish between empty path and
>>>> root
>>>> {{Path.make nil} isRoot($)}
>>>> %% -> true
>>>>
>>>> %% [9: extension] .. extension never returns the extension, always
>>>> unit for a non-existing extension. BTW:
>>>> {{Path.make '/home/test/tmp.txt'} extension($)}
>>>> %% -> unit
>>>>
>>>> %% [10: dropExtension] .. dropExtension drops more than the
>>>> extension
>>>> {{{Path.make '/home/test/tmp.txt'} dropExtension($)} toString($)}
>>>> %% -> "/homehome/test"
>>>>
>>>> %% [11: addExtension] .. addExtension drops stuff instead
>>>> {{{Path.make '/home/test/tmp'} addExtension('txt' $)} toString($)}
>>>> %% -> "/homehome/test"
>>>>
>>>>
>>>> %% [12: readdir] .. garbles pathes
>>>> {Map {{Path.getcwd} readdir($)} fun {$ P} {P toString($)} end}
>>>>
>>>> ____________________________________________________________________
>>>> _____________
>>>> mozart-hackers mailing list
>>>> mozart-hackers at mozart-oz.org
>>>> http://www.mozart-oz.org/mailman/listinfo/mozart-hackers
>>>>
>>>>
>>> --
>>> Torsten Anders
>>> Sonic Arts Research Centre • Queen's University Belfast
>>> Frankstr. 49 • D-50996 Köln
>>> Tel: +49-221-3980750
>>> http://strasheela.sourceforge.net
>>> http://www.torsten-anders.de
>>>
>>> _____________________________________________________________________
>>> ____________
>>> mozart-hackers mailing list
>>> mozart-hackers at mozart-oz.org
>>> http://www.mozart-oz.org/mailman/listinfo/mozart-hackers
>> ______________________________________________________________________
>> ___________ mozart-hackers mailing list
>> mozart-hackers at mozart-oz.org
>> http://www.mozart-oz.org/mailman/listinfo/mozart-hackers
> _______________________________________________________________________
> __________
> mozart-hackers mailing list
> mozart-hackers at mozart-oz.org
> http://www.mozart-oz.org/mailman/listinfo/mozart-hackers
>
>
--
Torsten Anders
Sonic Arts Research Centre • Queen's University Belfast
Frankstr. 49 • D-50996 Köln
Tel: +49-221-3980750
http://strasheela.sourceforge.net
http://www.torsten-anders.de
More information about the mozart-hackers
mailing list