| Author |
Message |
Michael G Schwern *nix forums beginner
Joined: 08 Jul 2005
Posts: 27
|
Posted: Fri Jul 08, 2005 10:09 pm Post subject:
Anyone run vms/ext/filespec.t in a while?
|
|
|
I'm examining the feasibility of making VMS::Filespec available to all
installations (makes testing File::Spec::VMS a whole lot easier) and
ran vms/ext/filespec.t on my OS X box. I got some failures but none
of them seem to be related to my running on Unix. They all appear to be
genuine bugs in the code.
So... has anyone run ext/vms/filespec.t on VMS in a while?
--
Michael G Schwern schwern@pobox.com http://www.pobox.com/~schwern
'All anyone gets in a mirror is themselves,' she said. 'But what you
gets in a good gumbo is everything.'
-- "Witches Abroad" by Terry Prachett |
|
| Back to top |
|
 |
PPrymmer@factset.com *nix forums beginner
Joined: 08 Jul 2005
Posts: 21
|
Posted: Fri Jul 08, 2005 10:31 pm Post subject:
Re: Anyone run vms/ext/filespec.t in a while?
|
|
|
Michael G Schwern <schwern@pobox.com> wrote on 07/08/2005 08:09:40 PM:
| Quote: | I'm examining the feasibility of making VMS::Filespec available to all
installations (makes testing File::Spec::VMS a whole lot easier) and
ran vms/ext/filespec.t on my OS X box. I got some failures but none
of them seem to be related to my running on Unix. They all appear to be
genuine bugs in the code.
So... has anyone run ext/vms/filespec.t on VMS in a while?
|
I just ran it on IA64 with a perl 5.8.7 kit and it went ok:
$ set def [.t]
$ perl lib/vmsfspec.t
1..142
ok 1 - eval unixify('__some_:[__where_.__over_]__the_.__rainbow_')
ok 2 - unixify('__some_:[__where_.__over_]__the_.__rainbow_'):
'/__some_/__where_/__over_/__the_.__rainbow_'
ok 3 - eval unixify('[.__some_.__where_.__over_]__the_.__rainbow_')
<snip>
ok 135 - eval File::Spec->canonpath('__dev:[__dir.][000000]__foo')
ok 136 - File::Spec->canonpath('__dev:[__dir.][000000]__foo'):
'__dev:[__dir]__foo'
ok 137 - rmsexpand()
ok 138
ok 139
ok 140
ok 141 - using redirected mkdir()
ok 142 - rmdir()
No problems. Did you want a report for somthing closer to bleedperl
than 5.8.7?
One thing to note is that much of the VMS implementation of VMS::Filespec
is embedded in the perl binary itself - in the code for vms.c - in order
to make miniperl on VMS more capable of building the extensions (basically
so that ExtUtils::MakeMaker will run).
HTH.
Peter Prymmer |
|
| Back to top |
|
 |
Michael G Schwern *nix forums beginner
Joined: 08 Jul 2005
Posts: 27
|
Posted: Fri Jul 08, 2005 11:09 pm Post subject:
Re: Anyone run vms/ext/filespec.t in a while?
|
|
|
On Fri, Jul 08, 2005 at 08:31:59PM -0400, PPrymmer@factset.com wrote:
| Quote: | I just ran it on IA64 with a perl 5.8.7 kit and it went ok:
|
Hmm. Here's the easiest of my failures to analyze:
not ok 52 - vmsify('.../'): '[....]'
# Failed at ../vms/ext/filespec.t line 24
# got '[....]'
# expected '[...]'
Stepping through the unixify() code shows that it is most definately
a bug in the VMS::Filespec Perl code.
| Quote: | One thing to note is that much of the VMS implementation of VMS::Filespec
is embedded in the perl binary itself - in the code for vms.c - in order
to make miniperl on VMS more capable of building the extensions (basically
so that ExtUtils::MakeMaker will run).
|
Ah ha! So basically the Perl code isn't normally being used and thus has
fallen way out of sync with the vms.c code?
It would be really nice if the Perl code was brought back into order so
File::Spec::VMS can be tested without VMS.
--
Michael G Schwern schwern@pobox.com http://www.pobox.com/~schwern
Don't try the paranormal until you know what's normal.
-- "Lords and Ladies" by Terry Prachett |
|
| Back to top |
|
 |
Craig A. Berry *nix forums Guru Wannabe
Joined: 27 May 2005
Posts: 143
|
Posted: Fri Jul 08, 2005 11:31 pm Post subject:
Re: Anyone run vms/ext/filespec.t in a while?
|
|
|
At 6:09 PM -0700 7/8/05, Michael G Schwern wrote:
| Quote: |
Ah ha! So basically the Perl code isn't normally being used and thus has
fallen way out of sync with the vms.c code?
|
From
$ perldoc VMS::Filespec:
If you're running under VMS, the routines in this package are special,
in that they're automatically made available to any Perl script, whether
you're running miniperl or the full perl. The "use VMS::Filespec" or
"require VMS::Filespec; import VMS::Filespec ..." statement can be used
to import the function names into the current package, but they're
always available if you use the fully qualified name, whether or not
you've mentioned the .pm file in your script. If you're running under
another OS and have installed this package, it behaves like a normal
Perl extension (in fact, you're using Perl substitutes to emulate the
necessary VMS system calls).
--
________________________________________
Craig A. Berry
mailto:craigberry@mac.com
"... getting out of a sonnet is much more
difficult than getting in."
Brad Leithauser |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Sat Jul 09, 2005 3:42 am Post subject:
Re: Anyone run vms/ext/filespec.t in a while?
|
|
|
Michael G Schwern wrote:
| Quote: | I'm examining the feasibility of making VMS::Filespec available to all
installations (makes testing File::Spec::VMS a whole lot easier) and
ran vms/ext/filespec.t on my OS X box. I got some failures but none
of them seem to be related to my running on Unix. They all appear to be
genuine bugs in the code.
So... has anyone run ext/vms/filespec.t on VMS in a while?
|
Quite a bit, except for this past week while I am on vacation.
It is producing incorrect answers when ODS-5 file specifications are in
use. Other wise known as Extended File Specifications or EFS.
Under ODS-5 file specifications, the UNIX path of "./.../foo" should be
translated to "[.^.^.^.]foo." in VMS.
Other translations that the script assumes should fail will not when
translated to legal ODS-5 specifications.
I think it was the one test script that I could not find an easy way to
make work when the OpenVMS CRTL was working in a UNIX report or the
comming Posix compliant pathname mode.
Is anyone on this list using the test RMS Symbolic links SDK?
I am going to have a lot of gnu diff files to post soon. Should I send
them to this list an order that they can be applied harmlessly or put
them all in a .ZIP archive somewhere?
I had to do a lot of work in the Makemaker routines to get them to pass
the tests when the OpenVMS CRTL is by default returning names in UNIX
syntax instead of VMS.
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Sat Jul 09, 2005 3:53 am Post subject:
Re: Anyone run vms/ext/filespec.t in a while?
|
|
|
Michael G Schwern wrote:
| Quote: | On Fri, Jul 08, 2005 at 08:31:59PM -0400, PPrymmer@factset.com wrote:
I just ran it on IA64 with a perl 5.8.7 kit and it went ok:
Hmm. Here's the easiest of my failures to analyze:
not ok 52 - vmsify('.../'): '[....]'
# Failed at ../vms/ext/filespec.t line 24
# got '[....]'
# expected '[...]'
|
It also should be expected to return "[.^.^.^] if the logical names
%ENV{$DECC$FILENAME_UNIX_REPORT} and %ENV{DECC$EFS_CHARSET} are defined
to "1" or their first letter is "E" or "e"
[.^.^.^.] is a legal directory on an ODS-5 volume.
-John
wb8tyw@qsl.net
Personal Opinion Only |
|
| Back to top |
|
 |
Michael G Schwern *nix forums beginner
Joined: 08 Jul 2005
Posts: 27
|
Posted: Mon Jul 11, 2005 4:45 am Post subject:
Re: Anyone run vms/ext/filespec.t in a while?
|
|
|
On Sat, Jul 09, 2005 at 01:42:34AM -0400, John E. Malmberg wrote:
| Quote: | I had to do a lot of work in the Makemaker routines to get them to pass
the tests when the OpenVMS CRTL is by default returning names in UNIX
syntax instead of VMS.
|
Can I see that work?
--
Michael G Schwern schwern@pobox.com http://www.pobox.com/~schwern
Don't try the paranormal until you know what's normal.
-- "Lords and Ladies" by Terry Prachett |
|
| Back to top |
|
 |
Michael G Schwern *nix forums beginner
Joined: 08 Jul 2005
Posts: 27
|
Posted: Mon Jul 11, 2005 4:46 am Post subject:
Re: Anyone run vms/ext/filespec.t in a while?
|
|
|
On Sat, Jul 09, 2005 at 01:53:36AM -0400, John E. Malmberg wrote:
| Quote: | Hmm. Here's the easiest of my failures to analyze:
not ok 52 - vmsify('.../'): '[....]'
# Failed at ../vms/ext/filespec.t line 24
# got '[....]'
# expected '[...]'
It also should be expected to return "[.^.^.^] if the logical names
%ENV{$DECC$FILENAME_UNIX_REPORT} and %ENV{DECC$EFS_CHARSET} are defined
to "1" or their first letter is "E" or "e"
[.^.^.^.] is a legal directory on an ODS-5 volume.
|
Missing the point. The point is I'm running different code on Unix than
you are on VMS.
vms/ext/Filespec.pm is out of date and broken.
--
Michael G Schwern schwern@pobox.com http://www.pobox.com/~schwern
Don't try the paranormal until you know what's normal.
-- "Lords and Ladies" by Terry Prachett |
|
| Back to top |
|
 |
John E. Malmberg *nix forums Guru Wannabe
Joined: 30 May 2005
Posts: 264
|
Posted: Mon Jul 11, 2005 9:31 am Post subject:
Re: Anyone run vms/ext/filespec.t in a while?
|
|
|
Michael G Schwern wrote:
| Quote: | On Sat, Jul 09, 2005 at 01:53:36AM -0400, John E. Malmberg wrote:
Hmm. Here's the easiest of my failures to analyze:
not ok 52 - vmsify('.../'): '[....]'
# Failed at ../vms/ext/filespec.t line 24
# got '[....]'
# expected '[...]'
It also should be expected to return "[.^.^.^] if the logical names
%ENV{$DECC$FILENAME_UNIX_REPORT} and %ENV{DECC$EFS_CHARSET} are defined
to "1" or their first letter is "E" or "e"
[.^.^.^.] is a legal directory on an ODS-5 volume.
Missing the point. The point is I'm running different code on Unix than
you are on VMS.
|
I did not miss the point.
I am currently running different code on VMS than anyone else :-)
The QTV (internal OpenVMS Quality-Test-Verification) group has not
blessed it yet on IA64 for an unreleased version of OpenVMS that is also
in test.
I think I can start submitting some off the patches needed that will
likely be stable while getting the final issues resolved. Some of the
issues involve fixing a future CRTL.
| Quote: | vms/ext/Filespec.pm is out of date and broken.
|
And my point that you missed is:
So is Perl on OpenVMS when dealing with OpenVMS ODS-5 file
specifications. Filespec.pm is just more broken than the rest.
I am just giving a heads up in case that someone is working on fixing
Filespec.pm that even bringing it up to what is currently in the VMS C
source is still not going to make it correct.
What is probably needed is some way for VMS to be able to run
Filespec.pm with out the overrides from the extension present in the tests.
-John
wb8tyw@qsl.network
Personal Opinion Only |
|
| Back to top |
|
 |
Craig A. Berry *nix forums Guru Wannabe
Joined: 27 May 2005
Posts: 143
|
Posted: Mon Jul 11, 2005 10:34 am Post subject:
Re: Anyone run vms/ext/filespec.t in a while?
|
|
|
At 1:42 AM -0400 7/9/05, John E. Malmberg wrote:
| Quote: | Is anyone on this list using the test RMS Symbolic links SDK?
|
That's 8.2 only, right? I don't have any 8.2 systems, so unless it's
on the testdrive I don't have anything available to experiment with.
| Quote: | I am going to have a lot of gnu diff files to post soon. Should I send them to this list an order that they can be applied harmlessly or put them all in a .ZIP archive somewhere?
|
Yes, do send here. I think we'll want to kick them around a bit and
test with slightly older versions of VMS, and we'll also need to see
if any changes are necessary to get them to apply to bleadperl.
Unfortunately bleadperl is changing so rapidly these days it's hard
to keep it buildable on VMS for more than a few minutes at a time.
--
________________________________________
Craig A. Berry
mailto:craigberry@mac.com
"... getting out of a sonnet is much more
difficult than getting in."
Brad Leithauser |
|
| Back to top |
|
 |
PPrymmer@factset.com *nix forums beginner
Joined: 08 Jul 2005
Posts: 21
|
Posted: Mon Jul 11, 2005 4:17 pm Post subject:
Re: Anyone run vms/ext/filespec.t in a while?
|
|
|
Michael G Schwern <schwern@pobox.com> wrote on 07/11/2005 02:46:14 AM:
| Quote: | vms/ext/Filespec.pm is out of date and broken.
|
Indeed. It appears that filespec.t is not run on Solaris for example
(IIRC that test used to be run on Unix automatically).
Here are the shell commands I just had to run to conduct
the test on SunOS 5.8:
sh Configure -des
make
make test
mkdir lib/VMS
cp vms/ext/Filespec.pm lib/VMS
cd t
../perl -I../lib ../vms/ext/filespec.t
In the resultant output only tests 1 through 136 actually ran (missing
tests
137 through 142). There were so many failures that it might be better
so list only those that passed:
ok 68 - fileify('__down_:[__the_.__garden_]__path_.'): ''
ok 70 - fileify('__down_:[__the_]__garden_.__path_'): ''
ok 72 - fileify('/__down_/__the_/__garden_/__path_.'): ''
ok 74 - fileify('/__down_/__the_/__garden_.__path_'): ''
ok 86 - pathify('__down_:[__the_.__garden_]__path_.'): ''
ok 88 - pathify('__down_:[__the_]__garden_.__path_'): ''
ok 90 - pathify('/__down_/__the_/__garden_/__path_.'): ''
ok 92 - pathify('/__down_/__the_/__garden_.__path_'): ''
ok 94 - pathify('__down_:[__the_.__garden_]__path_.dir;2'): ''
ok 104 - pathify('__path_.notdir'): ''
ok 133 - eval File::Spec->canonpath('__dev:[__dir.000000]__foo')
ok 134 - File::Spec->canonpath('__dev:[__dir.000000]__foo'):
'__dev:[__dir.000000]__foo'
ok 135 - eval File::Spec->canonpath('__dev:[__dir.][000000]__foo')
Peter Prymmer |
|
| Back to top |
|
 |
Michael G Schwern *nix forums beginner
Joined: 08 Jul 2005
Posts: 27
|
Posted: Mon Jul 11, 2005 4:49 pm Post subject:
Re: Anyone run vms/ext/filespec.t in a while?
|
|
|
On Mon, Jul 11, 2005 at 07:31:55AM -0400, John E. Malmberg wrote:
| Quote: | I did not miss the point.
I am currently running different code on VMS than anyone else
|
Ahh, apologies.
--
Michael G Schwern schwern@pobox.com http://www.pobox.com/~schwern
'All anyone gets in a mirror is themselves,' she said. 'But what you
gets in a good gumbo is everything.'
-- "Witches Abroad" by Terry Prachett |
|
| Back to top |
|
 |
Michael G Schwern *nix forums beginner
Joined: 08 Jul 2005
Posts: 27
|
Posted: Mon Jul 11, 2005 4:58 pm Post subject:
Re: Anyone run vms/ext/filespec.t in a while?
|
|
|
On Mon, Jul 11, 2005 at 02:17:04PM -0400, PPrymmer@factset.com wrote:
| Quote: | In the resultant output only tests 1 through 136 actually ran (missing
tests
137 through 142). There were so many failures that it might be better
so list only those that passed:
|
VMS::Filespec uses AutoLoader. Either you have to run it through the
autosplit process or remove the __END__ block (recommended). Then things do
a whole lot better.
--
Michael G Schwern schwern@pobox.com http://www.pobox.com/~schwern
Ahh email, my old friend. Do you know that revenge is a dish that is best
served cold? And it is very cold on the Internet! |
|
| Back to top |
|
 |
PPrymmer@factset.com *nix forums beginner
Joined: 08 Jul 2005
Posts: 21
|
Posted: Mon Jul 11, 2005 5:04 pm Post subject:
Re: Anyone run vms/ext/filespec.t in a while?
|
|
|
Michael G Schwern <schwern@pobox.com> wrote on 07/11/2005 02:58:55 PM:
| Quote: | On Mon, Jul 11, 2005 at 02:17:04PM -0400, PPrymmer@factset.com wrote:
In the resultant output only tests 1 through 136 actually ran (missing
tests
137 through 142). There were so many failures that it might be better
so list only those that passed:
VMS::Filespec uses AutoLoader. Either you have to run it through the
autosplit process or remove the __END__ block (recommended). Then things
do
a whole lot better.
|
I just realized that myself. I was considering adding a Makefile.PL
to help the other platforms.
Peter Prymmer |
|
| Back to top |
|
 |
Michael G Schwern *nix forums beginner
Joined: 08 Jul 2005
Posts: 27
|
Posted: Mon Jul 11, 2005 5:41 pm Post subject:
Re: Anyone run vms/ext/filespec.t in a while?
|
|
|
On Mon, Jul 11, 2005 at 03:04:37PM -0400, PPrymmer@factset.com wrote:
| Quote: | I just realized that myself. I was considering adding a Makefile.PL
to help the other platforms.
|
Or just remove the AutoLoader. Its purpose is to prevent loading all that
unnecessary code on VMS. So...
package VMS::Filespec;
if( $^O ne 'VMS' ) {
require VMS::Filespec::PurePerl;
VMS::Filespec::NonVMS->import;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = @VMS::Filespec::NonVMS::EXPORT;
@EXPORT_OK = @VMS::Filespec::NonVMS::EXPORT_OK;
}
and stick all the code in VMS::Filespec::PurePerl. No build necessary.
Or if having two files makes you queasy, stick all the code after the __END__
block and...
eval <DATA> if $^O ne 'VMS';
though that sort of thing makes debugging a royal pain.
--
Michael G Schwern schwern@pobox.com http://www.pobox.com/~schwern
ROCKS FALL! EVERYONE DIES!
http://www.somethingpositive.net/sp05032002.shtml |
|
| Back to top |
|
 |
Google
|
|
| Back to top |
|
 |
|