Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NetBSD 7.1 Smoke Test Failures #16078

Closed
p5pRT opened this issue Jul 11, 2017 · 37 comments
Closed

NetBSD 7.1 Smoke Test Failures #16078

p5pRT opened this issue Jul 11, 2017 · 37 comments

Comments

@p5pRT
Copy link

p5pRT commented Jul 11, 2017

Migrated from rt.perl.org#131735 (status was 'resolved')

Searchable as RT131735$

@p5pRT
Copy link
Author

p5pRT commented Jul 11, 2017

From carlos@carlosguevara.com

Attached file netbsd.failures.txt contains the results of the following on
NetBSD 7.1​:
sh ./Configure -des -Dusedevel -Duseithreads -Duse64bitint
make test_prep
cd t; ./perl harness -v ../cpan/Sys-Syslog/t/syslog.t ../lib/locale.t 2>&1
| tee ../netbsd.failures.txt; cd -

Attached file perl-Ilib-V.txt contains the results of './perl -Ilib -V' in
the same directory.

Please let me know if I can be of any further assistance.

@p5pRT
Copy link
Author

p5pRT commented Jul 11, 2017

From carlos@carlosguevara.com

../cpan/Sys-Syslog/t/syslog.t ..
1..225
ok 1 - use Sys​::Syslog;
ok 2 - Sys​::Syslog->can(...)
ok 3 - calling setlogsock() with no argument
ok 4 - calling setlogsock() with undef
ok 5 - calling setlogsock() with a scalar reference
ok 6 - calling setlogsock() with an empty hash reference
ok 7 - calling syslog() with no argument
ok 8 - calling syslog() with one undef argument
ok 9 - calling syslog() with one empty argument
ok 10 - setlogsock() called with 'unix'
not ok 11 - setlogsock() should return true​: '0' # TODO minor bug

# Failed (TODO) test 'setlogsock() should return true​: '0''
# at t/syslog.t line 101.
ok 12 - openlog() called with facility 'local0'
ok 13 - openlog() should return true​: 'Sys​::Syslog​::SYSLOG'
ok 14 - syslog() called with level 'info'
ok 15 - syslog() should return true​: '1'
ok 16 - closelog()
ok 17 - closelog() should return true​: '1'
ok 18 - [native] setlogsock() called with ['native']
ok 19 - [native] setlogsock() should return true​: '1'
ok 20 - [native] setlogsock() called with 'native'
ok 21 - [native] setlogsock() should return true​: '1'
ok 22 - [native] openlog() called with facility 'local0' and without option 'ndelay'
ok 23 - [native] openlog() should return true​: '1'
ok 24 - [native] openlog() called with facility 'local0' with option 'ndelay'
ok 25 - [native] openlog() should return true​: 'Sys​::Syslog​::SYSLOG'
ok 26 - [native] syslog() called with level -1
ok 27 - [native] syslog() should return false​: '0'
ok 28 - [native] syslog() called with level plonk
ok 29 - [native] syslog() should return false​: '0'
ok 30 - [native] syslog() called with level 'info,notice'
ok 31 - [native] syslog() should return false​: '0'
ok 32 - [native] syslog() called with level 'local0,local1'
ok 33 - [native] syslog() should return false​: '0'
ok 34 - [native] syslog() called with level 'info' (string)
ok 35 - [native] syslog() should return true​: '1'
ok 36 - [native] syslog() called with level 'info' (macro)
ok 37 - [native] syslog() should return true​: '1'
ok 38 - [native] closelog()
ok 39 - [native] closelog() should return true​: '1'
ok 40 # skip can't use 'eventlog' socket
ok 41 # skip can't use 'eventlog' socket
ok 42 # skip can't use 'eventlog' socket
ok 43 # skip can't use 'eventlog' socket
ok 44 # skip can't use 'eventlog' socket
ok 45 # skip can't use 'eventlog' socket
ok 46 # skip can't use 'eventlog' socket
ok 47 # skip can't use 'eventlog' socket
ok 48 # skip can't use 'eventlog' socket
ok 49 # skip can't use 'eventlog' socket
ok 50 # skip can't use 'eventlog' socket
ok 51 # skip can't use 'eventlog' socket
ok 52 # skip can't use 'eventlog' socket
ok 53 # skip can't use 'eventlog' socket
ok 54 # skip can't use 'eventlog' socket
ok 55 # skip can't use 'eventlog' socket
ok 56 # skip can't use 'eventlog' socket
ok 57 # skip can't use 'eventlog' socket
ok 58 # skip can't use 'eventlog' socket
ok 59 # skip can't use 'eventlog' socket
ok 60 # skip can't use 'eventlog' socket
ok 61 # skip can't use 'eventlog' socket
ok 62 - [unix] setlogsock() called with ['unix']
ok 63 - [unix] setlogsock() should return true​: '1'
ok 64 - [unix] setlogsock() called with 'unix'
ok 65 - [unix] setlogsock() should return true​: '1'
ok 66 - [unix] openlog() called with facility 'local0' and without option 'ndelay'
ok 67 - [unix] openlog() should return true​: '1'
ok 68 - [unix] openlog() called with facility 'local0' with option 'ndelay'
ok 69 - [unix] openlog() should return true​: 'Sys​::Syslog​::SYSLOG'
ok 70 - [unix] syslog() called with level -1
ok 71 - [unix] syslog() should return false​: '0'
ok 72 - [unix] syslog() called with level plonk
ok 73 - [unix] syslog() should return false​: '0'
ok 74 - [unix] syslog() called with level 'info,notice'
ok 75 - [unix] syslog() should return false​: '0'
ok 76 - [unix] syslog() called with level 'local0,local1'
ok 77 - [unix] syslog() should return false​: '0'
ok 78 - [unix] syslog() called with level 'info' (string)
ok 79 - [unix] syslog() should return true​: '1'
ok 80 - [unix] syslog() called with level 'info' (macro)
ok 81 - [unix] syslog() should return true​: '1'
ok 82 - [unix] closelog()
ok 83 - [unix] closelog() should return true​: '1'
ok 84 # skip can't use 'pipe' socket
ok 85 # skip can't use 'pipe' socket
ok 86 # skip can't use 'pipe' socket
ok 87 # skip can't use 'pipe' socket
ok 88 # skip can't use 'pipe' socket
ok 89 # skip can't use 'pipe' socket
ok 90 # skip can't use 'pipe' socket
ok 91 # skip can't use 'pipe' socket
ok 92 # skip can't use 'pipe' socket
ok 93 # skip can't use 'pipe' socket
ok 94 # skip can't use 'pipe' socket
ok 95 # skip can't use 'pipe' socket
ok 96 # skip can't use 'pipe' socket
ok 97 # skip can't use 'pipe' socket
ok 98 # skip can't use 'pipe' socket
ok 99 # skip can't use 'pipe' socket
ok 100 # skip can't use 'pipe' socket
ok 101 # skip can't use 'pipe' socket
ok 102 # skip can't use 'pipe' socket
ok 103 # skip can't use 'pipe' socket
ok 104 # skip can't use 'pipe' socket
ok 105 # skip can't use 'pipe' socket
ok 106 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 107 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 108 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 109 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 110 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 111 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 112 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 113 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 114 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 115 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 116 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 117 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 118 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 119 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 120 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 121 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 122 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 123 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 124 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 125 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 126 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 127 # skip the 'stream' mechanism because a previous mechanism with similar interface succeeded
ok 128 - [inet] setlogsock() called with ['inet']
ok 129 - [inet] setlogsock() should return true​: '1'
ok 130 - [inet] setlogsock() called with 'inet'
ok 131 - [inet] setlogsock() should return true​: '1'
ok 132 - [inet] openlog() called with facility 'local0' and without option 'ndelay'
ok 133 - [inet] openlog() should return true​: '1'
ok 134 # skip can't connect to syslog
ok 135 # skip can't connect to syslog
ok 136 # skip can't connect to syslog
ok 137 # skip can't connect to syslog
ok 138 # skip can't connect to syslog
ok 139 # skip can't connect to syslog
ok 140 # skip can't connect to syslog
ok 141 # skip can't connect to syslog
ok 142 # skip can't connect to syslog
ok 143 # skip can't connect to syslog
ok 144 # skip can't connect to syslog
ok 145 # skip can't connect to syslog
ok 146 # skip can't connect to syslog
ok 147 # skip can't connect to syslog
ok 148 # skip can't connect to syslog
ok 149 # skip can't connect to syslog
ok 150 # skip can't use 'tcp' socket
ok 151 # skip can't use 'tcp' socket
ok 152 # skip can't use 'tcp' socket
ok 153 # skip can't use 'tcp' socket
ok 154 # skip can't use 'tcp' socket
ok 155 # skip can't use 'tcp' socket
ok 156 # skip can't use 'tcp' socket
ok 157 # skip can't use 'tcp' socket
ok 158 # skip can't use 'tcp' socket
ok 159 # skip can't use 'tcp' socket
ok 160 # skip can't use 'tcp' socket
ok 161 # skip can't use 'tcp' socket
ok 162 # skip can't use 'tcp' socket
ok 163 # skip can't use 'tcp' socket
ok 164 # skip can't use 'tcp' socket
ok 165 # skip can't use 'tcp' socket
ok 166 # skip can't use 'tcp' socket
ok 167 # skip can't use 'tcp' socket
ok 168 # skip can't use 'tcp' socket
ok 169 # skip can't use 'tcp' socket
ok 170 # skip can't use 'tcp' socket
ok 171 # skip can't use 'tcp' socket
ok 172 - [udp] setlogsock() called with ['udp']
ok 173 - [udp] setlogsock() should return true​: '1'
ok 174 - [udp] setlogsock() called with 'udp'
ok 175 - [udp] setlogsock() should return true​: '1'
ok 176 # skip can't connect to syslog
ok 177 # skip can't connect to syslog
ok 178 # skip can't connect to syslog
ok 179 # skip can't connect to syslog
ok 180 # skip can't connect to syslog
ok 181 # skip can't connect to syslog
ok 182 # skip can't connect to syslog
ok 183 # skip can't connect to syslog
ok 184 # skip can't connect to syslog
ok 185 # skip can't connect to syslog
ok 186 # skip can't connect to syslog
ok 187 # skip can't connect to syslog
ok 188 # skip can't connect to syslog
ok 189 # skip can't connect to syslog
ok 190 # skip can't connect to syslog
ok 191 # skip can't connect to syslog
ok 192 # skip can't connect to syslog
ok 193 # skip can't connect to syslog
ok 194 # skip the 'unix' mechanism works, so the tests will likely fail with the 'stream' mechanism
ok 195 # skip the 'unix' mechanism works, so the tests will likely fail with the 'stream' mechanism
ok 196 # skip the 'unix' mechanism works, so the tests will likely fail with the 'stream' mechanism
ok 197 # skip the 'unix' mechanism works, so the tests will likely fail with the 'stream' mechanism
ok 198 # skip the 'unix' mechanism works, so the tests will likely fail with the 'stream' mechanism
ok 199 # skip the 'unix' mechanism works, so the tests will likely fail with the 'stream' mechanism
ok 200 # skip the 'unix' mechanism works, so the tests will likely fail with the 'stream' mechanism
ok 201 # skip the 'unix' mechanism works, so the tests will likely fail with the 'stream' mechanism
ok 202 # skip the 'unix' mechanism works, so the tests will likely fail with the 'stream' mechanism
ok 203 # skip the 'unix' mechanism works, so the tests will likely fail with the 'stream' mechanism
ok 204 - setlogmask() called with a null mask
ok 205 - setlogmask() called with a null mask (second time)
ok 206 - setlogmask() must return the same mask as previous call
ok 207 - setlogmask() called with a new mask
ok 208 - setlogmask() must return the same mask as previous call
ok 209 - setlogmask() called with a null mask
ok 210 - setlogmask() must return the new mask
ok 211 - setlogmask() called with a new mask
ok 212 - setlogmask() must return the same mask as previous call
ok 213 - setlogmask() called with a null mask
ok 214 - setlogmask() must return the new mask
ok 215 - setlogmask() called with a new mask
ok 216 - setlogmask() must return the same mask as previous call
ok 217 - setlogmask() called with a null mask
ok 218 - setlogmask() must return the new mask
ok 219 - setlogsock() didn't croak
ok 220 - setlogsock() correctly failed with a non-existent stream path
ok 221 - setlogsock() didn't croak
ok 222 - setlogsock() correctly failed when tcp services can't be resolved
ok 223 - setlogsock('stream', 't/stream') -> 1
ok 224 - openlog() correctly failed with a non-existent stream
ok 225 - openlog() correctly croaked with a non-existent stream
ok
../lib/locale.t ................
ok 1 Verify locales_enabled('ALL') returns 0 or 1
ok 2 and locales_enabled('LC_ALL') returns the same value
ok 3 Verify locales_enabled('COLLATE') returns 0 or 1
ok 4 and locales_enabled('LC_COLLATE') returns the same value
ok 5 Verify locales_enabled('CTYPE') returns 0 or 1
ok 6 and locales_enabled('LC_CTYPE') returns the same value
ok 7 Verify locales_enabled('MESSAGES') returns 0 or 1
ok 8 and locales_enabled('LC_MESSAGES') returns the same value
ok 9 Verify locales_enabled('MONETARY') returns 0 or 1
ok 10 and locales_enabled('LC_MONETARY') returns the same value
ok 11 Verify locales_enabled('NUMERIC') returns 0 or 1
ok 12 and locales_enabled('LC_NUMERIC') returns the same value
ok 13 Verify locales_enabled('TIME') returns 0 or 1
ok 14 and locales_enabled('LC_TIME') returns the same value
ok 15 verify that isn't tainted​: not tainted outside 'use locale'
ok 16 verify that isn't tainted​: $a
ok 17 verify that is tainted​: uc($a)
ok 18 verify that is tainted​: "\U$a"
ok 19 verify that is tainted​: ucfirst($a)
ok 20 verify that is tainted​: "\u$a"
ok 21 verify that is tainted​: lc($a)
ok 22 verify that is tainted​: fc($a)
ok 23 verify that is tainted​: "\L$a"
ok 24 verify that is tainted​: "\F$a"
ok 25 verify that is tainted​: lcfirst($a)
ok 26 verify that is tainted​: "\l$a"
ok 27 verify that isn't tainted​: sprintf('%e', 123.456)
ok 28 verify that isn't tainted​: sprintf('%f', 123.456)
ok 29 verify that isn't tainted​: sprintf('%g', 123.456)
ok 30 verify that isn't tainted​: sprintf('%d', 123.456)
ok 31 verify that isn't tainted​: sprintf('%x', 123.456)
ok 32 verify that is tainted​: $_ = uc($a)
ok 33 verify that is tainted​: $& from /(\w)/
ok 34 verify that is tainted​: $`
ok 35 verify that is tainted​: $'
ok 36 verify that is tainted​: $+
ok 37 verify that is tainted​: $1
ok 38 verify that isn't tainted​: $2
ok 39 verify that isn't tainted​: $& from /(.)/
ok 40 verify that isn't tainted​: $`
ok 41 verify that isn't tainted​: $'
ok 42 verify that isn't tainted​: $+
ok 43 verify that isn't tainted​: $1
ok 44 verify that isn't tainted​: $2
ok 45 verify that is tainted​: $& from /(\W)/
ok 46 verify that is tainted​: $`
ok 47 verify that is tainted​: $'
ok 48 verify that is tainted​: $+
ok 49 verify that is tainted​: $1
ok 50 verify that isn't tainted​: $2
ok 51 verify that isn't tainted​: $& from /(.)/
ok 52 verify that isn't tainted​: $`
ok 53 verify that isn't tainted​: $'
ok 54 verify that isn't tainted​: $+
ok 55 verify that isn't tainted​: $1
ok 56 verify that isn't tainted​: $2
ok 57 verify that is tainted​: $& from /(\s)/
ok 58 verify that is tainted​: $`
ok 59 verify that is tainted​: $'
ok 60 verify that is tainted​: $+
ok 61 verify that is tainted​: $1
ok 62 verify that isn't tainted​: $2
ok 63 verify that isn't tainted​: $& from /(.)/
ok 64 verify that is tainted​: $& from /(\S)/
ok 65 verify that is tainted​: $`
ok 66 verify that is tainted​: $'
ok 67 verify that is tainted​: $+
ok 68 verify that is tainted​: $1
ok 69 verify that isn't tainted​: $2
ok 70 verify that isn't tainted​: $& from /(.)/
ok 71 verify that is tainted​: $& from /(\d)/
ok 72 verify that is tainted​: $`
ok 73 verify that is tainted​: $'
ok 74 verify that is tainted​: $+
ok 75 verify that is tainted​: $1
ok 76 verify that isn't tainted​: $2
ok 77 verify that isn't tainted​: $& from /(.)/
ok 78 verify that is tainted​: $& from /(\D)/
ok 79 verify that is tainted​: $`
ok 80 verify that is tainted​: $'
ok 81 verify that is tainted​: $+
ok 82 verify that is tainted​: $1
ok 83 verify that isn't tainted​: $2
ok 84 verify that isn't tainted​: $& from /(.)/
ok 85 verify that is tainted​: $& from /([[​:alnum​:]])/
ok 86 verify that is tainted​: $`
ok 87 verify that is tainted​: $'
ok 88 verify that is tainted​: $+
ok 89 verify that is tainted​: $1
ok 90 verify that isn't tainted​: $2
ok 91 verify that isn't tainted​: $& from /(.)/
ok 92 verify that is tainted​: $& from /([[​:^alnum​:]])/
ok 93 verify that is tainted​: $`
ok 94 verify that is tainted​: $'
ok 95 verify that is tainted​: $+
ok 96 verify that is tainted​: $1
ok 97 verify that isn't tainted​: $2
ok 98 verify that is tainted​: $& from /(a)|(\w)/
ok 99 verify that is tainted​: $`
ok 100 verify that is tainted​: $'
ok 101 verify that is tainted​: $+
ok 102 verify that is tainted​: $1
ok 103 $1 is 'a'
ok 104 $2 is undefined
ok 105 verify that isn't tainted​: $2
ok 106 verify that isn't tainted​: $3
ok 107 verify that isn't tainted​: $& from /(.)/
ok 108 verify that isn't tainted​: $& from /(\N{CYRILLIC CAPITAL LETTER A})/i
ok 109 verify that isn't tainted​: $`
ok 110 verify that isn't tainted​: $'
ok 111 verify that isn't tainted​: $+
ok 112 verify that isn't tainted​: $1
ok 113 $1 is 'small cyrillic a'
ok 114 verify that isn't tainted​: $2
ok 115 verify that isn't tainted​: $& from /./
ok 116 verify that is tainted​: $& from /(\N{KELVIN SIGN})/i
ok 117 verify that is tainted​: $`
ok 118 verify that is tainted​: $'
ok 119 verify that is tainted​: $+
ok 120 verify that is tainted​: $1
ok 121 verify that isn't tainted​: $2
ok 122 verify that isn't tainted​: $& from /(.)/
ok 123 verify that is tainted​: $& from /(.)\b(.)/
ok 124 verify that is tainted​: $`
ok 125 verify that is tainted​: $'
ok 126 verify that is tainted​: $+
ok 127 verify that is tainted​: $1
ok 128 verify that is tainted​: $2
ok 129 verify that isn't tainted​: $3
ok 130 verify that isn't tainted​: $& from /./
ok 131 verify that is tainted​: $& from /(.)\B(.)/
ok 132 verify that is tainted​: $`
ok 133 verify that is tainted​: $'
ok 134 verify that is tainted​: $+
ok 135 verify that is tainted​: $1
ok 136 verify that is tainted​: $2
ok 137 verify that isn't tainted​: $3
ok 138 verify that isn't tainted​: $& from /./
ok 139 verify that isn't tainted​: $ & from /(.).(\1)/
ok 140 verify that isn't tainted​: $`
ok 141 verify that isn't tainted​: $'
ok 142 verify that isn't tainted​: $+
ok 143 verify that isn't tainted​: $1
ok 144 verify that isn't tainted​: $2
ok 145 verify that isn't tainted​: $3
ok 146 verify that isn't tainted​: $ & from /./
ok 147 verify that isn't tainted​: untainting $_ works
ok 148 verify that isn't tainted​: $ & from /(b)/
ok 149 verify that isn't tainted​: $`
ok 150 verify that isn't tainted​: $'
ok 151 verify that isn't tainted​: $+
ok 152 verify that isn't tainted​: $1
ok 153 verify that isn't tainted​: $2
ok 154 verify that isn't tainted​: untainting $_ works
ok 155 verify that is tainted​: $_ (wasn't tainted) from s/(.+)/$b/ where $b is tainted
ok 156 verify that isn't tainted​: $&
ok 157 verify that isn't tainted​: $`
ok 158 verify that isn't tainted​: $'
ok 159 verify that isn't tainted​: $+
ok 160 verify that isn't tainted​: $1
ok 161 verify that isn't tainted​: $2
ok 162 verify that isn't tainted​: $_ (wasn't tainted) from s/(.+)/b/
ok 163 verify that isn't tainted​: $&
ok 164 verify that isn't tainted​: $`
ok 165 verify that isn't tainted​: $'
ok 166 verify that isn't tainted​: $+
ok 167 verify that isn't tainted​: $1
ok 168 verify that isn't tainted​: $2
ok 169 verify that is tainted​: $b from ($b = $a) =~ s/\w/$&/
ok 170 verify that isn't tainted​: $a from ($b = $a) =~ s/\w/$&/
ok 171 verify that is tainted​: $_ (wasn't tainted) from s/(\w)/\l$1/,
ok 172 verify that is tainted​: $&
ok 173 verify that is tainted​: $`
ok 174 verify that is tainted​: $'
ok 175 verify that is tainted​: $+
ok 176 verify that is tainted​: $1
ok 177 verify that isn't tainted​: $2
ok 178 verify that is tainted​: $_ (wasn't tainted) from s/(\w)/\L$1/,
ok 179 verify that is tainted​: $&
ok 180 verify that is tainted​: $`
ok 181 verify that is tainted​: $'
ok 182 verify that is tainted​: $+
ok 183 verify that is tainted​: $1
ok 184 verify that isn't tainted​: $2
ok 185 verify that is tainted​: $_ (wasn't tainted) from s/(\w)/\u$1/
ok 186 verify that is tainted​: $&
ok 187 verify that is tainted​: $`
ok 188 verify that is tainted​: $'
ok 189 verify that is tainted​: $+
ok 190 verify that is tainted​: $1
ok 191 verify that isn't tainted​: $2
ok 192 verify that is tainted​: $_ (wasn't tainted) from s/(\w)/\U$1/
ok 193 verify that is tainted​: $&
ok 194 verify that is tainted​: $`
ok 195 verify that is tainted​: $'
ok 196 verify that is tainted​: $+
ok 197 verify that is tainted​: $1
ok 198 verify that isn't tainted​: $2
ok 199 verify that isn't tainted​: $a still not tainted
ok 200 verify that isn't tainted​: "a" =~ /([a-z])/
ok 201 verify that isn't tainted​: "foo.bar_baz" =~ /^(.*)[._](.*?)$/
ok 202 verify that isn't tainted​: $a
ok 203 verify that isn't tainted​: uc($a)
ok 204 verify that isn't tainted​: "\U$a"
ok 205 verify that isn't tainted​: ucfirst($a)
ok 206 verify that isn't tainted​: "\u$a"
ok 207 verify that isn't tainted​: lc($a)
ok 208 verify that isn't tainted​: fc($a)
ok 209 verify that isn't tainted​: "\L$a"
ok 210 verify that isn't tainted​: "\F$a"
ok 211 verify that isn't tainted​: lcfirst($a)
ok 212 verify that isn't tainted​: "\l$a"
ok 213 verify that isn't tainted​: sprintf('%e', 123.456)
ok 214 verify that isn't tainted​: sprintf('%f', 123.456)
ok 215 verify that isn't tainted​: sprintf('%g', 123.456)
ok 216 verify that isn't tainted​: sprintf('%d', 123.456)
ok 217 verify that isn't tainted​: sprintf('%x', 123.456)
ok 218 verify that isn't tainted​: $_ = uc($a)
ok 219 verify that isn't tainted​: $& from /(\w)/
ok 220 verify that isn't tainted​: $`
ok 221 verify that isn't tainted​: $'
ok 222 verify that isn't tainted​: $+
ok 223 verify that isn't tainted​: $1
ok 224 verify that isn't tainted​: $2
ok 225 verify that isn't tainted​: $& from /(.)/
ok 226 verify that isn't tainted​: $`
ok 227 verify that isn't tainted​: $'
ok 228 verify that isn't tainted​: $+
ok 229 verify that isn't tainted​: $1
ok 230 verify that isn't tainted​: $2
ok 231 verify that isn't tainted​: $& from /(\W)/
ok 232 verify that isn't tainted​: $`
ok 233 verify that isn't tainted​: $'
ok 234 verify that isn't tainted​: $+
ok 235 verify that isn't tainted​: $1
ok 236 verify that isn't tainted​: $2
ok 237 verify that isn't tainted​: $& from /(.)/
ok 238 verify that isn't tainted​: $`
ok 239 verify that isn't tainted​: $'
ok 240 verify that isn't tainted​: $+
ok 241 verify that isn't tainted​: $1
ok 242 verify that isn't tainted​: $2
ok 243 verify that isn't tainted​: $& from /(\s)/
ok 244 verify that isn't tainted​: $`
ok 245 verify that isn't tainted​: $'
ok 246 verify that isn't tainted​: $+
ok 247 verify that isn't tainted​: $1
ok 248 verify that isn't tainted​: $2
ok 249 verify that isn't tainted​: $& from /(.)/
ok 250 verify that isn't tainted​: $& from /(\S)/
ok 251 verify that isn't tainted​: $`
ok 252 verify that isn't tainted​: $'
ok 253 verify that isn't tainted​: $+
ok 254 verify that isn't tainted​: $1
ok 255 verify that isn't tainted​: $2
ok 256 verify that isn't tainted​: $& from /(.)/
ok 257 verify that isn't tainted​: $& from /(\d)/
ok 258 verify that isn't tainted​: $`
ok 259 verify that isn't tainted​: $'
ok 260 verify that isn't tainted​: $+
ok 261 verify that isn't tainted​: $1
ok 262 verify that isn't tainted​: $2
ok 263 verify that isn't tainted​: $& from /(.)/
ok 264 verify that isn't tainted​: $& from /(\D)/
ok 265 verify that isn't tainted​: $`
ok 266 verify that isn't tainted​: $'
ok 267 verify that isn't tainted​: $+
ok 268 verify that isn't tainted​: $1
ok 269 verify that isn't tainted​: $2
ok 270 verify that isn't tainted​: $& from /(.)/
ok 271 verify that isn't tainted​: $& from /([[​:alnum​:]])/
ok 272 verify that isn't tainted​: $`
ok 273 verify that isn't tainted​: $'
ok 274 verify that isn't tainted​: $+
ok 275 verify that isn't tainted​: $1
ok 276 verify that isn't tainted​: $2
ok 277 verify that isn't tainted​: $& from /(.)/
ok 278 verify that isn't tainted​: $& from /([[​:^alnum​:]])/
ok 279 verify that isn't tainted​: $`
ok 280 verify that isn't tainted​: $'
ok 281 verify that isn't tainted​: $+
ok 282 verify that isn't tainted​: $1
ok 283 verify that isn't tainted​: $2
ok 284 verify that isn't tainted​: $& from /(a)|(\w)/
ok 285 verify that isn't tainted​: $`
ok 286 verify that isn't tainted​: $'
ok 287 verify that isn't tainted​: $+
ok 288 verify that isn't tainted​: $1
ok 289 $1 is 'a'
ok 290 $2 is undefined
ok 291 verify that isn't tainted​: $2
ok 292 verify that isn't tainted​: $3
ok 293 verify that isn't tainted​: $& from /(.)/
ok 294 verify that isn't tainted​: $& from /(\N{CYRILLIC CAPITAL LETTER A})/i
ok 295 verify that isn't tainted​: $`
ok 296 verify that isn't tainted​: $'
ok 297 verify that isn't tainted​: $+
ok 298 verify that isn't tainted​: $1
ok 299 $1 is 'small cyrillic a'
ok 300 verify that isn't tainted​: $2
ok 301 verify that isn't tainted​: $& from /./
ok 302 verify that isn't tainted​: $& from /(\N{KELVIN SIGN})/i
ok 303 verify that isn't tainted​: $`
ok 304 verify that isn't tainted​: $'
ok 305 verify that isn't tainted​: $+
ok 306 verify that isn't tainted​: $1
ok 307 verify that isn't tainted​: $2
ok 308 verify that isn't tainted​: $& from /(.)/
ok 309 verify that isn't tainted​: $& from /(.)\b(.)/
ok 310 verify that isn't tainted​: $`
ok 311 verify that isn't tainted​: $'
ok 312 verify that isn't tainted​: $+
ok 313 verify that isn't tainted​: $1
ok 314 verify that isn't tainted​: $2
ok 315 verify that isn't tainted​: $3
ok 316 verify that isn't tainted​: $& from /./
ok 317 verify that isn't tainted​: $& from /(.)\B(.)/
ok 318 verify that isn't tainted​: $`
ok 319 verify that isn't tainted​: $'
ok 320 verify that isn't tainted​: $+
ok 321 verify that isn't tainted​: $1
ok 322 verify that isn't tainted​: $2
ok 323 verify that isn't tainted​: $3
ok 324 verify that isn't tainted​: $& from /./
ok 325 verify that isn't tainted​: $ & from /(.).(\1)/
ok 326 verify that isn't tainted​: $`
ok 327 verify that isn't tainted​: $'
ok 328 verify that isn't tainted​: $+
ok 329 verify that isn't tainted​: $1
ok 330 verify that isn't tainted​: $2
ok 331 verify that isn't tainted​: $3
ok 332 verify that isn't tainted​: $ & from /./
ok 333 verify that isn't tainted​: untainting $_ works
ok 334 verify that isn't tainted​: $ & from /(b)/
ok 335 verify that isn't tainted​: $`
ok 336 verify that isn't tainted​: $'
ok 337 verify that isn't tainted​: $+
ok 338 verify that isn't tainted​: $1
ok 339 verify that isn't tainted​: $2
ok 340 verify that isn't tainted​: untainting $_ works
ok 341 verify that isn't tainted​: $_ (wasn't tainted) from s/(.+)/b/
ok 342 verify that isn't tainted​: $&
ok 343 verify that isn't tainted​: $`
ok 344 verify that isn't tainted​: $'
ok 345 verify that isn't tainted​: $+
ok 346 verify that isn't tainted​: $1
ok 347 verify that isn't tainted​: $2
ok 348 verify that isn't tainted​: $b from ($b = $a) =~ s/\w/$&/
ok 349 verify that isn't tainted​: $a from ($b = $a) =~ s/\w/$&/
ok 350 verify that isn't tainted​: $_ (wasn't tainted) from s/(\w)/\l$1/,
ok 351 verify that isn't tainted​: $&
ok 352 verify that isn't tainted​: $`
ok 353 verify that isn't tainted​: $'
ok 354 verify that isn't tainted​: $+
ok 355 verify that isn't tainted​: $1
ok 356 verify that isn't tainted​: $2
ok 357 verify that isn't tainted​: $_ (wasn't tainted) from s/(\w)/\L$1/,
ok 358 verify that isn't tainted​: $&
ok 359 verify that isn't tainted​: $`
ok 360 verify that isn't tainted​: $'
ok 361 verify that isn't tainted​: $+
ok 362 verify that isn't tainted​: $1
ok 363 verify that isn't tainted​: $2
ok 364 verify that isn't tainted​: $_ (wasn't tainted) from s/(\w)/\u$1/
ok 365 verify that isn't tainted​: $&
ok 366 verify that isn't tainted​: $`
ok 367 verify that isn't tainted​: $'
ok 368 verify that isn't tainted​: $+
ok 369 verify that isn't tainted​: $1
ok 370 verify that isn't tainted​: $2
ok 371 verify that isn't tainted​: $_ (wasn't tainted) from s/(\w)/\U$1/
ok 372 verify that isn't tainted​: $&
ok 373 verify that isn't tainted​: $`
ok 374 verify that isn't tainted​: $'
ok 375 verify that isn't tainted​: $+
ok 376 verify that isn't tainted​: $1
ok 377 verify that isn't tainted​: $2
ok 378 verify that isn't tainted​: $a still not tainted
ok 379 verify that isn't tainted​: "a" =~ /([a-z])/
ok 380 verify that isn't tainted​: "foo.bar_baz" =~ /^(.*)[._](.*?)$/
ok 381 skipped​: testing of locale 'ja_JP.ISO-2022-JP' is skipped​:
# Locale 'ja_JP.ISO-2022-JP' may not work well. Some characters in it are not recognized by Perl.
ok 382 skipped​: testing of locale 'ja_JP.ISO-2022-JP-2' is skipped​:
# Locale 'ja_JP.ISO-2022-JP-2' may not work well. Some characters in it are not recognized by Perl.
ok 383 skipped​: testing of locale 'ja_JP.ISO2022-JP' is skipped​:
# Locale 'ja_JP.ISO2022-JP' may not work well. Some characters in it are not recognized by Perl.
ok 384 skipped​: testing of locale 'ja_JP.ISO2022-JP2' is skipped​:
# Locale 'ja_JP.ISO2022-JP2' may not work well. Some characters in it are not recognized by Perl.
ok 385 skipped​: testing of locale 'ja_JP.SJIS' is skipped​:
# Locale 'ja_JP.SJIS' may not work well. Some characters in it are not recognized by Perl.
ok 386 skipped​: testing of locale 'ja_JP.ct' is skipped​:
# Locale 'ja_JP.ct' may not work well. Some characters in it are not recognized by Perl.
ok 387 skipped​: testing of locale 'ja_JP.eucJP' is skipped​:
# Locale 'ja_JP.eucJP' may not work well. Some characters in it are not recognized by Perl.
ok 388 skipped​: testing of locale 'ko_KR.eucKR' is skipped​:
# Locale 'ko_KR.eucKR' may not work well. Some characters in it are not recognized by Perl.
ok 389 skipped​: testing of locale 'zh_CN.GB18030' is skipped​:
# Locale 'zh_CN.GB18030' may not work well. Some characters in it are not recognized by Perl.
ok 390 skipped​: testing of locale 'zh_CN.GB2312' is skipped​:
# Locale 'zh_CN.GB2312' may not work well. Some characters in it are not recognized by Perl.
ok 391 skipped​: testing of locale 'zh_CN.eucCN' is skipped​:
# Locale 'zh_CN.eucCN' may not work well. Some characters in it are not recognized by Perl.
ok 392 skipped​: testing of locale 'zh_HK.Big5-HKSCS' is skipped​:
# Locale 'zh_HK.Big5-HKSCS' may not work well. Some characters in it are not recognized by Perl.
ok 393 skipped​: testing of locale 'zh_HK.Big5HKSCS' is skipped​:
# Locale 'zh_HK.Big5HKSCS' may not work well. Some characters in it are not recognized by Perl.
ok 394 skipped​: testing of locale 'zh_HK.Big5hkscs' is skipped​:
# Locale 'zh_HK.Big5hkscs' may not work well. Some characters in it are not recognized by Perl.
ok 395 skipped​: testing of locale 'zh_TW.BIG5' is skipped​:
# Locale 'zh_TW.BIG5' may not work well. Some characters in it are not recognized by Perl.
ok 396 skipped​: testing of locale 'zh_TW.Big5' is skipped​:
# Locale 'zh_TW.Big5' may not work well. Some characters in it are not recognized by Perl.
ok 397 skipped​: testing of locale 'zh_TW.eucTW' is skipped​:
# Locale 'zh_TW.eucTW' may not work well. Some characters in it are not recognized by Perl.
# 99.3% of locales not known to be problematic on this platform
# pass the following test, so it is likely that the failures
# are errors in the locale definitions. The test is marked TODO, as the
# problem is not likely to be Perl's
#
# For more details, rerun, with environment variable PERL_DEBUG_FULL_TEST=1.
# Then look at that output for lines that match 'failed 398'
not ok 398 Verify that /[[​:upper​:]]/ matches all alpha X for which uc(X) == X and lc(X) != X # TODO
# 99.3% of locales not known to be problematic on this platform
# pass the following test, so it is likely that the failures
# are errors in the locale definitions. The test is marked TODO, as the
# problem is not likely to be Perl's
#
# For more details, rerun, with environment variable PERL_DEBUG_FULL_TEST=1.
# Then look at that output for lines that match 'failed 399'
not ok 399 Verify that /[[​:lower​:]]/i matches all alpha X for which uc(X) == X and lc(X) != X # TODO
ok 400 Verify that /[[​:lower​:]]/ matches all alpha X for which lc(X) == X and uc(X) != X
ok 401 Verify that /[[​:upper​:]]/i matches all alpha X for which lc(X) == X and uc(X) != X
ok 402 Verify that \w and [​:word​:] are identical
ok 403 Verify that \d and [​:digit​:] are identical
ok 404 Verify that \s and [​:space​:] are identical
ok 405 Verify that [​:posix​:] and [​:^posix​:] are mutually exclusive
ok 406 Verify that [​:lower​:] contains at least a-z
# 99.3% of locales not known to be problematic on this platform
# pass the following test, so it is likely that the failures
# are errors in the locale definitions. The test is marked TODO, as the
# problem is not likely to be Perl's
#
# For more details, rerun, with environment variable PERL_DEBUG_FULL_TEST=1.
# Then look at that output for lines that match 'failed 407'
not ok 407 Verify that [​:lower​:] is a subset of [​:alpha​:] # TODO
ok 408 Verify that [​:upper​:] contains at least A-Z
ok 409 Verify that [​:upper​:] is a subset of [​:alpha​:]
# 99.3% of locales not known to be problematic on this platform
# pass the following test, so it is likely that the failures
# are errors in the locale definitions. The test is marked TODO, as the
# problem is not likely to be Perl's
#
# For more details, rerun, with environment variable PERL_DEBUG_FULL_TEST=1.
# Then look at that output for lines that match 'failed 410'
not ok 410 Verify that /[[​:lower​:]]/i is a subset of [​:alpha​:] # TODO
ok 411 Verify that [​:alpha​:] is a subset of [​:alnum​:]
ok 412 Verify that [​:digit​:] contains at least 0-9
ok 413 Verify that [​:digit​:] is a subset of [​:alnum​:]
ok 414 Verify that [​:digit​:] matches either 10 or 20 code points
ok 415 Verify that if there is a second set of digits in [​:digit​:], they are consecutive
ok 416 Verify that [​:xdigit​:] contains one or two blocks of 10 consecutive [​:digit​:] chars
ok 417 Verify that [​:xdigit​:] contains at least A-F, a-f
ok 418 Verify that any additional members of [​:xdigit​:], are in groups of 6 consecutive code points
ok 419 Verify that [​:xdigit​:] is a subset of [​:graph​:]
ok 420 Verify that [​:punct​:] is a subset of [​:graph​:]
ok 421 Verify that the space character is not in [​:graph​:]
ok 422 Verify that [​:space​:] contains at least [\f\n\r\t\cK ]
ok 423 Verify that [​:blank​:] contains at least [\t ]
ok 424 Verify that [​:blank​:] is a subset of [​:space​:]
ok 425 Verify that [​:graph​:] is a subset of [​:print​:]
# 99.3% of locales not known to be problematic on this platform
# pass the following test, so it is likely that the failures
# are errors in the locale definitions. The test is marked TODO, as the
# problem is not likely to be Perl's
#
# For more details, rerun, with environment variable PERL_DEBUG_FULL_TEST=1.
# Then look at that output for lines that match 'failed 426'
not ok 426 Verify that the space character is in [​:print​:] # TODO
ok 427 Verify that isn't both [​:cntrl​:] and [​:print​:]
ok 428 Verify that isn't both [​:alpha​:] and [​:digit​:]
ok 429 Verify that isn't both [​:alnum​:] and [​:punct​:]
ok 430 Verify that isn't both [​:xdigit​:] and [​:punct​:]
#
# For more details, rerun, with environment variable PERL_DEBUG_FULL_TEST=1.
# Then look at that output for lines that match 'failed 431'
not ok 431 Verify that isn't both [​:graph​:] and [​:space​:]
ok 432 Verify that cmp works with a read-only scalar; no- vs locale
ok 433 Verify that "le", "ne", etc work
ok 434 Skip in locales where there are no controls; otherwise verify that \0 sorts before any (other) control
ok 435 Skip in locales where all controls have primary sorting weight; otherwise verify that \0 doesn't have primary sorting weight
ok 436 Verify that strings with embedded NUL collate
ok 437 Verify that strings with embedded NUL and extra trailing NUL collate
ok 438 Verify that empty strings collate
ok 439 Skip in non-UTF-8 locales; otherwise verify that UTF8ness doesn't matter with collation
ok 440 Skip in UTF-8 locales; otherwise verify that single byte collates before 0x100 and above
ok 441 Skip in UTF-8 locales; otherwise verify that 0x100 and above collate in code point order
ok 442 Verify that an intervening printf doesn't change assignment results
ok 443 Verify that an intervening sprintf doesn't change assignment results
ok 444 Verify that a different locale radix works when doing "==" with a constant
ok 445 Verify that a different locale radix works when doing "==" with a scalar
ok 446 Verify that a different locale radix works when doing "==" with a scalar and an intervening sprintf
ok 447 Verify that can assign stringified under inner no-locale block
ok 448 Verify that "==" with a scalar still works in inner no locale
ok 449 Verify that "==" with a scalar and an intervening sprintf still works in inner no locale
ok 450 Verify that after a no-locale block, a different locale radix still works when doing "==" with a constant
ok 451 Verify that after a no-locale block, a different locale radix still works when doing "==" with a scalar
ok 452 Verify that after a no-locale block, a different locale radix still works when doing "==" with a scalar and an intervening sprintf
ok 453 Verify that after a no-locale block, a different locale radix can participate in an addition and function call as numeric
ok 454 Verify that don't get warning under "==" even if radix is not a dot
ok 455 Verify that non-ASCII UTF-8 error messages are in UTF-8
ok 456 ... and are ASCII outside "use locale"
ok 457 Verify that a number with a UTF-8 radix has a UTF-8 stringification
ok 458 Verify that a sprintf of a number with a UTF-8 radix yields UTF-8
ok 459 Verify that a sprintf of a number outside locale scope uses a dot radix
ok 460 Verify that a sprintf of a number back within locale scope uses locale radix
ok 461 Verify that strftime doesn't return "%p" in locales where %p is empty
ok 462 Verify that strftime returns date with UTF-8 flag appropriately set
ok 463 "$!" is ASCII only outside of locale scope
ok 464 Verify "lc(foo) cmp lc(bar)" is the same as using intermediaries for the cmp
# 99.3% of locales not known to be problematic on this platform
# pass the following test, so it is likely that the failures
# are errors in the locale definitions. The test is marked TODO, as the
# problem is not likely to be Perl's
#
# For more details, rerun, with environment variable PERL_DEBUG_FULL_TEST=1.
# Then look at that output for lines that match 'failed 465'
not ok 465 Verify case insensitive matching works # TODO
ok 466 Verify atof with locale radix and negative exponent
ok 467 variable set to setlocale(BAD LOCALE) is considered uninitialized
ok 468 uc("") in C locale (use locale; not encoded in utf8) should be "", got ""
ok 469 verify that is tainted
ok 470 uc("") in C locale (use locale; encoded in utf8) should be "", got ""
ok 471 verify that is tainted
ok 472 uc("a") in C locale (use locale; not encoded in utf8) should be "A", got "A"
ok 473 verify that is tainted
ok 474 uc("a") in C locale (use locale; encoded in utf8) should be "A", got "A"
ok 475 verify that is tainted
ok 476 uc("à") in C locale (use locale; not encoded in utf8) should be "à", got "à"
ok 477 verify that is tainted
ok 478 uc("à") in C locale (use locale; encoded in utf8) should be "à", got "à"
ok 479 verify that is tainted
ok 480 uc("ÿ") in C locale (use locale; not encoded in utf8) should be "ÿ", got "ÿ"
ok 481 verify that is tainted
ok 482 uc("ÿ") in C locale (use locale; encoded in utf8) should be "ÿ", got "ÿ"
ok 483 verify that is tainted
ok 484 uc("ff") in C locale (use locale; not encoded in utf8) should be "ff", got "ff"
ok 485 verify that is tainted
ok 486 uc("ff") in C locale (use locale; encoded in utf8) should be "ff", got "ff"
ok 487 verify that is tainted
ok 488 uc("ʼn") in C locale (use locale; not encoded in utf8) should be "ʼn", got "ʼn"
ok 489 verify that is tainted
ok 490 uc("ʼn") in C locale (use locale; encoded in utf8) should be "ʼn", got "ʼn"
ok 491 verify that is tainted
ok 492 uc("ā") in C locale (use locale; not encoded in utf8) should be "Ā", got "Ā"
ok 493 verify that is tainted
ok 494 uc("ā") in C locale (use locale; encoded in utf8) should be "Ā", got "Ā"
ok 495 verify that is tainted
ok 496 uc("") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "", got ""
ok 497 verify that isn't tainted
ok 498 uc("") in C locale (use locale '​:not_characters'; encoded in utf8) should be "", got ""
ok 499 verify that isn't tainted
ok 500 uc("a") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "A", got "A"
ok 501 verify that isn't tainted
ok 502 uc("a") in C locale (use locale '​:not_characters'; encoded in utf8) should be "A", got "A"
ok 503 verify that isn't tainted
ok 504 uc("à") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "À", got "À"
ok 505 verify that isn't tainted
ok 506 uc("à") in C locale (use locale '​:not_characters'; encoded in utf8) should be "À", got "À"
ok 507 verify that isn't tainted
ok 508 uc("ÿ") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "Ÿ", got "Ÿ"
ok 509 verify that isn't tainted
ok 510 uc("ÿ") in C locale (use locale '​:not_characters'; encoded in utf8) should be "Ÿ", got "Ÿ"
ok 511 verify that isn't tainted
ok 512 uc("ff") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "FF", got "FF"
ok 513 verify that isn't tainted
ok 514 uc("ff") in C locale (use locale '​:not_characters'; encoded in utf8) should be "FF", got "FF"
ok 515 verify that isn't tainted
ok 516 uc("ʼn") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "ʼN", got "ʼN"
ok 517 verify that isn't tainted
ok 518 uc("ʼn") in C locale (use locale '​:not_characters'; encoded in utf8) should be "ʼN", got "ʼN"
ok 519 verify that isn't tainted
ok 520 uc("ā") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "Ā", got "Ā"
ok 521 verify that isn't tainted
ok 522 uc("ā") in C locale (use locale '​:not_characters'; encoded in utf8) should be "Ā", got "Ā"
ok 523 verify that isn't tainted
ok 524 ucfirst("") in C locale (use locale; not encoded in utf8) should be "", got ""
ok 525 verify that is tainted
ok 526 ucfirst("") in C locale (use locale; encoded in utf8) should be "", got ""
ok 527 verify that is tainted
ok 528 ucfirst("a") in C locale (use locale; not encoded in utf8) should be "A", got "A"
ok 529 verify that is tainted
ok 530 ucfirst("a") in C locale (use locale; encoded in utf8) should be "A", got "A"
ok 531 verify that is tainted
ok 532 ucfirst("à") in C locale (use locale; not encoded in utf8) should be "à", got "à"
ok 533 verify that is tainted
ok 534 ucfirst("à") in C locale (use locale; encoded in utf8) should be "à", got "à"
ok 535 verify that is tainted
ok 536 ucfirst("ÿ") in C locale (use locale; not encoded in utf8) should be "ÿ", got "ÿ"
ok 537 verify that is tainted
ok 538 ucfirst("ÿ") in C locale (use locale; encoded in utf8) should be "ÿ", got "ÿ"
ok 539 verify that is tainted
ok 540 ucfirst("ff") in C locale (use locale; not encoded in utf8) should be "ff", got "ff"
ok 541 verify that is tainted
ok 542 ucfirst("ff") in C locale (use locale; encoded in utf8) should be "ff", got "ff"
ok 543 verify that is tainted
ok 544 ucfirst("ʼn") in C locale (use locale; not encoded in utf8) should be "ʼn", got "ʼn"
ok 545 verify that is tainted
ok 546 ucfirst("ʼn") in C locale (use locale; encoded in utf8) should be "ʼn", got "ʼn"
ok 547 verify that is tainted
ok 548 ucfirst("ā") in C locale (use locale; not encoded in utf8) should be "Ā", got "Ā"
ok 549 verify that is tainted
ok 550 ucfirst("ā") in C locale (use locale; encoded in utf8) should be "Ā", got "Ā"
ok 551 verify that is tainted
ok 552 ucfirst("") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "", got ""
ok 553 verify that isn't tainted
ok 554 ucfirst("") in C locale (use locale '​:not_characters'; encoded in utf8) should be "", got ""
ok 555 verify that isn't tainted
ok 556 ucfirst("a") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "A", got "A"
ok 557 verify that isn't tainted
ok 558 ucfirst("a") in C locale (use locale '​:not_characters'; encoded in utf8) should be "A", got "A"
ok 559 verify that isn't tainted
ok 560 ucfirst("à") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "À", got "À"
ok 561 verify that isn't tainted
ok 562 ucfirst("à") in C locale (use locale '​:not_characters'; encoded in utf8) should be "À", got "À"
ok 563 verify that isn't tainted
ok 564 ucfirst("ÿ") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "Ÿ", got "Ÿ"
ok 565 verify that isn't tainted
ok 566 ucfirst("ÿ") in C locale (use locale '​:not_characters'; encoded in utf8) should be "Ÿ", got "Ÿ"
ok 567 verify that isn't tainted
ok 568 ucfirst("ff") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "Ff", got "Ff"
ok 569 verify that isn't tainted
ok 570 ucfirst("ff") in C locale (use locale '​:not_characters'; encoded in utf8) should be "Ff", got "Ff"
ok 571 verify that isn't tainted
ok 572 ucfirst("ʼn") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "ʼN", got "ʼN"
ok 573 verify that isn't tainted
ok 574 ucfirst("ʼn") in C locale (use locale '​:not_characters'; encoded in utf8) should be "ʼN", got "ʼN"
ok 575 verify that isn't tainted
ok 576 ucfirst("ā") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "Ā", got "Ā"
ok 577 verify that isn't tainted
ok 578 ucfirst("ā") in C locale (use locale '​:not_characters'; encoded in utf8) should be "Ā", got "Ā"
ok 579 verify that isn't tainted
ok 580 lc("") in C locale (use locale; not encoded in utf8) should be "", got ""
ok 581 verify that is tainted
ok 582 lc("") in C locale (use locale; encoded in utf8) should be "", got ""
ok 583 verify that is tainted
ok 584 lc("A") in C locale (use locale; not encoded in utf8) should be "a", got "a"
ok 585 verify that is tainted
ok 586 lc("A") in C locale (use locale; encoded in utf8) should be "a", got "a"
ok 587 verify that is tainted
ok 588 lc("À") in C locale (use locale; not encoded in utf8) should be "À", got "À"
ok 589 verify that is tainted
ok 590 lc("À") in C locale (use locale; encoded in utf8) should be "À", got "À"
ok 591 verify that is tainted
ok 592 lc("ſ") in C locale (use locale; not encoded in utf8) should be "ſ", got "ſ"
ok 593 verify that is tainted
ok 594 lc("ſ") in C locale (use locale; encoded in utf8) should be "ſ", got "ſ"
ok 595 verify that is tainted
ok 596 lc("Ā") in C locale (use locale; not encoded in utf8) should be "ā", got "ā"
ok 597 verify that is tainted
ok 598 lc("Ā") in C locale (use locale; encoded in utf8) should be "ā", got "ā"
ok 599 verify that is tainted
ok 600 lc("") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "", got ""
ok 601 verify that isn't tainted
ok 602 lc("") in C locale (use locale '​:not_characters'; encoded in utf8) should be "", got ""
ok 603 verify that isn't tainted
ok 604 lc("A") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "a", got "a"
ok 605 verify that isn't tainted
ok 606 lc("A") in C locale (use locale '​:not_characters'; encoded in utf8) should be "a", got "a"
ok 607 verify that isn't tainted
ok 608 lc("À") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "à", got "à"
ok 609 verify that isn't tainted
ok 610 lc("À") in C locale (use locale '​:not_characters'; encoded in utf8) should be "à", got "à"
ok 611 verify that isn't tainted
ok 612 lc("ſ") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "ſ", got "ſ"
ok 613 verify that isn't tainted
ok 614 lc("ſ") in C locale (use locale '​:not_characters'; encoded in utf8) should be "ſ", got "ſ"
ok 615 verify that isn't tainted
ok 616 lc("Ā") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "ā", got "ā"
ok 617 verify that isn't tainted
ok 618 lc("Ā") in C locale (use locale '​:not_characters'; encoded in utf8) should be "ā", got "ā"
ok 619 verify that isn't tainted
ok 620 lcfirst("") in C locale (use locale; not encoded in utf8) should be "", got ""
ok 621 verify that is tainted
ok 622 lcfirst("") in C locale (use locale; encoded in utf8) should be "", got ""
ok 623 verify that is tainted
ok 624 lcfirst("A") in C locale (use locale; not encoded in utf8) should be "a", got "a"
ok 625 verify that is tainted
ok 626 lcfirst("A") in C locale (use locale; encoded in utf8) should be "a", got "a"
ok 627 verify that is tainted
ok 628 lcfirst("À") in C locale (use locale; not encoded in utf8) should be "À", got "À"
ok 629 verify that is tainted
ok 630 lcfirst("À") in C locale (use locale; encoded in utf8) should be "À", got "À"
ok 631 verify that is tainted
ok 632 lcfirst("ſ") in C locale (use locale; not encoded in utf8) should be "ſ", got "ſ"
ok 633 verify that is tainted
ok 634 lcfirst("ſ") in C locale (use locale; encoded in utf8) should be "ſ", got "ſ"
ok 635 verify that is tainted
ok 636 lcfirst("Ā") in C locale (use locale; not encoded in utf8) should be "ā", got "ā"
ok 637 verify that is tainted
ok 638 lcfirst("Ā") in C locale (use locale; encoded in utf8) should be "ā", got "ā"
ok 639 verify that is tainted
ok 640 lcfirst("") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "", got ""
ok 641 verify that isn't tainted
ok 642 lcfirst("") in C locale (use locale '​:not_characters'; encoded in utf8) should be "", got ""
ok 643 verify that isn't tainted
ok 644 lcfirst("A") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "a", got "a"
ok 645 verify that isn't tainted
ok 646 lcfirst("A") in C locale (use locale '​:not_characters'; encoded in utf8) should be "a", got "a"
ok 647 verify that isn't tainted
ok 648 lcfirst("À") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "à", got "à"
ok 649 verify that isn't tainted
ok 650 lcfirst("À") in C locale (use locale '​:not_characters'; encoded in utf8) should be "à", got "à"
ok 651 verify that isn't tainted
ok 652 lcfirst("ſ") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "ſ", got "ſ"
ok 653 verify that isn't tainted
ok 654 lcfirst("ſ") in C locale (use locale '​:not_characters'; encoded in utf8) should be "ſ", got "ſ"
ok 655 verify that isn't tainted
ok 656 lcfirst("Ā") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "ā", got "ā"
ok 657 verify that isn't tainted
ok 658 lcfirst("Ā") in C locale (use locale '​:not_characters'; encoded in utf8) should be "ā", got "ā"
ok 659 verify that isn't tainted
ok 660 fc("") in C locale (use locale; not encoded in utf8) should be "", got ""
ok 661 verify that is tainted
ok 662 fc("") in C locale (use locale; encoded in utf8) should be "", got ""
ok 663 verify that is tainted
ok 664 fc("A") in C locale (use locale; not encoded in utf8) should be "a", got "a"
ok 665 verify that is tainted
ok 666 fc("A") in C locale (use locale; encoded in utf8) should be "a", got "a"
ok 667 verify that is tainted
ok 668 fc("À") in C locale (use locale; not encoded in utf8) should be "À", got "À"
ok 669 verify that is tainted
ok 670 fc("À") in C locale (use locale; encoded in utf8) should be "À", got "À"
ok 671 verify that is tainted
ok 672 fc("ſ") in C locale (use locale; not encoded in utf8) should be "ſ", got "ſ"
ok 673 verify that is tainted
ok 674 fc("ſ") in C locale (use locale; encoded in utf8) should be "ſ", got "ſ"
ok 675 verify that is tainted
ok 676 fc("Ā") in C locale (use locale; not encoded in utf8) should be "ā", got "ā"
ok 677 verify that is tainted
ok 678 fc("Ā") in C locale (use locale; encoded in utf8) should be "ā", got "ā"
ok 679 verify that is tainted
ok 680 fc("") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "", got ""
ok 681 verify that isn't tainted
ok 682 fc("") in C locale (use locale '​:not_characters'; encoded in utf8) should be "", got ""
ok 683 verify that isn't tainted
ok 684 fc("A") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "a", got "a"
ok 685 verify that isn't tainted
ok 686 fc("A") in C locale (use locale '​:not_characters'; encoded in utf8) should be "a", got "a"
ok 687 verify that isn't tainted
ok 688 fc("À") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "à", got "à"
ok 689 verify that isn't tainted
ok 690 fc("À") in C locale (use locale '​:not_characters'; encoded in utf8) should be "à", got "à"
ok 691 verify that isn't tainted
ok 692 fc("ſ") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "s", got "s"
ok 693 verify that isn't tainted
ok 694 fc("ſ") in C locale (use locale '​:not_characters'; encoded in utf8) should be "s", got "s"
ok 695 verify that isn't tainted
ok 696 fc("Ā") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "ā", got "ā"
ok 697 verify that isn't tainted
ok 698 fc("Ā") in C locale (use locale '​:not_characters'; encoded in utf8) should be "ā", got "ā"
ok 699 verify that isn't tainted
#
# The locale definition
#
# lt_LT.ISO8859-4
#
# on your system may have errors because the locale test 398
# "Verify that /[[​:upper​:]]/ matches all alpha X for which uc(X) == X and lc(X) != X"
# failed in that locale.
#
# If your users are not using these locales you are safe for the moment,
# but please report this failure first to perlbug@​perl.org using the
# perlbug script (as described in the INSTALL file) so that the exact
# details of the failures can be sorted out first and then your operating
# system supplier can be alerted about these anomalies.
#
#
# The locale definition
#
# lt_LT.ISO8859-4
#
# on your system may have errors because the locale test 399
# "Verify that /[[​:lower​:]]/i matches all alpha X for which uc(X) == X and lc(X) != X"
# failed in that locale.
#
# If your users are not using these locales you are safe for the moment,
# but please report this failure first to perlbug@​perl.org using the
# perlbug script (as described in the INSTALL file) so that the exact
# details of the failures can be sorted out first and then your operating
# system supplier can be alerted about these anomalies.
#
#
# The locale definition
#
# lt_LT.ISO8859-13
#
# on your system may have errors because the locale test 407
# "Verify that [​:lower​:] is a subset of [​:alpha​:]"
# failed in that locale.
#
# If your users are not using these locales you are safe for the moment,
# but please report this failure first to perlbug@​perl.org using the
# perlbug script (as described in the INSTALL file) so that the exact
# details of the failures can be sorted out first and then your operating
# system supplier can be alerted about these anomalies.
#
#
# The locale definition
#
# lt_LT.ISO8859-13
#
# on your system may have errors because the locale test 410
# "Verify that /[[​:lower​:]]/i is a subset of [​:alpha​:]"
# failed in that locale.
#
# If your users are not using these locales you are safe for the moment,
# but please report this failure first to perlbug@​perl.org using the
# perlbug script (as described in the INSTALL file) so that the exact
# details of the failures can be sorted out first and then your operating
# system supplier can be alerted about these anomalies.
#
#
# The locale definition
#
# kk_KZ.PT154
#
# on your system may have errors because the locale test 426
# "Verify that the space character is in [​:print​:]"
# failed in that locale.
#
# If your users are not using these locales you are safe for the moment,
# but please report this failure first to perlbug@​perl.org using the
# perlbug script (as described in the INSTALL file) so that the exact
# details of the failures can be sorted out first and then your operating
# system supplier can be alerted about these anomalies.
#
#
# The locale definitions
#
# cs_CZ.ISO8859-2 hr_HR.ISO8859-2 hu_HU.ISO8859-2 lt_LT.ISO8859-4
# pl_PL.ISO8859-2 ro_RO.ISO8859-2 sk_SK.ISO8859-2 sl_SI.ISO8859-2
# sr_Latn_ME.ISO8859-2 sr_Latn_RS.ISO8859-2 sr_ME.ISO8859-2
# sr_RS.ISO8859-2
#
# on your system may have errors because the locale test 431
# "Verify that isn't both [​:graph​:] and [​:space​:]"
# failed in those locales.
#
# If your users are not using these locales you are safe for the moment,
# but please report this failure first to perlbug@​perl.org using the
# perlbug script (as described in the INSTALL file) so that the exact
# details of the failures can be sorted out first and then your operating
# system supplier can be alerted about these anomalies.
#
#
# The locale definition
#
# lt_LT.ISO8859-4
#
# on your system may have errors because the locale test 465
# "Verify case insensitive matching works"
# failed in that locale.
#
# If your users are not using these locales you are safe for the moment,
# but please report this failure first to perlbug@​perl.org using the
# perlbug script (as described in the INSTALL file) so that the exact
# details of the failures can be sorted out first and then your operating
# system supplier can be alerted about these anomalies.
#
# The following locales
#
# C POSIX af_ZA.ISO8859-1 af_ZA.ISO8859-15 af_ZA.UTF-8
# be_BY.CP1251 be_BY.ISO8859-5 be_BY.UTF-8 bg_BG.CP1251
# bg_BG.UTF-8 ca_ES.ISO8859-1 ca_ES.ISO8859-15 ca_ES.UTF-8
# cs_CZ.UTF-8 da_DK.ISO8859-1 da_DK.ISO8859-15 da_DK.UTF-8
# de_AT.ISO8859-1 de_AT.ISO8859-15 de_AT.UTF-8 de_CH.ISO8859-1
# de_CH.ISO8859-15 de_CH.UTF-8 de_DE.ISO8859-1 de_DE.ISO8859-15
# de_DE.UTF-8 el_GR.ISO8859-7 el_GR.UTF-8 en_AU.ISO8859-1
# en_AU.ISO8859-15 en_AU.UTF-8 en_CA.ISO8859-1 en_CA.ISO8859-15
# en_CA.UTF-8 en_GB.ISO8859-1 en_GB.ISO8859-15 en_GB.UTF-8
# en_NZ.ISO8859-1 en_NZ.ISO8859-15 en_NZ.UTF-8 en_US.ISO8859-1
# en_US.ISO8859-15 en_US.US-ASCII en_US.UTF-8 es_ES.ISO8859-1
# es_ES.ISO8859-15 es_ES.UTF-8 et_EE.ISO8859-15 et_EE.UTF-8
# eu_ES.ISO8859-1 eu_ES.ISO8859-15 eu_ES.UTF-8 fi_FI.ISO8859-1
# fi_FI.ISO8859-15 fi_FI.UTF-8 fr_BE.ISO8859-1 fr_BE.ISO8859-15
# fr_BE.UTF-8 fr_CA.ISO8859-1 fr_CA.ISO8859-15 fr_CA.UTF-8
# fr_CH.ISO8859-1 fr_CH.ISO8859-15 fr_CH.UTF-8 fr_FR.ISO8859-1
# fr_FR.ISO8859-15 fr_FR.UTF-8 hr_HR.UTF-8 hu_HU.UTF-8
# hy_AM.ARMSCII-8 hy_AM.UTF-8 is_IS.ISO8859-1 is_IS.ISO8859-15
# is_IS.UTF-8 it_CH.ISO8859-1 it_CH.ISO8859-15 it_CH.UTF-8
# it_IT.ISO8859-1 it_IT.ISO8859-15 it_IT.UTF-8 ja_JP.UTF-8
# kk_KZ.UTF-8 ko_KR.UTF-8 lt_LT.UTF-8 nb_NO.ISO8859-1
# nb_NO.ISO8859-15 nb_NO.UTF-8 nl_BE.ISO8859-1 nl_BE.ISO8859-15
# nl_BE.UTF-8 nl_NL.ISO8859-1 nl_NL.ISO8859-15 nl_NL.UTF-8
# nn_NO.ISO8859-1 nn_NO.ISO8859-15 nn_NO.UTF-8 no_NO.ISO8859-1
# no_NO.ISO8859-15 no_NO.UTF-8 pl_PL.UTF-8 pt_BR.ISO8859-1
# pt_BR.UTF-8 pt_PT.ISO8859-1 pt_PT.ISO8859-15 pt_PT.UTF-8
# ro_RO.UTF-8 ru_BY.CP1251 ru_BY.UTF-8 ru_RU.CP1251 ru_RU.CP866
# ru_RU.ISO8859-5 ru_RU.KOI8-R ru_RU.UTF-8 sk_SK.UTF-8
# sl_SI.UTF-8 sr_Cyrl_ME.ISO8859-5 sr_Cyrl_ME.UTF-8 sr_Cyrl_RS.ISO8859-5
# sr_Cyrl_RS.UTF-8 sr_Latn_ME.UTF-8 sr_Latn_RS.UTF-8
# sr_ME.ISO8859-5 sr_ME.UTF-8 sr_RS.ISO8859-5 sr_RS.UTF-8
# sv_SE.ISO8859-1 sv_SE.ISO8859-15 sv_SE.UTF-8 tr_TR.ISO8859-9
# tr_TR.UTF-8 uk_UA.CP1251 uk_UA.ISO8859-5 uk_UA.KOI8-U
# uk_UA.UTF-8 zh_CN.UTF-8 zh_HK.UTF-8 zh_TW.UTF-8
#
# tested okay.
#
# The following locales
#
# cs_CZ.ISO8859-2 hr_HR.ISO8859-2 hu_HU.ISO8859-2 kk_KZ.PT154
# lt_LT.ISO8859-13 lt_LT.ISO8859-4 pl_PL.ISO8859-2 ro_RO.ISO8859-2
# sk_SK.ISO8859-2 sl_SI.ISO8859-2 sr_Latn_ME.ISO8859-2
# sr_Latn_RS.ISO8859-2 sr_ME.ISO8859-2 sr_RS.ISO8859-2
#
# had problems.
#
# For more details, rerun, with environment variable PERL_DEBUG_FULL_TEST=1.
1..699
Failed 1/699 subtests

Test Summary Report


../lib/locale.t (Wstat​: 0 Tests​: 699 Failed​: 1)
  Failed test​: 431
Files=2, Tests=924, 8 wallclock secs ( 0.10 usr 0.04 sys + 6.03 cusr 1.15 csys = 7.32 CPU)
Result​: FAIL

@p5pRT
Copy link
Author

p5pRT commented Jul 11, 2017

From carlos@carlosguevara.com

Summary of my perl5 (revision 5 version 27 subversion 2) configuration​:
  Commit id​: 1e629c2
  Platform​:
  osname=netbsd
  osvers=7.1
  archname=amd64-netbsd-thread-multi
  uname='netbsd netbsd7 7.1 netbsd 7.1 (generic.201703111743z) amd64 '
  config_args='-des -Dusedevel -Duseithreads -Duse64bitint'
  hint=recommended
  useposix=true
  d_sigaction=define
  useithreads=define
  usemultiplicity=define
  use64bitint=define
  use64bitall=define
  uselongdouble=undef
  usemymalloc=n
  default_inc_excludes_dot=define
  bincompat5005=undef
  Compiler​:
  cc='cc'
  ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include -D_FORTIFY_SOURCE=2'
  optimize='-O'
  cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include'
  ccversion=''
  gccversion='4.8.5'
  gccosandvers=''
  intsize=4
  longsize=8
  ptrsize=8
  doublesize=8
  byteorder=12345678
  doublekind=3
  d_longlong=define
  longlongsize=8
  d_longdbl=define
  longdblsize=16
  longdblkind=3
  ivtype='long'
  ivsize=8
  nvtype='double'
  nvsize=8
  Off_t='off_t'
  lseeksize=8
  alignbytes=8
  prototype=define
  Linker and Libraries​:
  ld='cc'
  ldflags =' -Wl,-rpath,/usr/pkg/lib -Wl,-rpath,/usr/local/lib -fstack-protector -L/usr/pkg/lib'
  libpth=/usr/include/gcc-4.8 /usr/lib /usr/pkg/lib /lib
  libs=-lpthread -lm -lcrypt -lutil -lc -lposix
  perllibs=-lpthread -lm -lcrypt -lutil -lc -lposix
  libc=/lib/libc.so
  so=so
  useshrplib=false
  libperl=libperl.a
  gnulibc_version=''
  Dynamic Linking​:
  dlsrc=dl_dlopen.xs
  dlext=so
  d_dlsymun=undef
  ccdlflags='-Wl,-E '
  cccdlflags='-DPIC -fPIC '
  lddlflags='-shared -L/usr/pkg/lib -fstack-protector'

Characteristics of this binary (from libperl)​:
  Compile-time options​:
  HAS_TIMES
  MULTIPLICITY
  PERLIO_LAYERS
  PERL_COPY_ON_WRITE
  PERL_DONT_CREATE_GVSV
  PERL_IMPLICIT_CONTEXT
  PERL_MALLOC_WRAP
  PERL_OP_PARENT
  PERL_PRESERVE_IVUV
  PERL_USE_DEVEL
  USE_64_BIT_ALL
  USE_64_BIT_INT
  USE_ITHREADS
  USE_LARGE_FILES
  USE_LOCALE
  USE_LOCALE_COLLATE
  USE_LOCALE_CTYPE
  USE_LOCALE_NUMERIC
  USE_LOCALE_TIME
  USE_PERLIO
  USE_PERL_ATOF
  USE_REENTRANT_API
  Built under netbsd
  Compiled at Jul 11 2017 05​:40​:19
  @​INC​:
  lib
  /usr/lib/perl5/site_perl/5.27.2/amd64-netbsd-thread-multi
  /usr/lib/perl5/site_perl/5.27.2
  /usr/lib/perl5/5.27.2/amd64-netbsd-thread-multi
  /usr/lib/perl5/5.27.2

@p5pRT
Copy link
Author

p5pRT commented Jul 12, 2017

From @jkeenan

On Tue, 11 Jul 2017 06​:31​:33 GMT, carlos@​carlosguevara.com wrote​:

Attached file netbsd.failures.txt contains the results of the following on
NetBSD 7.1​:
sh ./Configure -des -Dusedevel -Duseithreads -Duse64bitint
make test_prep
cd t; ./perl harness -v ../cpan/Sys-Syslog/t/syslog.t ../lib/locale.t 2>&1
| tee ../netbsd.failures.txt; cd -

Attached file perl-Ilib-V.txt contains the results of './perl -Ilib -V' in
the same directory.

Please let me know if I can be of any further assistance.

Thanks for preparing that report. In gratitude, we ask you to prepare more reports!

The failures in ../cpan/Sys-Syslog/t/syslog.t are not consistent from one smoke run to the next. However, they are like those being newly reported for DragonflyBSD as well. Let's set those aside for now.

The output from lib/locale.t suggests how to proceed. In the same directory, could you run the following command and include the output as an attachment in responding to this message?

#####
cd t; PERL_DEBUG_FULL_TEST=2 ./perl harness -v ../lib/locale.t 2>&1 | gzip -c > ../lib-locale-t-netbsd.txt.gz; cd -
#####

Thank you very much.

--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Jul 12, 2017

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Jul 13, 2017

From carlos@carlosguevara.com

No problem.

Report attached.

On Wed, Jul 12, 2017 at 7​:59 AM, James E Keenan via RT <
perlbug-followup@​perl.org> wrote​:

On Tue, 11 Jul 2017 06​:31​:33 GMT, carlos@​carlosguevara.com wrote​:

Attached file netbsd.failures.txt contains the results of the following
on
NetBSD 7.1​:
sh ./Configure -des -Dusedevel -Duseithreads -Duse64bitint
make test_prep
cd t; ./perl harness -v ../cpan/Sys-Syslog/t/syslog.t ../lib/locale.t
2>&1
| tee ../netbsd.failures.txt; cd -

Attached file perl-Ilib-V.txt contains the results of './perl -Ilib -V'
in
the same directory.

Please let me know if I can be of any further assistance.

Thanks for preparing that report. In gratitude, we ask you to prepare
more reports!

The failures in ../cpan/Sys-Syslog/t/syslog.t are not consistent from one
smoke run to the next. However, they are like those being newly reported
for DragonflyBSD as well. Let's set those aside for now.

The output from lib/locale.t suggests how to proceed. In the same
directory, could you run the following command and include the output as an
attachment in responding to this message?

#####
cd t; PERL_DEBUG_FULL_TEST=2 ./perl harness -v ../lib/locale.t 2>&1 | gzip
-c > ../lib-locale-t-netbsd.txt.gz; cd -
#####

Thank you very much.

--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Jul 13, 2017

@p5pRT
Copy link
Author

p5pRT commented Jul 13, 2017

From @jkeenan

On Thu, 13 Jul 2017 13​:27​:35 GMT, carlos@​carlosguevara.com wrote​:

No problem.

Report attached.

Thanks. Last year Karl Williamson used output like this to diagnose and correct failures in lib/locale.t on FreeBSD. I'm hoping he'll be able to do likewise on NetBSD.

If you can continue to submit smoke test reports for Perl 5 blead on NetBSD 7 -- say, weekly or semi-weekly -- that would be helpful.

Thank you very much.
--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Jul 13, 2017

From @khwilliamson

On 07/12/2017 11​:54 PM, Carlos Guevara wrote​:

No problem.

Report attached.

On Wed, Jul 12, 2017 at 7​:59 AM, James E Keenan via RT
<perlbug-followup@​perl.org <mailto​:perlbug-followup@​perl.org>> wrote​:

On Tue\, 11 Jul 2017 06&#8203;:31&#8203;:33 GMT\, carlos@&#8203;carlosguevara\.com
\<mailto&#8203;:carlos@&#8203;carlosguevara\.com> wrote&#8203;:
 > Attached file netbsd\.failures\.txt contains the results of the
following on
 > NetBSD 7\.1&#8203;:
 > sh \./Configure \-des \-Dusedevel \-Duseithreads \-Duse64bitint
 > make test\_prep
 > cd t; \./perl harness \-v \.\./cpan/Sys\-Syslog/t/syslog\.t
\.\./lib/locale\.t 2>&1
 > | tee \.\./netbsd\.failures\.txt; cd \-
 >
 > Attached file perl\-Ilib\-V\.txt contains the results of '\./perl
\-Ilib \-V' in
 > the same directory\.
 >
 > Please let me know if I can be of any further assistance\.

Thanks for preparing that report\.  In gratitude\, we ask you to
prepare more reports\!

The failures in \.\./cpan/Sys\-Syslog/t/syslog\.t are not consistent
from one smoke run to the next\.  However\, they are like those being
newly reported for DragonflyBSD as well\.  Let's set those aside for now\.

The output from lib/locale\.t suggests how to proceed\.  In the same
directory\, could you run the following command and include the
output as an attachment in responding to this message?

\#\#\#\#\#
cd t; PERL\_DEBUG\_FULL\_TEST=2 \./perl harness \-v \.\./lib/locale\.t 2>&1
| gzip \-c > \.\./lib\-locale\-t\-netbsd\.txt\.gz; cd \-
\#\#\#\#\#

Thank you very much\.

\-\-
James E Keenan \(jkeenan@&#8203;cpan\.org \<mailto&#8203;:jkeenan@&#8203;cpan\.org>\)

This output indicates problems with the NetBSD locale definitions,
rather than Perl. It would be good if someone, not me, would report
them to the vendor.

Other platforms also have various defective locales, which we can tell
lib/locale.t about so that it doesn't fail. I have seen almost all
these failures on other platforms, but some are new to me.

lib/locale.t is written to look for anomalies in the locale definitions.
  It does not catch everything, but quite a few. I basically looked
through the POSIX standard and wrote tests for just about everything I
could think of and that I could figure out how to test, that it
specifies. For example all lowercase characters should also be
alphabetic, and none should be digits nor punctuation.

You can see the failures by grepping for 'failed' in the output. They
follow, grouped by locale, with my comments after

# failed 431 (Verify that isn't both [​:graph​:] and [​:space​:]) with
locale 'cs_CZ.ISO8859-2' (for A0)
# failed 431 (Verify that isn't both [​:graph​:] and [​:space​:]) with
locale 'hr_HR.ISO8859-2' (for A0)
# failed 431 (Verify that isn't both [​:graph​:] and [​:space​:]) with
locale 'hu_HU.ISO8859-2' (for A0)
# failed 431 (Verify that isn't both [​:graph​:] and [​:space​:]) with
locale 'lt_LT.ISO8859-4' (for A0)
# failed 431 (Verify that isn't both [​:graph​:] and [​:space​:]) with
locale 'pl_PL.ISO8859-2' (for A0)
# failed 431 (Verify that isn't both [​:graph​:] and [​:space​:]) with
locale 'ro_RO.ISO8859-2' (for A0)
# failed 431 (Verify that isn't both [​:graph​:] and [​:space​:]) with
locale 'sk_SK.ISO8859-2' (for A0)
# failed 431 (Verify that isn't both [​:graph​:] and [​:space​:]) with
locale 'sl_SI.ISO8859-2' (for A0)
# failed 431 (Verify that isn't both [​:graph​:] and [​:space​:]) with
locale 'sr_Latn_ME.ISO8859-2' (for A0)
# failed 431 (Verify that isn't both [​:graph​:] and [​:space​:]) with
locale 'sr_Latn_RS.ISO8859-2' (for A0)
# failed 431 (Verify that isn't both [​:graph​:] and [​:space​:]) with
locale 'sr_ME.ISO8859-2' (for A0)
# failed 431 (Verify that isn't both [​:graph​:] and [​:space​:]) with
locale 'sr_RS.ISO8859-2' (for A0)

0xA0 is the No-break space in ISO 8859-2. Posix stipulates that
something can't both be a space character and a graphic one. (Instead
spaces are printable) This is a defective locale definition. AIX has
this all over the place, so we suppress the output of these tests there.

# failed 398 (Verify that /[[​:upper​:]]/ matches all alpha X for which
uc(X) == X and lc(X) != X) with locale 'lt_LT.ISO8859-4' (for BD)
# failed 399 (Verify that /[[​:lower​:]]/i matches all alpha X for which
uc(X) == X and lc(X) != X) with locale 'lt_LT.ISO8859-4' (for BD)
# failed 465 (Verify case insensitive matching works) with locale
'lt_LT.ISO8859-4' (for BD BF)

BD and BF are upper and lowercase "Ŋ" (Eng) characters in 8859-4. The
locale definition is not correctly saying that these are a case pair.
We have seen this before, I believe on Darwin.

# failed 407 (Verify that [​:lower​:] is a subset of [​:alpha​:]) with
locale 'lt_LT.ISO8859-13' (for DF)
# failed 410 (Verify that /[[​:lower​:]]/i is a subset of [​:alpha​:]) with
locale 'lt_LT.ISO8859-13' (for DF)

DF is the German "ß" alphabetic letter. This is a defect in the locale
definition, as it definitely is both :lower​: and :alpha​:.

# failed 426 (Verify that the space character is in [​:print​:]) with
locale 'kk_KZ.PT154' (for 20)

This is the one I've never seen before. I was unfamiliar with this
locale, which is for Kazakh. Perl works only on locales that are
essentially supersets of ASCII. So for example, it expects that a SPACE
is 0x20 (or 0x40 on EBCDIC platforms). Imagine how bad the results
would be if a regular expression pattern looking for a SPACE, can't ever
find one because the locale defines it differently, and instead finds
non-spaces. I don't think there is any way to test that the code point
at that position in the locale is SPACE, but I can test that it is a
member of the :space​: POSIX class (and that test passed), and that is
also a member of :print​: I looked the locale up online, and 0x20 it
does appear to be a superset of ASCII, with SPACE at 0x20. So this is a
defective locale definition.

@p5pRT
Copy link
Author

p5pRT commented Jul 14, 2017

From @khwilliamson

On 07/13/2017 12​:59 PM, Karl Williamson wrote​:

On 07/12/2017 11​:54 PM, Carlos Guevara wrote​:

No problem.

Report attached.

On Wed, Jul 12, 2017 at 7​:59 AM, James E Keenan via RT
<perlbug-followup@​perl.org <mailto​:perlbug-followup@​perl.org>> wrote​:

On Tue\, 11 Jul 2017 06&#8203;:31&#8203;:33 GMT\, carlos@&#8203;carlosguevara\.com
\<mailto&#8203;:carlos@&#8203;carlosguevara\.com> wrote&#8203;:
 > Attached file netbsd\.failures\.txt contains the results of the
following on
 > NetBSD 7\.1&#8203;:
 > sh \./Configure \-des \-Dusedevel \-Duseithreads \-Duse64bitint
 > make test\_prep
 > cd t; \./perl harness \-v \.\./cpan/Sys\-Syslog/t/syslog\.t
\.\./lib/locale\.t 2>&1
 > | tee \.\./netbsd\.failures\.txt; cd \-
 >
 > Attached file perl\-Ilib\-V\.txt contains the results of '\./perl
\-Ilib \-V' in
 > the same directory\.
 >
 > Please let me know if I can be of any further assistance\.

Thanks for preparing that report\.  In gratitude\, we ask you to
prepare more reports\!

The failures in \.\./cpan/Sys\-Syslog/t/syslog\.t are not consistent
from one smoke run to the next\.  However\, they are like those being
newly reported for DragonflyBSD as well\.  Let's set those aside 

for now.

The output from lib/locale\.t suggests how to proceed\.  In the same
directory\, could you run the following command and include the
output as an attachment in responding to this message?

\#\#\#\#\#
cd t; PERL\_DEBUG\_FULL\_TEST=2 \./perl harness \-v \.\./lib/locale\.t 2>&1
| gzip \-c > \.\./lib\-locale\-t\-netbsd\.txt\.gz; cd \-
\#\#\#\#\#

Thank you very much\.

\-\-
James E Keenan \(jkeenan@&#8203;cpan\.org \<mailto&#8203;:jkeenan@&#8203;cpan\.org>\)

This output indicates problems with the NetBSD locale definitions,
rather than Perl. It would be good if someone, not me, would report
them to the vendor.

But there are indications in the output you gave us that there are bugs
in the test script. Please run the attached script instead. You can
put it in the /lib directory, and run the command the Jim gave you,
using whatever name you chose instead of locale.t

@p5pRT
Copy link
Author

p5pRT commented Jul 14, 2017

From @khwilliamson

locale.t

@p5pRT
Copy link
Author

p5pRT commented Jul 16, 2017

From carlos@carlosguevara.com

No problem.

Reports attached.

On Fri, Jul 14, 2017 at 12​:19 PM, Karl Williamson <public@​khwilliamson.com>
wrote​:

On 07/13/2017 12​:59 PM, Karl Williamson wrote​:

On 07/12/2017 11​:54 PM, Carlos Guevara wrote​:

No problem.

Report attached.

On Wed, Jul 12, 2017 at 7​:59 AM, James E Keenan via RT <
perlbug-followup@​perl.org <mailto​:perlbug-followup@​perl.org>> wrote​:

On Tue\, 11 Jul 2017 06&#8203;:31&#8203;:33 GMT\, carlos@&#8203;carlosguevara\.com
\<mailto&#8203;:carlos@&#8203;carlosguevara\.com> wrote&#8203;:
 > Attached file netbsd\.failures\.txt contains the results of the
following on
 > NetBSD 7\.1&#8203;:
 > sh \./Configure \-des \-Dusedevel \-Duseithreads \-Duse64bitint
 > make test\_prep
 > cd t; \./perl harness \-v \.\./cpan/Sys\-Syslog/t/syslog\.t
\.\./lib/locale\.t 2>&1
 > | tee \.\./netbsd\.failures\.txt; cd \-
 >
 > Attached file perl\-Ilib\-V\.txt contains the results of '\./perl
\-Ilib \-V' in
 > the same directory\.
 >
 > Please let me know if I can be of any further assistance\.

Thanks for preparing that report\.  In gratitude\, we ask you to
prepare more reports\!

The failures in \.\./cpan/Sys\-Syslog/t/syslog\.t are not consistent
from one smoke run to the next\.  However\, they are like those being
newly reported for DragonflyBSD as well\.  Let's set those aside for

now.

The output from lib/locale\.t suggests how to proceed\.  In the same
directory\, could you run the following command and include the
output as an attachment in responding to this message?

\#\#\#\#\#
cd t; PERL\_DEBUG\_FULL\_TEST=2 \./perl harness \-v \.\./lib/locale\.t 2>&1
| gzip \-c > \.\./lib\-locale\-t\-netbsd\.txt\.gz; cd \-
\#\#\#\#\#

Thank you very much\.

\-\-
James E Keenan \(jkeenan@&#8203;cpan\.org \<mailto&#8203;:jkeenan@&#8203;cpan\.org>\)

This output indicates problems with the NetBSD locale definitions, rather
than Perl. It would be good if someone, not me, would report them to the
vendor.

But there are indications in the output you gave us that there are bugs in
the test script. Please run the attached script instead. You can put it
in the /lib directory, and run the command the Jim gave you, using whatever
name you chose instead of locale.t

@p5pRT
Copy link
Author

p5pRT commented Jul 16, 2017

From carlos@carlosguevara.com

Summary of my perl5 (revision 5 version 27 subversion 2) configuration​:
  Commit id​: b54564c
  Platform​:
  osname=netbsd
  osvers=7.1
  archname=amd64-netbsd-thread-multi
  uname='netbsd cjg-netbsd7.localdomain 7.1 netbsd 7.1 (generic.201703111743z) amd64 '
  config_args='-des -Dusedevel -Duseithreads -Duse64bitint'
  hint=recommended
  useposix=true
  d_sigaction=define
  useithreads=define
  usemultiplicity=define
  use64bitint=define
  use64bitall=define
  uselongdouble=undef
  usemymalloc=n
  default_inc_excludes_dot=define
  bincompat5005=undef
  Compiler​:
  cc='cc'
  ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include -D_FORTIFY_SOURCE=2'
  optimize='-O'
  cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include'
  ccversion=''
  gccversion='4.8.5'
  gccosandvers=''
  intsize=4
  longsize=8
  ptrsize=8
  doublesize=8
  byteorder=12345678
  doublekind=3
  d_longlong=define
  longlongsize=8
  d_longdbl=define
  longdblsize=16
  longdblkind=3
  ivtype='long'
  ivsize=8
  nvtype='double'
  nvsize=8
  Off_t='off_t'
  lseeksize=8
  alignbytes=8
  prototype=define
  Linker and Libraries​:
  ld='cc'
  ldflags =' -Wl,-rpath,/usr/pkg/lib -Wl,-rpath,/usr/local/lib -fstack-protector -L/usr/pkg/lib'
  libpth=/usr/include/gcc-4.8 /usr/lib /usr/pkg/lib /lib
  libs=-lpthread -lm -lcrypt -lutil -lc -lposix
  perllibs=-lpthread -lm -lcrypt -lutil -lc -lposix
  libc=/lib/libc.so
  so=so
  useshrplib=false
  libperl=libperl.a
  gnulibc_version=''
  Dynamic Linking​:
  dlsrc=dl_dlopen.xs
  dlext=so
  d_dlsymun=undef
  ccdlflags='-Wl,-E '
  cccdlflags='-DPIC -fPIC '
  lddlflags='-shared -L/usr/pkg/lib -fstack-protector'

Characteristics of this binary (from libperl)​:
  Compile-time options​:
  HAS_TIMES
  MULTIPLICITY
  PERLIO_LAYERS
  PERL_COPY_ON_WRITE
  PERL_DONT_CREATE_GVSV
  PERL_IMPLICIT_CONTEXT
  PERL_MALLOC_WRAP
  PERL_OP_PARENT
  PERL_PRESERVE_IVUV
  PERL_USE_DEVEL
  USE_64_BIT_ALL
  USE_64_BIT_INT
  USE_ITHREADS
  USE_LARGE_FILES
  USE_LOCALE
  USE_LOCALE_COLLATE
  USE_LOCALE_CTYPE
  USE_LOCALE_NUMERIC
  USE_LOCALE_TIME
  USE_PERLIO
  USE_PERL_ATOF
  USE_REENTRANT_API
  Built under netbsd
  Compiled at Jul 16 2017 11​:35​:31
  @​INC​:
  lib
  /usr/lib/perl5/site_perl/5.27.2/amd64-netbsd-thread-multi
  /usr/lib/perl5/site_perl/5.27.2
  /usr/lib/perl5/5.27.2/amd64-netbsd-thread-multi
  /usr/lib/perl5/5.27.2

@p5pRT
Copy link
Author

p5pRT commented Jul 16, 2017

@p5pRT
Copy link
Author

p5pRT commented Jul 17, 2017

From @khwilliamson

On 07/16/2017 10​:58 AM, Carlos Guevara wrote​:

No problem.

Reports attached.

Thanks.

That showed me that the previous version of lib/locale.t had a bug and
was not correctly reporting some failures. And the updated version of
that script, which I sent you to try, actually fixed it. The new script
is now in blead, commit 6b88b15.

Fixing that also correctly showed why netbsd is failing this test. 8%
of the locales on your system, all of them being the ISO 8859-2 type,
say that a No-break space (NBSP) character is graphic. A graphic
character is defined as something that would use ink when being printed,
but a NBSP is just empty space with the special property that the words
on either side of it shouldn't be split across lines when being output
to, say, a display.

Because many systems have similar defective locales, an error isn't
actually raised unless a threshold of failing tests is reached. This is
to prevent us from having to deal with failing smokes that aren't really
Perl bugs. But at some fairly small threshold of failure, it could be a
Perl bug that we should look at. What I decided rather arbitrarily, is
if 95% or more of the locales pass an individual test in this script,
then the failure is more likely to be in the failing locales than it is
to be in Perl, and so the test passes. But in your system, only 92% of
all the locales pass this one test. It turns out that it is a bug in
your locales, but the script did its job and notified us of a potential
problem. On other systems, I've ended up adjusting the threshold. On
AIX machines, almost all the locales have the same defect as your 8859-2
ones do. The threshold there has been jacked up to if only 0.1% pass,
the script doesn't fail.

(Note that your 8859-1 locales don't have the same problem, and yet they
have the NBSP character same as the 8859-2 ones. I wonder if the
definition of 8859-2 changed at some point, and these locale definitions
didn't get fully updated. Or maybe they all come from the same original
definition, and the person who wrote 8859-2 differed from the one who
wrote 8859-1, and wasn't as clued in, or they just were having a bad
day, or ...)

Some of your other locales also are being found to have defects by this
test script, but in rates well below 5% of all the locales, so this is
the only failure that gets raised. (The other failures are shown if you
run the script by hand, but they are marked in such a way as to prevent
them from being shown as failures by the overall process.)

I'll think about the appropriate way to change the test to not cause
this script to be marked as failing.

But these are real defects that I believe should be reported to the OS
vendor.

On Fri, Jul 14, 2017 at 12​:19 PM, Karl Williamson
<public@​khwilliamson.com <mailto​:public@​khwilliamson.com>> wrote​:

On 07/13/2017 12&#8203;:59 PM\, Karl Williamson wrote&#8203;:

    On 07/12/2017 11&#8203;:54 PM\, Carlos Guevara wrote&#8203;:

        No problem\.

        Report attached\.


        On Wed\, Jul 12\, 2017 at 7&#8203;:59 AM\, James E Keenan via RT
        \<perlbug\-followup@&#8203;perl\.org
        \<mailto&#8203;:perlbug\-followup@&#8203;perl\.org>
        \<mailto&#8203;:perlbug\-followup@&#8203;perl\.org
        \<mailto&#8203;:perlbug\-followup@&#8203;perl\.org>>> wrote&#8203;:

             On Tue\, 11 Jul 2017 06&#8203;:31&#8203;:33 GMT\,
        carlos@&#8203;carlosguevara\.com \<mailto&#8203;:carlos@&#8203;carlosguevara\.com>
             \<mailto&#8203;:carlos@&#8203;carlosguevara\.com
        \<mailto&#8203;:carlos@&#8203;carlosguevara\.com>> wrote&#8203;:
              > Attached file netbsd\.failures\.txt contains the
        results of the
             following on
              > NetBSD 7\.1&#8203;:
              > sh \./Configure \-des \-Dusedevel \-Duseithreads
        \-Duse64bitint
              > make test\_prep
              > cd t; \./perl harness \-v \.\./cpan/Sys\-Syslog/t/syslog\.t
             \.\./lib/locale\.t 2>&1
              > | tee \.\./netbsd\.failures\.txt; cd \-
              >
              > Attached file perl\-Ilib\-V\.txt contains the results
        of '\./perl
             \-Ilib \-V' in
              > the same directory\.
              >
              > Please let me know if I can be of any further
        assistance\.

             Thanks for preparing that report\.  In gratitude\, we ask
        you to
             prepare more reports\!

             The failures in \.\./cpan/Sys\-Syslog/t/syslog\.t are not
        consistent
             from one smoke run to the next\.  However\, they are like
        those being
             newly reported for DragonflyBSD as well\.  Let's set
        those aside for now\.

             The output from lib/locale\.t suggests how to proceed\. 
        In the same
             directory\, could you run the following command and
        include the
             output as an attachment in responding to this message?

             \#\#\#\#\#
             cd t; PERL\_DEBUG\_FULL\_TEST=2 \./perl harness \-v
        \.\./lib/locale\.t 2>&1
             | gzip \-c > \.\./lib\-locale\-t\-netbsd\.txt\.gz; cd \-
             \#\#\#\#\#

             Thank you very much\.

             \-\-
             James E Keenan \(jkeenan@&#8203;cpan\.org
        \<mailto&#8203;:jkeenan@&#8203;cpan\.org> \<mailto&#8203;:jkeenan@&#8203;cpan\.org
        \<mailto&#8203;:jkeenan@&#8203;cpan\.org>>\)



    This output indicates problems with the NetBSD locale
    definitions\, rather than Perl\.  It would be good if someone\, not
    me\, would report them to the vendor\.


But there are indications in the output you gave us that there are
bugs in the test script\.  Please run the attached script instead\. 
You can put it in the /lib directory\, and run the command the Jim
gave you\, using whatever name you chose instead of locale\.t

@p5pRT
Copy link
Author

p5pRT commented Jul 17, 2017

From @khwilliamson

On 07/17/2017 02​:43 PM, Karl Williamson wrote​:

Fixing that also correctly showed why netbsd is failing this test. 8%
of the locales on your system, all of them being the ISO 8859-2 type,
say that a No-break space (NBSP) character is graphic. A graphic
character is defined as something that would use ink when being printed,
but a NBSP is just empty space with the special property that the words
on either side of it shouldn't be split across lines when being output
to, say, a display.

After a couple more minutes of thought (less than I thought would be
necessary), I think I have a solution. Please run the attached script,
like before.

@p5pRT
Copy link
Author

p5pRT commented Jul 17, 2017

From @khwilliamson

locale.t

@p5pRT
Copy link
Author

p5pRT commented Jul 17, 2017

From @jkeenan

On Mon, 17 Jul 2017 20​:46​:07 GMT, public@​khwilliamson.com wrote​:

On 07/16/2017 10​:58 AM, Carlos Guevara wrote​:

No problem.

Reports attached.

Thanks.

That showed me that the previous version of lib/locale.t had a bug and
was not correctly reporting some failures. And the updated version of
that script, which I sent you to try, actually fixed it. The new script
is now in blead, commit 6b88b15.

Fixing that also correctly showed why netbsd is failing this test. 8%
of the locales on your system, all of them being the ISO 8859-2 type,
say that a No-break space (NBSP) character is graphic. A graphic
character is defined as something that would use ink when being printed,
but a NBSP is just empty space with the special property that the words
on either side of it shouldn't be split across lines when being output
to, say, a display.

Because many systems have similar defective locales, an error isn't
actually raised unless a threshold of failing tests is reached. This is
to prevent us from having to deal with failing smokes that aren't really
Perl bugs. But at some fairly small threshold of failure, it could be a
Perl bug that we should look at. What I decided rather arbitrarily, is
if 95% or more of the locales pass an individual test in this script,
then the failure is more likely to be in the failing locales than it is
to be in Perl, and so the test passes. But in your system, only 92% of
all the locales pass this one test. It turns out that it is a bug in
your locales, but the script did its job and notified us of a potential
problem. On other systems, I've ended up adjusting the threshold. On
AIX machines, almost all the locales have the same defect as your 8859-2
ones do. The threshold there has been jacked up to if only 0.1% pass,
the script doesn't fail.

(Note that your 8859-1 locales don't have the same problem, and yet they
have the NBSP character same as the 8859-2 ones. I wonder if the
definition of 8859-2 changed at some point, and these locale definitions
didn't get fully updated. Or maybe they all come from the same original
definition, and the person who wrote 8859-2 differed from the one who
wrote 8859-1, and wasn't as clued in, or they just were having a bad
day, or ...)

Some of your other locales also are being found to have defects by this
test script, but in rates well below 5% of all the locales, so this is
the only failure that gets raised. (The other failures are shown if you
run the script by hand, but they are marked in such a way as to prevent
them from being shown as failures by the overall process.)

I'll think about the appropriate way to change the test to not cause
this script to be marked as failing.

But these are real defects that I believe should be reported to the OS
vendor.

Karl, thanks for that explanation as to how lib/locale.t works.

We -- P5P collectively -- need to come up with a Standard Operating Procedure for informing OSes of locale-related problems -- or, more generally, of problems which some OSes appear to have solved better than others. A smoke-tester who reports failures like these -- as Carlos Guevara has done at my request -- is not necessarily an expert in either locales or the operating system being reported on. So we as an open-source software project ought to figure out a way to communicate these problems with other such projects.

Thank you very much.
--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Jul 19, 2017

From carlos@carlosguevara.com

No problem.

Reports attached.

On Mon, Jul 17, 2017 at 4​:40 PM, Karl Williamson <public@​khwilliamson.com>
wrote​:

On 07/17/2017 02​:43 PM, Karl Williamson wrote​:

Fixing that also correctly showed why netbsd is failing this test. 8% of
the locales on your system, all of them being the ISO 8859-2 type, say that
a No-break space (NBSP) character is graphic. A graphic character is
defined as something that would use ink when being printed, but a NBSP is
just empty space with the special property that the words on either side of
it shouldn't be split across lines when being output to, say, a display.

After a couple more minutes of thought (less than I thought would be
necessary), I think I have a solution. Please run the attached script,
like before.

@p5pRT
Copy link
Author

p5pRT commented Jul 19, 2017

From carlos@carlosguevara.com

Summary of my perl5 (revision 5 version 27 subversion 2) configuration​:
  Commit id​: 3f60a93
  Platform​:
  osname=netbsd
  osvers=7.1
  archname=amd64-netbsd-thread-multi
  uname='netbsd cjg-netbsd7.localdomain 7.1 netbsd 7.1 (generic.201703111743z) amd64 '
  config_args='-des -Dusedevel -Duseithreads -Duse64bitint'
  hint=recommended
  useposix=true
  d_sigaction=define
  useithreads=define
  usemultiplicity=define
  use64bitint=define
  use64bitall=define
  uselongdouble=undef
  usemymalloc=n
  default_inc_excludes_dot=define
  bincompat5005=undef
  Compiler​:
  cc='cc'
  ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include -D_FORTIFY_SOURCE=2'
  optimize='-O'
  cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include'
  ccversion=''
  gccversion='4.8.5'
  gccosandvers=''
  intsize=4
  longsize=8
  ptrsize=8
  doublesize=8
  byteorder=12345678
  doublekind=3
  d_longlong=define
  longlongsize=8
  d_longdbl=define
  longdblsize=16
  longdblkind=3
  ivtype='long'
  ivsize=8
  nvtype='double'
  nvsize=8
  Off_t='off_t'
  lseeksize=8
  alignbytes=8
  prototype=define
  Linker and Libraries​:
  ld='cc'
  ldflags =' -Wl,-rpath,/usr/pkg/lib -Wl,-rpath,/usr/local/lib -fstack-protector -L/usr/pkg/lib'
  libpth=/usr/include/gcc-4.8 /usr/lib /usr/pkg/lib /lib
  libs=-lpthread -lm -lcrypt -lutil -lc -lposix
  perllibs=-lpthread -lm -lcrypt -lutil -lc -lposix
  libc=/lib/libc.so
  so=so
  useshrplib=false
  libperl=libperl.a
  gnulibc_version=''
  Dynamic Linking​:
  dlsrc=dl_dlopen.xs
  dlext=so
  d_dlsymun=undef
  ccdlflags='-Wl,-E '
  cccdlflags='-DPIC -fPIC '
  lddlflags='-shared -L/usr/pkg/lib -fstack-protector'

Characteristics of this binary (from libperl)​:
  Compile-time options​:
  HAS_TIMES
  MULTIPLICITY
  PERLIO_LAYERS
  PERL_COPY_ON_WRITE
  PERL_DONT_CREATE_GVSV
  PERL_IMPLICIT_CONTEXT
  PERL_MALLOC_WRAP
  PERL_OP_PARENT
  PERL_PRESERVE_IVUV
  PERL_USE_DEVEL
  USE_64_BIT_ALL
  USE_64_BIT_INT
  USE_ITHREADS
  USE_LARGE_FILES
  USE_LOCALE
  USE_LOCALE_COLLATE
  USE_LOCALE_CTYPE
  USE_LOCALE_NUMERIC
  USE_LOCALE_TIME
  USE_PERLIO
  USE_PERL_ATOF
  USE_REENTRANT_API
  Built under netbsd
  Compiled at Jul 18 2017 22​:17​:03
  @​INC​:
  lib
  /usr/lib/perl5/site_perl/5.27.2/amd64-netbsd-thread-multi
  /usr/lib/perl5/site_perl/5.27.2
  /usr/lib/perl5/5.27.2/amd64-netbsd-thread-multi
  /usr/lib/perl5/5.27.2

@p5pRT
Copy link
Author

p5pRT commented Jul 19, 2017

@p5pRT
Copy link
Author

p5pRT commented Jul 20, 2017

From @jkeenan

On Mon, 17 Jul 2017 20​:46​:07 GMT, public@​khwilliamson.com wrote​:

[snip]

Fixing that also correctly showed why netbsd is failing this test. 8%
of the locales on your system, all of them being the ISO 8859-2 type,
say that a No-break space (NBSP) character is graphic. A graphic
character is defined as something that would use ink when being printed,
but a NBSP is just empty space with the special property that the words
on either side of it shouldn't be split across lines when being output
to, say, a display.

[snip]

What I decided rather arbitrarily, is
if 95% or more of the locales pass an individual test in this script,
then the failure is more likely to be in the failing locales than it is
to be in Perl, and so the test passes. But in your system, only 92% of
all the locales pass this one test. It turns out that it is a bug in
your locales, but the script did its job and notified us of a potential
problem. On other systems, I've ended up adjusting the threshold. On
AIX machines, almost all the locales have the same defect as your 8859-2
ones do. The threshold there has been jacked up to if only 0.1% pass,
the script doesn't fail.

(Note that your 8859-1 locales don't have the same problem, and yet they
have the NBSP character same as the 8859-2 ones. I wonder if the
definition of 8859-2 changed at some point, and these locale definitions
didn't get fully updated. Or maybe they all come from the same original
definition, and the person who wrote 8859-2 differed from the one who
wrote 8859-1, and wasn't as clued in, or they just were having a bad
day, or ...)

[snip]

But these are real defects that I believe should be reported to the OS
vendor.

This page describes how to submit a bug report to the NetBSD project​:

#####
http​://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd
#####

I would be willing to be the submitter of such a bug report, but I would need​:

1. From Carlos​:

a. The NetBSD release where you encountered the problem;

b. Output of 'uname -a' on the smoke-testing rig.

2. From khw​:

a. Text for the "Full Description" box on that bug reporting page.*

b. Text for the "How to repeat the problem" and "Fix to the problem if known" boxes on that page, if appropriate.

*Karl, is there is some boilerplate text we could use in submitting such locale-related bug reports? If so, that would facilitate preparation of such reports in the future.

So, if you all can supply the requested information, I will submit a report to NetBSD.

Thank you very much.

--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Jul 22, 2017

From carlos@carlosguevara.com

On Thu, Jul 20, 2017 at 8​:13 AM, James E Keenan via RT <
perlbug-followup@​perl.org> wrote​:

On Mon, 17 Jul 2017 20​:46​:07 GMT, public@​khwilliamson.com wrote​:

[snip]

Fixing that also correctly showed why netbsd is failing this test. 8%
of the locales on your system, all of them being the ISO 8859-2 type,
say that a No-break space (NBSP) character is graphic. A graphic
character is defined as something that would use ink when being printed,
but a NBSP is just empty space with the special property that the words
on either side of it shouldn't be split across lines when being output
to, say, a display.

[snip]

What I decided rather arbitrarily, is
if 95% or more of the locales pass an individual test in this script,
then the failure is more likely to be in the failing locales than it is
to be in Perl, and so the test passes. But in your system, only 92% of
all the locales pass this one test. It turns out that it is a bug in
your locales, but the script did its job and notified us of a potential
problem. On other systems, I've ended up adjusting the threshold. On
AIX machines, almost all the locales have the same defect as your 8859-2
ones do. The threshold there has been jacked up to if only 0.1% pass,
the script doesn't fail.

(Note that your 8859-1 locales don't have the same problem, and yet they
have the NBSP character same as the 8859-2 ones. I wonder if the
definition of 8859-2 changed at some point, and these locale definitions
didn't get fully updated. Or maybe they all come from the same original
definition, and the person who wrote 8859-2 differed from the one who
wrote 8859-1, and wasn't as clued in, or they just were having a bad
day, or ...)

[snip]

But these are real defects that I believe should be reported to the OS
vendor.

This page describes how to submit a bug report to the NetBSD project​:

#####
http​://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd
#####

I would be willing to be the submitter of such a bug report, but I would
need​:

1. From Carlos​:

a. The NetBSD release where you encountered the problem;

b. Output of 'uname -a' on the smoke-testing rig.

2. From khw​:

a. Text for the "Full Description" box on that bug reporting page.*

b. Text for the "How to repeat the problem" and "Fix to the problem if
known" boxes on that page, if appropriate.

*Karl, is there is some boilerplate text we could use in submitting such
locale-related bug reports? If so, that would facilitate preparation of
such reports in the future.

So, if you all can supply the requested information, I will submit a
report to NetBSD.

Thank you very much.

--
James E Keenan (jkeenan@​cpan.org)

NetBSD Release​:
NetBSD 7.1

uname -a​:
NetBSD cjg-netbsd7.localdomain 7.1 NetBSD 7.1 (GENERIC.201703111743Z) amd64

@p5pRT
Copy link
Author

p5pRT commented Jul 23, 2017

From @khwilliamson

On 07/18/2017 09​:37 PM, Carlos Guevara wrote​:

No problem.

Reports attached.

That didn't fix it. I think it's a casing problem, where I was
expecting NetBSD to be in all lowercase. Try the attached, please.

On Mon, Jul 17, 2017 at 4​:40 PM, Karl Williamson
<public@​khwilliamson.com <mailto​:public@​khwilliamson.com>> wrote​:

On 07/17/2017 02&#8203;:43 PM\, Karl Williamson wrote&#8203;:

    Fixing that also correctly showed why netbsd is failing this
    test\.  8% of the locales on your system\, all of them being the
    ISO 8859\-2 type\, say that a No\-break space \(NBSP\) character is
    graphic\.  A graphic character is defined as something that would
    use ink when being printed\, but a NBSP is just empty space with
    the special property that the words on either side of it
    shouldn't be split across lines when being output to\, say\, a
    display\.



After a couple more minutes of thought \(less than I thought would be
necessary\)\, I think I have a solution\.  Please run the attached
script\, like before\.

@p5pRT
Copy link
Author

p5pRT commented Jul 23, 2017

From @khwilliamson

locale.t

@p5pRT
Copy link
Author

p5pRT commented Jul 24, 2017

From carlos@carlosguevara.com

On Sun, Jul 23, 2017 at 12​:00 AM, karl williamson via RT <
perlbug-followup@​perl.org> wrote​:

On 07/18/2017 09​:37 PM, Carlos Guevara wrote​:

No problem.

Reports attached.

That didn't fix it. I think it's a casing problem, where I was
expecting NetBSD to be in all lowercase. Try the attached, please.

On Mon, Jul 17, 2017 at 4​:40 PM, Karl Williamson
<public@​khwilliamson.com <mailto​:public@​khwilliamson.com>> wrote​:

On 07/17/2017 02&#8203;:43 PM\, Karl Williamson wrote&#8203;:

    Fixing that also correctly showed why netbsd is failing this
    test\.  8% of the locales on your system\, all of them being the
    ISO 8859\-2 type\, say that a No\-break space \(NBSP\) character is
    graphic\.  A graphic character is defined as something that would
    use ink when being printed\, but a NBSP is just empty space with
    the special property that the words on either side of it
    shouldn't be split across lines when being output to\, say\, a
    display\.



After a couple more minutes of thought \(less than I thought would be
necessary\)\, I think I have a solution\.  Please run the attached
script\, like before\.

No problem.

Reports attached.

@p5pRT
Copy link
Author

p5pRT commented Jul 24, 2017

From carlos@carlosguevara.com

Summary of my perl5 (revision 5 version 27 subversion 3) configuration​:
  Commit id​: 0397beb
  Platform​:
  osname=netbsd
  osvers=7.1
  archname=amd64-netbsd-thread-multi
  uname='netbsd cjg-netbsd7.localdomain 7.1 netbsd 7.1 (generic.201703111743z) amd64 '
  config_args='-des -Dusedevel -Duseithreads -Duse64bitint'
  hint=recommended
  useposix=true
  d_sigaction=define
  useithreads=define
  usemultiplicity=define
  use64bitint=define
  use64bitall=define
  uselongdouble=undef
  usemymalloc=n
  default_inc_excludes_dot=define
  bincompat5005=undef
  Compiler​:
  cc='cc'
  ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include -D_FORTIFY_SOURCE=2'
  optimize='-O'
  cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include'
  ccversion=''
  gccversion='4.8.5'
  gccosandvers=''
  intsize=4
  longsize=8
  ptrsize=8
  doublesize=8
  byteorder=12345678
  doublekind=3
  d_longlong=define
  longlongsize=8
  d_longdbl=define
  longdblsize=16
  longdblkind=3
  ivtype='long'
  ivsize=8
  nvtype='double'
  nvsize=8
  Off_t='off_t'
  lseeksize=8
  alignbytes=8
  prototype=define
  Linker and Libraries​:
  ld='cc'
  ldflags =' -Wl,-rpath,/usr/pkg/lib -Wl,-rpath,/usr/local/lib -fstack-protector -L/usr/pkg/lib'
  libpth=/usr/include/gcc-4.8 /usr/lib /usr/pkg/lib /lib
  libs=-lpthread -lm -lcrypt -lutil -lc -lposix
  perllibs=-lpthread -lm -lcrypt -lutil -lc -lposix
  libc=/lib/libc.so
  so=so
  useshrplib=false
  libperl=libperl.a
  gnulibc_version=''
  Dynamic Linking​:
  dlsrc=dl_dlopen.xs
  dlext=so
  d_dlsymun=undef
  ccdlflags='-Wl,-E '
  cccdlflags='-DPIC -fPIC '
  lddlflags='-shared -L/usr/pkg/lib -fstack-protector'

Characteristics of this binary (from libperl)​:
  Compile-time options​:
  HAS_TIMES
  MULTIPLICITY
  PERLIO_LAYERS
  PERL_COPY_ON_WRITE
  PERL_DONT_CREATE_GVSV
  PERL_IMPLICIT_CONTEXT
  PERL_MALLOC_WRAP
  PERL_OP_PARENT
  PERL_PRESERVE_IVUV
  PERL_USE_DEVEL
  USE_64_BIT_ALL
  USE_64_BIT_INT
  USE_ITHREADS
  USE_LARGE_FILES
  USE_LOCALE
  USE_LOCALE_COLLATE
  USE_LOCALE_CTYPE
  USE_LOCALE_NUMERIC
  USE_LOCALE_TIME
  USE_PERLIO
  USE_PERL_ATOF
  USE_REENTRANT_API
  Built under netbsd
  Compiled at Jul 23 2017 22​:24​:11
  @​INC​:
  lib
  /usr/lib/perl5/site_perl/5.27.3/amd64-netbsd-thread-multi
  /usr/lib/perl5/site_perl/5.27.3
  /usr/lib/perl5/5.27.3/amd64-netbsd-thread-multi
  /usr/lib/perl5/5.27.3

@p5pRT
Copy link
Author

p5pRT commented Jul 24, 2017

@p5pRT
Copy link
Author

p5pRT commented Jul 31, 2017

From @khwilliamson

On 07/23/2017 09​:41 PM, Carlos Guevara wrote​:

On Sun, Jul 23, 2017 at 12​:00 AM, karl williamson via RT
<perlbug-followup@​perl.org <mailto​:perlbug-followup@​perl.org>> wrote​:

On 07/18/2017 09&#8203;:37 PM\, Carlos Guevara wrote&#8203;:
 > No problem\.
 >
 > Reports attached\.

That didn't fix it\.  I think it's a casing problem\, where I was
expecting NetBSD to be in all lowercase\.  Try the attached\, please\.
 >
 >
 > On Mon\, Jul 17\, 2017 at 4&#8203;:40 PM\, Karl Williamson
 > \<public@&#8203;khwilliamson\.com \<mailto&#8203;:public@&#8203;khwilliamson\.com>
\<mailto&#8203;:public@&#8203;khwilliamson\.com \<mailto&#8203;:public@&#8203;khwilliamson\.com>>>
wrote&#8203;:
 >
 >     On 07/17/2017 02&#8203;:43 PM\, Karl Williamson wrote&#8203;:
 >
 >         Fixing that also correctly showed why netbsd is failing this
 >         test\.  8% of the locales on your system\, all of them
being the
 >         ISO 8859\-2 type\, say that a No\-break space \(NBSP\)
character is
 >         graphic\.  A graphic character is defined as something
that would
 >         use ink when being printed\, but a NBSP is just empty
space with
 >         the special property that the words on either side of it
 >         shouldn't be split across lines when being output to\, say\, a
 >         display\.
 >
 >
 >
 >     After a couple more minutes of thought \(less than I thought
would be
 >     necessary\)\, I think I have a solution\.  Please run the attached
 >     script\, like before\.
 >
 >

No problem.

Reports attached.

When I finally got around to looking at why my file didn't fix the
problem, I realized I had misspelled a locale name. A new test file is
attached.

@p5pRT
Copy link
Author

p5pRT commented Jul 31, 2017

From @khwilliamson

locale.t

@p5pRT
Copy link
Author

p5pRT commented Jul 31, 2017

From carlos@carlosguevara.com

On Sun, Jul 30, 2017 at 11​:41 PM, karl williamson via RT <
perlbug-followup@​perl.org> wrote​:

On 07/23/2017 09​:41 PM, Carlos Guevara wrote​:

On Sun, Jul 23, 2017 at 12​:00 AM, karl williamson via RT
<perlbug-followup@​perl.org <mailto​:perlbug-followup@​perl.org>> wrote​:

On 07/18/2017 09&#8203;:37 PM\, Carlos Guevara wrote&#8203;:
 > No problem\.
 >
 > Reports attached\.

That didn't fix it\.  I think it's a casing problem\, where I was
expecting NetBSD to be in all lowercase\.  Try the attached\, please\.
 >
 >
 > On Mon\, Jul 17\, 2017 at 4&#8203;:40 PM\, Karl Williamson
 > \<public@&#8203;khwilliamson\.com \<mailto&#8203;:public@&#8203;khwilliamson\.com>
\<mailto&#8203;:public@&#8203;khwilliamson\.com \<mailto&#8203;:public@&#8203;khwilliamson\.com>>>
wrote&#8203;:
 >
 >     On 07/17/2017 02&#8203;:43 PM\, Karl Williamson wrote&#8203;:
 >
 >         Fixing that also correctly showed why netbsd is failing

this

 >         test\.  8% of the locales on your system\, all of them
being the
 >         ISO 8859\-2 type\, say that a No\-break space \(NBSP\)
character is
 >         graphic\.  A graphic character is defined as something
that would
 >         use ink when being printed\, but a NBSP is just empty
space with
 >         the special property that the words on either side of it
 >         shouldn't be split across lines when being output to\,

say, a

 >         display\.
 >
 >
 >
 >     After a couple more minutes of thought \(less than I thought
would be
 >     necessary\)\, I think I have a solution\.  Please run the

attached

 >     script\, like before\.
 >
 >

No problem.

Reports attached.

When I finally got around to looking at why my file didn't fix the
problem, I realized I had misspelled a locale name. A new test file is
attached.

No problem.

Reports attached.

@p5pRT
Copy link
Author

p5pRT commented Jul 31, 2017

From carlos@carlosguevara.com

Summary of my perl5 (revision 5 version 27 subversion 3) configuration​:
  Commit id​: fd998cb
  Platform​:
  osname=netbsd
  osvers=7.1
  archname=amd64-netbsd-thread-multi
  uname='netbsd cjg-netbsd7.localdomain 7.1 netbsd 7.1 (generic.201703111743z) amd64 '
  config_args='-des -Dusedevel -Duseithreads -Duse64bitint'
  hint=recommended
  useposix=true
  d_sigaction=define
  useithreads=define
  usemultiplicity=define
  use64bitint=define
  use64bitall=define
  uselongdouble=undef
  usemymalloc=n
  default_inc_excludes_dot=define
  bincompat5005=undef
  Compiler​:
  cc='cc'
  ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include -D_FORTIFY_SOURCE=2'
  optimize='-O'
  cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include'
  ccversion=''
  gccversion='4.8.5'
  gccosandvers=''
  intsize=4
  longsize=8
  ptrsize=8
  doublesize=8
  byteorder=12345678
  doublekind=3
  d_longlong=define
  longlongsize=8
  d_longdbl=define
  longdblsize=16
  longdblkind=3
  ivtype='long'
  ivsize=8
  nvtype='double'
  nvsize=8
  Off_t='off_t'
  lseeksize=8
  alignbytes=8
  prototype=define
  Linker and Libraries​:
  ld='cc'
  ldflags =' -Wl,-rpath,/usr/pkg/lib -Wl,-rpath,/usr/local/lib -fstack-protector -L/usr/pkg/lib'
  libpth=/usr/include/gcc-4.8 /usr/lib /usr/pkg/lib /lib
  libs=-lpthread -lm -lcrypt -lutil -lc -lposix
  perllibs=-lpthread -lm -lcrypt -lutil -lc -lposix
  libc=/lib/libc.so
  so=so
  useshrplib=false
  libperl=libperl.a
  gnulibc_version=''
  Dynamic Linking​:
  dlsrc=dl_dlopen.xs
  dlext=so
  d_dlsymun=undef
  ccdlflags='-Wl,-E '
  cccdlflags='-DPIC -fPIC '
  lddlflags='-shared -L/usr/pkg/lib -fstack-protector'

Characteristics of this binary (from libperl)​:
  Compile-time options​:
  HAS_TIMES
  MULTIPLICITY
  PERLIO_LAYERS
  PERL_COPY_ON_WRITE
  PERL_DONT_CREATE_GVSV
  PERL_IMPLICIT_CONTEXT
  PERL_MALLOC_WRAP
  PERL_OP_PARENT
  PERL_PRESERVE_IVUV
  PERL_USE_DEVEL
  USE_64_BIT_ALL
  USE_64_BIT_INT
  USE_ITHREADS
  USE_LARGE_FILES
  USE_LOCALE
  USE_LOCALE_COLLATE
  USE_LOCALE_CTYPE
  USE_LOCALE_NUMERIC
  USE_LOCALE_TIME
  USE_PERLIO
  USE_PERL_ATOF
  USE_REENTRANT_API
  Built under netbsd
  Compiled at Jul 31 2017 00​:14​:47
  @​INC​:
  lib
  /usr/lib/perl5/site_perl/5.27.3/amd64-netbsd-thread-multi
  /usr/lib/perl5/site_perl/5.27.3
  /usr/lib/perl5/5.27.3/amd64-netbsd-thread-multi
  /usr/lib/perl5/5.27.3

@p5pRT
Copy link
Author

p5pRT commented Jul 31, 2017

@p5pRT
Copy link
Author

p5pRT commented Aug 7, 2017

From @khwilliamson

On 07/22/2017 03​:49 PM, Carlos Guevara wrote​:

On Thu, Jul 20, 2017 at 8​:13 AM, James E Keenan via RT
<perlbug-followup@​perl.org <mailto​:perlbug-followup@​perl.org>> wrote​:

The changes to locale.t are now in blead. This should fix this portion
of the ticket, but I'll await confirmation. I don't know what to do
about the other portions. Jim?

On Mon\, 17 Jul 2017 20&#8203;:46&#8203;:07 GMT\, public@&#8203;khwilliamson\.com
\<mailto&#8203;:public@&#8203;khwilliamson\.com> wrote&#8203;:
 > \[snip\]
 >
 > Fixing that also correctly showed why netbsd is failing this
test\.  8%
 > of the locales on your system\, all of them being the ISO 8859\-2 type\,
 > say that a No\-break space \(NBSP\) character is graphic\.  A graphic
 > character is defined as something that would use ink when being
printed\,
 > but a NBSP is just empty space with the special property that the
words
 > on either side of it shouldn't be split across lines when being
output
 > to\, say\, a display\.
 >
 > \[snip\]

 >  What I decided rather arbitrarily\, is
 > if 95% or more of the locales pass an individual test in this script\,
 > then the failure is more likely to be in the failing locales than
it is
 > to be in Perl\, and so the test passes\.  But in your system\, only
92% of
 > all the locales pass this one test\.  It turns out that it is a bug in
 > your locales\, but the script did its job and notified us of a
potential
 > problem\.  On other systems\, I've ended up adjusting the
threshold\.  On
 > AIX machines\, almost all the locales have the same defect as your
8859\-2
 > ones do\.  The threshold there has been jacked up to if only 0\.1%
pass\,
 > the script doesn't fail\.
 >
 > \(Note that your 8859\-1 locales don't have the same problem\, and
yet they
 > have the NBSP character same as the 8859\-2 ones\.  I wonder if the
 > definition of 8859\-2 changed at some point\, and these locale
definitions
 > didn't get fully updated\.  Or maybe they all come from the same
original
 > definition\, and the person who wrote 8859\-2 differed from the one who
 > wrote 8859\-1\, and wasn't as clued in\, or they just were having a bad
 > day\, or \.\.\.\)
 >
 > \[snip\]

 > But these are real defects that I believe should be reported to
the OS
 > vendor\.
 >

This page describes how to submit a bug report to the NetBSD project&#8203;:

\#\#\#\#\#
http&#8203;://www\.netbsd\.org/cgi\-bin/sendpr\.cgi?gndb=netbsd
\<http&#8203;://www\.netbsd\.org/cgi\-bin/sendpr\.cgi?gndb=netbsd>
\#\#\#\#\#

I would be willing to be the submitter of such a bug report\, but I
would need&#8203;:

1\. From Carlos&#8203;:

a\. The NetBSD release where you encountered the problem;

b\. Output of 'uname \-a' on the smoke\-testing rig\.

2\. From khw&#8203;:

a\. Text for the "Full Description" box on that bug reporting page\.\*

b\. Text for the "How to repeat the problem" and "Fix to the problem
if known" boxes on that page\, if appropriate\.

\*Karl\, is there is some boilerplate text we could use in submitting
such locale\-related bug reports?  If so\, that would facilitate
preparation of such reports in the future\.

So\, if you all can supply the requested information\, I will submit a
report to NetBSD\.

Thank you very much\.

\-\-
James E Keenan \(jkeenan@&#8203;cpan\.org \<mailto&#8203;:jkeenan@&#8203;cpan\.org>\)

NetBSD Release​:
NetBSD 7.1

uname -a​:
NetBSD cjg-netbsd7.localdomain 7.1 NetBSD 7.1 (GENERIC.201703111743Z) amd64

@p5pRT
Copy link
Author

p5pRT commented Aug 8, 2017

From @jkeenan

On Mon, 07 Aug 2017 17​:45​:42 GMT, public@​khwilliamson.com wrote​:

On 07/22/2017 03​:49 PM, Carlos Guevara wrote​:

On Thu, Jul 20, 2017 at 8​:13 AM, James E Keenan via RT
<perlbug-followup@​perl.org <mailto​:perlbug-followup@​perl.org>> wrote​:

The changes to locale.t are now in blead. This should fix this
portion
of the ticket, but I'll await confirmation. I don't know what to do
about the other portions. Jim?

NetBSD Release​:
NetBSD 7.1

uname -a​:
NetBSD cjg-netbsd7.localdomain 7.1 NetBSD 7.1 (GENERIC.201703111743Z)
amd64

The only other smoke testing failure being reported on this platform (http​://perl.develop-help.com/raw/?id=200535) looks like this​:

#####
Failures​: (common-args) none
[perlio] -DDEBUGGING -Duseithreads
Inconsistent test results (between TEST and harness)​:
../cpan/Sys-Syslog/t/syslog.t.... FAILED at test 147
#####

I confess that I never quite know how to react to cases where t/TEST and t/harness come up with different results. I only smoke with t/harness because the VMs in which I smoke are situated on my everyday laptop. And I only have the energy to focus on tests which are failing very consistently.

That's even more true on platforms like this one where we're lucky to have one or two people submitting smoke reports -- much less someone who can actually diagnose and correct problems.

So, I'm going to mark this ticket Resolved because we (P5P contributors) have accomplished as much as we reasonably can. (Send me some appropriate language and I'll open up a bug ticket with NetBSD about the locales.)

Thank you very much.

--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Aug 8, 2017

@jkeenan - Status changed from 'open' to 'resolved'

@p5pRT p5pRT closed this as completed Aug 8, 2017
@p5pRT
Copy link
Author

p5pRT commented Aug 8, 2017

From @iabyn

On Mon, Aug 07, 2017 at 07​:27​:32PM -0700, James E Keenan via RT wrote​:

I confess that I never quite know how to react to cases where t/TEST and
t/harness come up with different results.

There are two common reasons for a difference. First the failure may be
intermittent, and whether it failed under TEST or harness is just random
(e.g. random hash seed, race condition on parallel test etc).
Secondly, TEST sets PERL_DESTRUCT_LEVEL=2 (which harness doesn't) which
tends to show up more problems.

--
Technology is dominated by two types of people​: those who understand what
they do not manage, and those who manage what they do not understand.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant