The test lib/I18N/LangTags/t/80_all_env.t is failing on VMS for me because other tests are inadvertently setting environment variables that persist beyond their run.

This mainly shows up when you run the tests outside of the test harness, as the test harness isolates the tests in their own process.

In this case, the environment variables are:

C<LC_ALL> and C<LANG>

One issue that seems to be showing up is setting an $ENV{FOO} to an empty string is apparently causing problems on VMS, as the resulting logical name is not showing up as containing an empty string, but showing up containing one or more non-printing characters. Using Perl to read that logical name is apparently getting a garbage string that for me is showing up with about 4 characters in it. While I did not record the string, they seem to be consistently the same.

DCL is showing the logical name resolving to ".", but that "." is simply DCL replacing a non-printing character.


So it looks like we have some TODO issues for VMS:

1. Find out what is happening with $ENV{FOO} = '' and fix it if needed.

2. Try to identify all the "magic" environment variables that the C library dynamically creates on reference.

3. Update the POD on %ENV handling with instructions on how to save and restore %ENV variables on VMS, including the list of magic ones that can not be restored.

3. A search and fix mission on all the tests that modify environment variables to clean up what they are doing.

-John
[EMAIL PROTECTED]
Personal Opinion Only


Reply via email to