Re: VMS and Unix pathnames
"John E. Malmberg" <[email protected]>
| Newsgroups | gmane.comp.lang.perl.ports.vms |
|---|---|
| Message-ID | <[email protected]> |
Nicholas Clark wrote: > On Mon, Aug 24, 2009 at 08:40:44AM -0500, John E. Malmberg wrote: >> Nicholas Clark wrote: >>> Currently the core uses File::Spec inside the test running script, t/TEST, >>> that VMS uses. If I understand perlvms.pod correctly, perl on VMS can >>> understand Unix-like pathnames directly. >>> >>> I'd like to remove File::Spec from t/TEST, as it's something complex run >>> too >>> early in testing. Would the appended change work on VMS? It assumes that >> As the current t/TEST is used now, I think it is passed the starting >> file specification in VMS format. So on VMS you still need a >> VMS::Filespec::unixify to convert the input path parameter(s) to the test. > > If I understand vms/test.com enough: > > $ If PERL_TEST_DRIVER .eqs. "minitest" > $ Then > $ MCR Sys$Disk:[]Perl'exe' TEST. "-minitest" "base/*.t" "comp/*.t" "cmd/*.t" "run/*.t" "io/*.t" "op/*.t" "uni/*.t" > $ Else > $ MCR Sys$Disk:[]Perl'exe' "-I[-.lib]" 'PERL_TEST_DRIVER' "''p3'" "''p4'" "''p5'" "''p6'" "''p7'" > $ EndIf > > and vms/descrip_mms.template > > test : all [.t.lib]vmsfspec.t [.t.lib]vms_dclsym.t [.t.lib]vms_stdio.t unpack_files > @ PERL_TEST_DRIVER == "TEST." > - @[.vms]test.com "$(E)" "$(__DEBUG__)" > @ $(MINIPERL) -e "print ""Ran tests"";" > [.t]rantests. > > then under minitest, it's being passed Unix-style globs, and under test, > nothing. So it is "already" expecting Unix-style names. vms/test.com is also run manually and when that is done, it is generally passed a VMS style path name, which it would have a difficult time to translate to a Unix path name to pass to t/TEST. -John [email protected] Personal Opinion Only