Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
f1e63545
Commit
f1e63545
authored
May 22, 1997
by
Guido van Rossum
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
The usual
parent
c2d14176
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
244 additions
and
496 deletions
+244
-496
Lib/dos-8x3/macurl2p.py
Lib/dos-8x3/macurl2p.py
+6
-1
Lib/dos-8x3/test_aud.py
Lib/dos-8x3/test_aud.py
+6
-5
Lib/dos-8x3/test_fcn.py
Lib/dos-8x3/test_fcn.py
+4
-4
Lib/dos-8x3/test_ima.py
Lib/dos-8x3/test_ima.py
+5
-12
Lib/dos-8x3/test_ope.py
Lib/dos-8x3/test_ope.py
+3
-75
Lib/dos-8x3/test_reg.py
Lib/dos-8x3/test_reg.py
+1
-1
Lib/dos-8x3/test_sel.py
Lib/dos-8x3/test_sel.py
+2
-2
Lib/dos-8x3/test_soc.py
Lib/dos-8x3/test_soc.py
+37
-34
Lib/dos-8x3/test_str.py
Lib/dos-8x3/test_str.py
+58
-114
Lib/dos_8x3/macurl2p.py
Lib/dos_8x3/macurl2p.py
+6
-1
Lib/dos_8x3/test_aud.py
Lib/dos_8x3/test_aud.py
+6
-5
Lib/dos_8x3/test_fcn.py
Lib/dos_8x3/test_fcn.py
+4
-4
Lib/dos_8x3/test_ima.py
Lib/dos_8x3/test_ima.py
+5
-12
Lib/dos_8x3/test_ope.py
Lib/dos_8x3/test_ope.py
+3
-75
Lib/dos_8x3/test_reg.py
Lib/dos_8x3/test_reg.py
+1
-1
Lib/dos_8x3/test_sel.py
Lib/dos_8x3/test_sel.py
+2
-2
Lib/dos_8x3/test_soc.py
Lib/dos_8x3/test_soc.py
+37
-34
Lib/dos_8x3/test_str.py
Lib/dos_8x3/test_str.py
+58
-114
No files found.
Lib/dos-8x3/macurl2p.py
View file @
f1e63545
...
@@ -44,8 +44,13 @@ def pathname2url(pathname):
...
@@ -44,8 +44,13 @@ def pathname2url(pathname):
if
'/'
in
pathname
:
if
'/'
in
pathname
:
raise
RuntimeError
,
"Cannot convert pathname containing slashes"
raise
RuntimeError
,
"Cannot convert pathname containing slashes"
components
=
string
.
split
(
pathname
,
':'
)
components
=
string
.
split
(
pathname
,
':'
)
# Remove empty first and/or last component
if
components
[
0
]
==
''
:
del
components
[
0
]
if
components
[
-
1
]
==
''
:
del
components
[
-
1
]
# Replace empty string ('::') by .. (will result in '/../' later)
# Replace empty string ('::') by .. (will result in '/../' later)
for
i
in
range
(
1
,
len
(
components
)):
for
i
in
range
(
len
(
components
)):
if
components
[
i
]
==
''
:
if
components
[
i
]
==
''
:
components
[
i
]
=
'..'
components
[
i
]
=
'..'
# Truncate names longer than 31 bytes
# Truncate names longer than 31 bytes
...
...
Lib/dos-8x3/test_aud.py
View file @
f1e63545
...
@@ -171,11 +171,12 @@ def testmul(data):
...
@@ -171,11 +171,12 @@ def testmul(data):
def
testratecv
(
data
):
def
testratecv
(
data
):
if
verbose
:
if
verbose
:
print
'ratecv'
print
'ratecv'
state
=
(
-
8000
,
((
256
,
512
),))
state
=
None
if
audioop
.
ratecv
(
data
[
0
],
1
,
1
,
8000
,
16000
,
state
)
!=
\
d1
,
state
=
audioop
.
ratecv
(
data
[
0
],
1
,
1
,
8000
,
16000
,
state
)
(
'
\
001
\
000
\
000
\
001
\
001
\
002
'
,
state
):
d2
,
state
=
audioop
.
ratecv
(
data
[
0
],
1
,
1
,
8000
,
16000
,
state
)
return
0
if
d1
+
d2
!=
'
\
000
\
000
\
001
\
001
\
002
\
001
\
000
\
000
\
001
\
001
\
002
'
:
return
0
return
1
return
1
def
testreverse
(
data
):
def
testreverse
(
data
):
...
...
Lib/dos-8x3/test_fcn.py
View file @
f1e63545
...
@@ -12,17 +12,17 @@ filename = '/tmp/delete-me'
...
@@ -12,17 +12,17 @@ filename = '/tmp/delete-me'
# the example from the library docs
# the example from the library docs
f
=
open
(
filename
,
'w'
)
f
=
open
(
filename
,
'w'
)
rv
=
fcntl
.
fcntl
(
f
.
fileno
(),
FCNTL
.
O_NDELAY
,
1
)
rv
=
fcntl
.
fcntl
(
f
.
fileno
(),
FCNTL
.
F_SETFL
,
os
.
O_NONBLOCK
)
if
verbose
:
if
verbose
:
print
'Status from fnctl with O_N
DELAY
: '
,
rv
print
'Status from fnctl with O_N
ONBLOCK
: '
,
rv
lockdata
=
struct
.
pack
(
'hhllhh'
,
FCNTL
.
F_WRLCK
,
0
,
0
,
0
,
0
,
0
)
lockdata
=
struct
.
pack
(
'hhllhh'
,
FCNTL
.
F_WRLCK
,
0
,
0
,
0
,
0
,
0
)
if
verbose
:
if
verbose
:
print
'struct.pack: '
,
lockdata
print
'struct.pack: '
,
`lockdata`
rv
=
fcntl
.
fcntl
(
f
.
fileno
(),
FCNTL
.
F_SETLKW
,
lockdata
)
rv
=
fcntl
.
fcntl
(
f
.
fileno
(),
FCNTL
.
F_SETLKW
,
lockdata
)
if
verbose
:
if
verbose
:
print
'String from fcntl with F_SETLKW: '
,
rv
print
'String from fcntl with F_SETLKW: '
,
`rv`
f
.
close
()
f
.
close
()
os
.
unlink
(
filename
)
os
.
unlink
(
filename
)
Lib/dos-8x3/test_ima.py
View file @
f1e63545
...
@@ -152,20 +152,13 @@ def getimage(name):
...
@@ -152,20 +152,13 @@ def getimage(name):
return
(
image
,
sizes
[
0
],
sizes
[
1
])
return
(
image
,
sizes
[
0
],
sizes
[
1
])
def
get_qualified_path
(
name
):
def
get_qualified_path
(
name
):
""" return a more qualified path to name
contructed from argv[1]
"""
""" return a more qualified path to name"""
import
sys
import
sys
import
os
import
os
import
string
for
dir
in
sys
.
path
:
fullname
=
os
.
path
.
join
(
dir
,
name
)
# get a more qualified path component of the script...
if
os
.
path
.
exists
(
fullname
):
if
__name__
==
'__main__'
:
return
fullname
ourname
=
sys
.
argv
[
0
]
else
:
# ...or the full path of the module
ourname
=
sys
.
modules
[
__name__
].
__file__
parts
=
string
.
splitfields
(
ourname
,
os
.
sep
)
parts
[
-
1
]
=
name
name
=
string
.
joinfields
(
parts
,
os
.
sep
)
return
name
return
name
# rgbimg (unlike imgfile) is portable to platforms other than SGI.
# rgbimg (unlike imgfile) is portable to platforms other than SGI.
...
...
Lib/dos-8x3/test_ope.py
View file @
f1e63545
import
operator
# Python test set -- part 3, built-in operations.
import
sys
def
test
(
name
,
input
,
output
,
*
args
):
print
'testing:'
,
name
f
=
getattr
(
operator
,
name
)
params
=
(
input
,)
+
args
try
:
val
=
apply
(
f
,
params
)
except
:
val
=
sys
.
exc_type
if
val
<>
output
:
print
'%s%s = %s: %s expected'
%
(
f
.
__name__
,
params
,
`val`
,
`output`
)
test
(
'abs'
,
-
1
,
1
)
print
'3. Operations'
test
(
'add'
,
3
,
7
,
4
)
print
'XXX Not yet implemented'
test
(
'and_'
,
0xf
,
0xa
,
0xa
)
test
(
'concat'
,
'py'
,
'python'
,
'thon'
)
test
(
'countOf'
,
[
1
,
2
,
1
,
3
,
1
,
4
],
1
,
3
)
a
=
[
4
,
3
,
2
,
1
]
test
(
'delitem'
,
a
,
None
,
1
)
if
a
<>
[
4
,
2
,
1
]:
print
'delitem() failed'
a
=
range
(
10
)
test
(
'delslice'
,
a
,
None
,
2
,
8
)
if
a
<>
[
0
,
1
,
8
,
9
]:
print
'delslice() failed'
a
=
range
(
10
)
test
(
'div'
,
5
,
2
,
2
)
test
(
'getitem'
,
a
,
2
,
2
)
test
(
'getslice'
,
a
,
[
4
,
5
],
4
,
6
)
test
(
'indexOf'
,
[
4
,
3
,
2
,
1
],
1
,
3
)
test
(
'inv'
,
4
,
-
5
)
test
(
'isCallable'
,
4
,
0
)
test
(
'isCallable'
,
operator
.
isCallable
,
1
)
test
(
'isMappingType'
,
operator
.
isMappingType
,
0
)
test
(
'isMappingType'
,
operator
.
__dict__
,
1
)
test
(
'isNumberType'
,
8.3
,
1
)
test
(
'isNumberType'
,
dir
(),
0
)
test
(
'isSequenceType'
,
dir
(),
1
)
test
(
'isSequenceType'
,
'yeahbuddy'
,
1
)
test
(
'isSequenceType'
,
3
,
0
)
test
(
'lshift'
,
5
,
10
,
1
)
test
(
'mod'
,
5
,
1
,
2
)
test
(
'mul'
,
5
,
10
,
2
)
test
(
'neg'
,
5
,
-
5
)
test
(
'or_'
,
0xa
,
0xf
,
0x5
)
test
(
'pos'
,
-
5
,
-
5
)
a
=
range
(
3
)
test
(
'repeat'
,
a
,
a
+
a
,
2
)
test
(
'rshift'
,
5
,
2
,
1
)
test
(
'sequenceIncludes'
,
range
(
4
),
1
,
2
)
test
(
'sequenceIncludes'
,
range
(
4
),
0
,
5
)
test
(
'setitem'
,
a
,
None
,
0
,
2
)
if
a
<>
[
2
,
1
,
2
]:
print
'setitem() failed'
a
=
range
(
4
)
test
(
'setslice'
,
a
,
None
,
1
,
3
,
[
2
,
1
])
if
a
<>
[
0
,
2
,
1
,
3
]:
print
'setslice() failed:'
,
a
test
(
'sub'
,
5
,
2
,
3
)
test
(
'truth'
,
5
,
1
)
test
(
'truth'
,
[],
0
)
test
(
'xor'
,
0xb
,
0x7
,
0xc
)
# some negative tests
test
(
'indexOf'
,
[
4
,
3
,
2
,
1
],
ValueError
,
9
)
Lib/dos-8x3/test_reg.py
View file @
f1e63545
...
@@ -48,7 +48,7 @@ print 'case folded search:', cre.search('HELLO WORLD')
...
@@ -48,7 +48,7 @@ print 'case folded search:', cre.search('HELLO WORLD')
print '
__members__
:
', cre.__members__
print '
__members__
:
', cre.__members__
print '
regs
:
', cre.regs
print '
regs
:
', cre.regs
print '
last
:
', cre.last
print '
last
:
', cre.last
print '
translate
:
',
`cre.translate`
print '
translate
:
',
len(cre.translate)
print '
givenpat
:
', cre.givenpat
print '
givenpat
:
', cre.givenpat
print '
match
with
pos
:
', cre.match('
hello
world
', 7)
print '
match
with
pos
:
', cre.match('
hello
world
', 7)
...
...
Lib/dos-8x3/test_sel.py
View file @
f1e63545
...
@@ -35,9 +35,9 @@ else:
...
@@ -35,9 +35,9 @@ else:
def
test
():
def
test
():
import
sys
import
sys
if
sys
.
platform
in
(
'win'
,
'mac'
):
if
sys
.
platform
[:
3
]
in
(
'win'
,
'mac'
):
if
verbose
:
if
verbose
:
print
"Can't test select easily
"
print
"Can't test select easily
on"
,
sys
.
platform
return
return
cmd
=
'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done'
cmd
=
'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done'
p
=
os
.
popen
(
cmd
,
'r'
)
p
=
os
.
popen
(
cmd
,
'r'
)
...
...
Lib/dos-8x3/test_soc.py
View file @
f1e63545
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
# sktobj.shutdown()
# sktobj.shutdown()
from
test_support
import
verbose
from
test_support
import
verbose
,
TestFailed
import
socket
import
socket
import
os
import
os
import
time
import
time
...
@@ -22,13 +22,13 @@ def missing_ok(str):
...
@@ -22,13 +22,13 @@ def missing_ok(str):
print
socket
.
error
print
socket
.
error
print
socket
.
AF_INET
socket
.
AF_INET
print
socket
.
SOCK_STREAM
socket
.
SOCK_STREAM
print
socket
.
SOCK_DGRAM
socket
.
SOCK_DGRAM
print
socket
.
SOCK_RAW
socket
.
SOCK_RAW
print
socket
.
SOCK_RDM
socket
.
SOCK_RDM
print
socket
.
SOCK_SEQPACKET
socket
.
SOCK_SEQPACKET
for
optional
in
(
"AF_UNIX"
,
for
optional
in
(
"AF_UNIX"
,
...
@@ -65,6 +65,7 @@ for optional in ("AF_UNIX",
...
@@ -65,6 +65,7 @@ for optional in ("AF_UNIX",
):
):
missing_ok
(
optional
)
missing_ok
(
optional
)
socktype
=
socket
.
socket_type
hostname
=
socket
.
gethostname
()
hostname
=
socket
.
gethostname
()
ip
=
socket
.
gethostbyname
(
hostname
)
ip
=
socket
.
gethostbyname
(
hostname
)
hname
,
aliases
,
ipaddrs
=
socket
.
gethostbyaddr
(
ip
)
hname
,
aliases
,
ipaddrs
=
socket
.
gethostbyaddr
(
ip
)
...
@@ -89,43 +90,45 @@ except socket.error:
...
@@ -89,43 +90,45 @@ except socket.error:
pass
pass
canfork
=
hasattr
(
os
,
'fork'
)
try
:
try
:
PORT
=
50007
PORT
=
50007
if
os
.
fork
():
if
not
canfork
or
os
.
fork
():
# parent is server
# parent is server
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_STREAM
)
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_STREAM
)
s
.
bind
(
hostname
,
PORT
)
s
.
bind
(
hostname
,
PORT
)
s
.
listen
(
1
)
s
.
listen
(
1
)
if
verbose
:
if
verbose
:
print
'parent accepting'
print
'parent accepting'
conn
,
addr
=
s
.
accept
()
if
canfork
:
if
verbose
:
conn
,
addr
=
s
.
accept
()
print
'connected by'
,
addr
if
verbose
:
# couple of interesting tests while we've got a live socket
print
'connected by'
,
addr
f
=
conn
.
fileno
()
# couple of interesting tests while we've got a live socket
if
verbose
:
f
=
conn
.
fileno
()
print
'fileno:'
,
f
p
=
conn
.
getpeername
()
if
verbose
:
print
'peer:'
,
p
n
=
conn
.
getsockname
()
if
verbose
:
print
'sockname:'
,
n
f
=
conn
.
makefile
()
if
verbose
:
print
'file obj:'
,
f
while
1
:
data
=
conn
.
recv
(
1024
)
if
not
data
:
break
if
verbose
:
if
verbose
:
print
'received:'
,
data
print
'fileno:'
,
f
conn
.
send
(
data
)
p
=
conn
.
getpeername
()
conn
.
close
()
if
verbose
:
print
'peer:'
,
p
n
=
conn
.
getsockname
()
if
verbose
:
print
'sockname:'
,
n
f
=
conn
.
makefile
()
if
verbose
:
print
'file obj:'
,
f
while
1
:
data
=
conn
.
recv
(
1024
)
if
not
data
:
break
if
verbose
:
print
'received:'
,
data
conn
.
send
(
data
)
conn
.
close
()
else
:
else
:
try
:
try
:
# child is client
# child is client
time
.
sleep
(
1
)
time
.
sleep
(
5
)
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_STREAM
)
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_STREAM
)
if
verbose
:
if
verbose
:
print
'child connecting'
print
'child connecting'
...
@@ -138,5 +141,5 @@ try:
...
@@ -138,5 +141,5 @@ try:
s
.
close
()
s
.
close
()
finally
:
finally
:
os
.
_exit
(
1
)
os
.
_exit
(
1
)
except
socket
.
error
:
except
socket
.
error
,
msg
:
pass
raise
TestFailed
,
msg
Lib/dos-8x3/test_str.py
View file @
f1e63545
#! /usr/bin/env python
# Sanity checker for time.strftime
import
time
,
calendar
,
sys
,
string
,
os
from
test_support
import
verbose
from
test_support
import
verbose
import
strop
,
sys
def
main
():
def
test
(
name
,
input
,
output
,
*
args
):
global
verbose
now
=
time
.
time
()
strftest
(
now
)
verbose
=
0
# Try a bunch of dates and times, chosen to vary through time of
# day and daylight saving time
for
j
in
range
(
-
5
,
5
):
for
i
in
range
(
25
):
strftest
(
now
+
(
i
+
j
*
100
)
*
23
*
3603
)
def
strftest
(
now
):
if
verbose
:
if
verbose
:
print
"strftime test for"
,
time
.
ctime
(
now
)
print
'string.%s%s =? %s... '
%
(
name
,
(
input
,)
+
args
,
output
),
nowsecs
=
int
(
now
)
f
=
getattr
(
strop
,
name
)
gmt
=
time
.
gmtime
(
now
)
try
:
now
=
time
.
localtime
(
now
)
value
=
apply
(
f
,
(
input
,)
+
args
)
except
:
value
=
sys
.
exc_type
if
value
!=
output
:
if
verbose
:
print
'no'
print
f
,
`input`
,
`output`
,
`value`
else
:
if
verbose
:
print
'yes'
if
now
[
3
]
<
12
:
ampm
=
'AM'
test
(
'atoi'
,
" 1 "
,
1
)
else
:
ampm
=
'PM'
test
(
'atoi'
,
" 1x"
,
ValueError
)
test
(
'atoi'
,
" x1 "
,
ValueError
)
test
(
'atol'
,
" 1 "
,
1L
)
test
(
'atol'
,
" 1x "
,
ValueError
)
test
(
'atol'
,
" x1 "
,
ValueError
)
test
(
'atof'
,
" 1 "
,
1.0
)
test
(
'atof'
,
" 1x "
,
ValueError
)
test
(
'atof'
,
" x1 "
,
ValueError
)
jan1
=
time
.
localtime
(
time
.
mktime
((
now
[
0
],
1
,
1
)
+
(
0
,)
*
6
))
test
(
'capitalize'
,
' hello '
,
' hello '
)
test
(
'capitalize'
,
'hello '
,
'Hello '
)
test
(
'find'
,
'abcdefghiabc'
,
0
,
'abc'
)
test
(
'find'
,
'abcdefghiabc'
,
9
,
'abc'
,
1
)
test
(
'find'
,
'abcdefghiabc'
,
-
1
,
'def'
,
4
)
test
(
'rfind'
,
'abcdefghiabc'
,
9
,
'abc'
)
test
(
'lower'
,
'HeLLo'
,
'hello'
)
test
(
'upper'
,
'HeLLo'
,
'HELLO'
)
if
now
[
8
]:
tz
=
time
.
tzname
[
1
]
transtable
=
'
\
000
\
001
\
002
\
003
\
004
\
005
\
006
\
007
\
010
\
011
\
012
\
013
\
014
\
015
\
016
\
017
\
020
\
021
\
022
\
023
\
024
\
025
\
026
\
027
\
030
\
031
\
032
\
033
\
034
\
035
\
036
\
037
!"#$%&
\
'
()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[
\
\
]^_`xyzdefghijklmnopqrstuvwxyz{|}~
\
177
\
200
\
201
\
202
\
203
\
204
\
205
\
206
\
207
\
210
\
211
\
212
\
213
\
214
\
215
\
216
\
217
\
220
\
221
\
222
\
223
\
224
\
225
\
226
\
227
\
230
\
231
\
232
\
233
\
234
\
235
\
236
\
237
\
240
\
241
\
242
\
243
\
244
\
245
\
246
\
247
\
250
\
251
\
252
\
253
\
254
\
255
\
256
\
257
\
260
\
261
\
262
\
263
\
264
\
265
\
266
\
267
\
270
\
271
\
272
\
273
\
274
\
275
\
276
\
277
\
300
\
301
\
302
\
303
\
304
\
305
\
306
\
307
\
310
\
311
\
312
\
313
\
314
\
315
\
316
\
317
\
320
\
321
\
322
\
323
\
324
\
325
\
326
\
327
\
330
\
331
\
332
\
333
\
334
\
335
\
336
\
337
\
340
\
341
\
342
\
343
\
344
\
345
\
346
\
347
\
350
\
351
\
352
\
353
\
354
\
355
\
356
\
357
\
360
\
361
\
362
\
363
\
364
\
365
\
366
\
367
\
370
\
371
\
372
\
373
\
374
\
375
\
376
\
377
'
else
:
tz
=
time
.
tzname
[
0
]
if
now
[
3
]
>
12
:
clock12
=
now
[
3
]
-
12
test
(
'maketrans'
,
'abc'
,
transtable
,
'xyz'
)
elif
now
[
3
]
>
0
:
clock12
=
now
[
3
]
test
(
'maketrans'
,
'abc'
,
ValueError
,
'xyzq'
)
else
:
clock12
=
12
expectations
=
(
test
(
'split'
,
'this is the split function'
,
(
'%A'
,
calendar
.
day_name
[
now
[
6
]],
'full weekday name'
),
[
'this'
,
'is'
,
'the'
,
'split'
,
'function'
])
(
'%a'
,
calendar
.
day_abbr
[
now
[
6
]],
'abbreviated weekday name'
),
test
(
'split'
,
'a|b|c|d'
,
[
'a'
,
'b'
,
'c'
,
'd'
],
'|'
)
(
'%B'
,
calendar
.
month_name
[
now
[
1
]],
'full month name'
),
test
(
'split'
,
'a|b|c|d'
,
[
'a'
,
'b'
,
'c|d'
],
'|'
,
2
)
(
'%b'
,
calendar
.
month_abbr
[
now
[
1
]],
'abbreviated month name'
),
(
'%h'
,
calendar
.
month_abbr
[
now
[
1
]],
'abbreviated month name'
),
(
'%c'
,
fixasctime
(
time
.
asctime
(
now
)),
'near-asctime() format'
),
(
'%D'
,
'%02d/%02d/%02d'
%
(
now
[
1
],
now
[
2
],
(
now
[
0
]
%
100
)),
'mm/dd/yy'
),
(
'%d'
,
'%02d'
%
now
[
2
],
'day of month as number (00-31)'
),
(
'%e'
,
'%2d'
%
now
[
2
],
'day of month as number, blank padded ( 0-31)'
),
(
'%H'
,
'%02d'
%
now
[
3
],
'hour (00-23)'
),
(
'%I'
,
'%02d'
%
clock12
,
'hour (01-12)'
),
(
'%j'
,
'%03d'
%
now
[
7
],
'julian day (001-366)'
),
(
'%M'
,
'%02d'
%
now
[
4
],
'minute, (00-59)'
),
(
'%m'
,
'%02d'
%
now
[
1
],
'month as number (01-12)'
),
(
'%p'
,
ampm
,
'AM or PM as appropriate'
),
(
'%R'
,
'%02d:%02d'
%
(
now
[
3
],
now
[
4
]),
'%H:%M'
),
(
'%r'
,
'%02d:%02d:%02d %s'
%
(
clock12
,
now
[
4
],
now
[
5
],
ampm
),
'%I:%M:%S %p'
),
(
'%S'
,
'%02d'
%
now
[
5
],
'seconds of current time (00-60)'
),
(
'%T'
,
'%02d:%02d:%02d'
%
(
now
[
3
],
now
[
4
],
now
[
5
]),
'%H:%M:%S'
),
(
'%X'
,
'%02d:%02d:%02d'
%
(
now
[
3
],
now
[
4
],
now
[
5
]),
'%H:%M:%S'
),
(
'%U'
,
'%02d'
%
((
now
[
7
]
+
jan1
[
6
])
/
7
),
'week number of the year (Sun 1st)'
),
(
'%W'
,
'%02d'
%
((
now
[
7
]
+
(
jan1
[
6
]
-
1
)
%
7
)
/
7
),
'week number of the year (Mon 1st)'
),
(
'%w'
,
'%d'
%
((
1
+
now
[
6
])
%
7
),
'weekday as a number (Sun 1st)'
),
(
'%x'
,
'%02d/%02d/%02d'
%
(
now
[
1
],
now
[
2
],
(
now
[
0
]
%
100
)),
'%m/%d/%y %H:%M:%S'
),
(
'%Y'
,
'%d'
%
now
[
0
],
'year with century'
),
(
'%y'
,
'%02d'
%
(
now
[
0
]
%
100
),
'year without century'
),
(
'%Z'
,
tz
,
'time zone name'
),
(
'%%'
,
'%'
,
'single percent sign'
),
)
nonstandard_expectations
=
(
# join now works with any sequence type
(
'%C'
,
'%02d'
%
(
now
[
0
]
/
100
),
'century'
),
class
Sequence
:
# This is for IRIX; on Solaris, %C yields date(1) format.
def
__init__
(
self
):
self
.
seq
=
'wxyz'
# Tough.
def
__len__
(
self
):
return
len
(
self
.
seq
)
(
'%k'
,
'%2d'
%
now
[
3
],
'hour, blank padded ( 0-23)'
),
def
__getitem__
(
self
,
i
):
return
self
.
seq
[
i
]
(
'%s'
,
'%d'
%
nowsecs
,
'seconds since the Epoch in UCT'
),
(
'%3y'
,
'%03d'
%
(
now
[
0
]
%
100
),
'year without century rendered using fieldwidth'
),
(
'%n'
,
'
\
n
'
,
'newline character'
),
(
'%t'
,
'
\
t
'
,
'tab character'
),
)
if
verbose
:
test
(
'join'
,
[
'a'
,
'b'
,
'c'
,
'd'
],
'a b c d'
)
print
"Strftime test, platform: %s, Python version: %s"
%
\
test
(
'join'
,
(
'a'
,
'b'
,
'c'
,
'd'
),
'abcd'
,
''
)
(
sys
.
platform
,
string
.
split
(
sys
.
version
)[
0
]
)
test
(
'join'
,
Sequence
(),
'w x y z'
)
for
e
in
expectations
:
# try a few long ones
try
:
print
strop
.
join
([
'x'
*
100
]
*
100
,
':'
)
result
=
time
.
strftime
(
e
[
0
],
now
)
print
strop
.
join
((
'x'
*
100
,)
*
100
,
':'
)
except
ValueError
,
error
:
print
"Standard '%s' format gave error:"
%
e
[
0
],
error
continue
if
result
==
e
[
1
]:
continue
if
result
[
0
]
==
'%'
:
print
"Does not support standard '%s' format (%s)"
%
(
e
[
0
],
e
[
2
])
else
:
print
"Conflict for %s (%s):"
%
(
e
[
0
],
e
[
2
])
print
" Expected %s, but got %s"
%
(
e
[
1
],
result
)
for
e
in
nonstandard_expectations
:
test
(
'strip'
,
' hello '
,
'hello'
)
try
:
test
(
'lstrip'
,
' hello '
,
'hello '
)
result
=
time
.
strftime
(
e
[
0
],
now
)
test
(
'rstrip'
,
' hello '
,
' hello'
)
except
ValueError
,
result
:
if
verbose
:
print
"Error for nonstandard '%s' format (%s): %s"
%
\
(
e
[
0
],
e
[
2
],
str
(
error
))
continue
if
result
==
e
[
1
]:
if
verbose
:
print
"Supports nonstandard '%s' format (%s)"
%
(
e
[
0
],
e
[
2
])
elif
result
[
0
]
==
'%'
:
if
verbose
:
print
"Does not appear to support '%s' format (%s)"
%
(
e
[
0
],
e
[
2
])
else
:
if
verbose
:
print
"Conflict for nonstandard '%s' format (%s):"
%
(
e
[
0
],
e
[
2
])
print
" Expected %s, but got %s"
%
(
e
[
1
],
result
)
def
fixasctime
(
s
):
test
(
'swapcase'
,
'HeLLo cOmpUteRs'
,
'hEllO CoMPuTErS'
)
if
s
[
8
]
==
' '
:
test
(
'translate'
,
'xyzabcdef'
,
'xyzxyz'
,
transtable
,
'def'
)
s
=
s
[:
8
]
+
'0'
+
s
[
9
:]
return
s
main
()
strop
.
whitespace
strop
.
lowercase
strop
.
uppercase
Lib/dos_8x3/macurl2p.py
View file @
f1e63545
...
@@ -44,8 +44,13 @@ def pathname2url(pathname):
...
@@ -44,8 +44,13 @@ def pathname2url(pathname):
if
'/'
in
pathname
:
if
'/'
in
pathname
:
raise
RuntimeError
,
"Cannot convert pathname containing slashes"
raise
RuntimeError
,
"Cannot convert pathname containing slashes"
components
=
string
.
split
(
pathname
,
':'
)
components
=
string
.
split
(
pathname
,
':'
)
# Remove empty first and/or last component
if
components
[
0
]
==
''
:
del
components
[
0
]
if
components
[
-
1
]
==
''
:
del
components
[
-
1
]
# Replace empty string ('::') by .. (will result in '/../' later)
# Replace empty string ('::') by .. (will result in '/../' later)
for
i
in
range
(
1
,
len
(
components
)):
for
i
in
range
(
len
(
components
)):
if
components
[
i
]
==
''
:
if
components
[
i
]
==
''
:
components
[
i
]
=
'..'
components
[
i
]
=
'..'
# Truncate names longer than 31 bytes
# Truncate names longer than 31 bytes
...
...
Lib/dos_8x3/test_aud.py
View file @
f1e63545
...
@@ -171,11 +171,12 @@ def testmul(data):
...
@@ -171,11 +171,12 @@ def testmul(data):
def
testratecv
(
data
):
def
testratecv
(
data
):
if
verbose
:
if
verbose
:
print
'ratecv'
print
'ratecv'
state
=
(
-
8000
,
((
256
,
512
),))
state
=
None
if
audioop
.
ratecv
(
data
[
0
],
1
,
1
,
8000
,
16000
,
state
)
!=
\
d1
,
state
=
audioop
.
ratecv
(
data
[
0
],
1
,
1
,
8000
,
16000
,
state
)
(
'
\
001
\
000
\
000
\
001
\
001
\
002
'
,
state
):
d2
,
state
=
audioop
.
ratecv
(
data
[
0
],
1
,
1
,
8000
,
16000
,
state
)
return
0
if
d1
+
d2
!=
'
\
000
\
000
\
001
\
001
\
002
\
001
\
000
\
000
\
001
\
001
\
002
'
:
return
0
return
1
return
1
def
testreverse
(
data
):
def
testreverse
(
data
):
...
...
Lib/dos_8x3/test_fcn.py
View file @
f1e63545
...
@@ -12,17 +12,17 @@ filename = '/tmp/delete-me'
...
@@ -12,17 +12,17 @@ filename = '/tmp/delete-me'
# the example from the library docs
# the example from the library docs
f
=
open
(
filename
,
'w'
)
f
=
open
(
filename
,
'w'
)
rv
=
fcntl
.
fcntl
(
f
.
fileno
(),
FCNTL
.
O_NDELAY
,
1
)
rv
=
fcntl
.
fcntl
(
f
.
fileno
(),
FCNTL
.
F_SETFL
,
os
.
O_NONBLOCK
)
if
verbose
:
if
verbose
:
print
'Status from fnctl with O_N
DELAY
: '
,
rv
print
'Status from fnctl with O_N
ONBLOCK
: '
,
rv
lockdata
=
struct
.
pack
(
'hhllhh'
,
FCNTL
.
F_WRLCK
,
0
,
0
,
0
,
0
,
0
)
lockdata
=
struct
.
pack
(
'hhllhh'
,
FCNTL
.
F_WRLCK
,
0
,
0
,
0
,
0
,
0
)
if
verbose
:
if
verbose
:
print
'struct.pack: '
,
lockdata
print
'struct.pack: '
,
`lockdata`
rv
=
fcntl
.
fcntl
(
f
.
fileno
(),
FCNTL
.
F_SETLKW
,
lockdata
)
rv
=
fcntl
.
fcntl
(
f
.
fileno
(),
FCNTL
.
F_SETLKW
,
lockdata
)
if
verbose
:
if
verbose
:
print
'String from fcntl with F_SETLKW: '
,
rv
print
'String from fcntl with F_SETLKW: '
,
`rv`
f
.
close
()
f
.
close
()
os
.
unlink
(
filename
)
os
.
unlink
(
filename
)
Lib/dos_8x3/test_ima.py
View file @
f1e63545
...
@@ -152,20 +152,13 @@ def getimage(name):
...
@@ -152,20 +152,13 @@ def getimage(name):
return
(
image
,
sizes
[
0
],
sizes
[
1
])
return
(
image
,
sizes
[
0
],
sizes
[
1
])
def
get_qualified_path
(
name
):
def
get_qualified_path
(
name
):
""" return a more qualified path to name
contructed from argv[1]
"""
""" return a more qualified path to name"""
import
sys
import
sys
import
os
import
os
import
string
for
dir
in
sys
.
path
:
fullname
=
os
.
path
.
join
(
dir
,
name
)
# get a more qualified path component of the script...
if
os
.
path
.
exists
(
fullname
):
if
__name__
==
'__main__'
:
return
fullname
ourname
=
sys
.
argv
[
0
]
else
:
# ...or the full path of the module
ourname
=
sys
.
modules
[
__name__
].
__file__
parts
=
string
.
splitfields
(
ourname
,
os
.
sep
)
parts
[
-
1
]
=
name
name
=
string
.
joinfields
(
parts
,
os
.
sep
)
return
name
return
name
# rgbimg (unlike imgfile) is portable to platforms other than SGI.
# rgbimg (unlike imgfile) is portable to platforms other than SGI.
...
...
Lib/dos_8x3/test_ope.py
View file @
f1e63545
import
operator
# Python test set -- part 3, built-in operations.
import
sys
def
test
(
name
,
input
,
output
,
*
args
):
print
'testing:'
,
name
f
=
getattr
(
operator
,
name
)
params
=
(
input
,)
+
args
try
:
val
=
apply
(
f
,
params
)
except
:
val
=
sys
.
exc_type
if
val
<>
output
:
print
'%s%s = %s: %s expected'
%
(
f
.
__name__
,
params
,
`val`
,
`output`
)
test
(
'abs'
,
-
1
,
1
)
print
'3. Operations'
test
(
'add'
,
3
,
7
,
4
)
print
'XXX Not yet implemented'
test
(
'and_'
,
0xf
,
0xa
,
0xa
)
test
(
'concat'
,
'py'
,
'python'
,
'thon'
)
test
(
'countOf'
,
[
1
,
2
,
1
,
3
,
1
,
4
],
1
,
3
)
a
=
[
4
,
3
,
2
,
1
]
test
(
'delitem'
,
a
,
None
,
1
)
if
a
<>
[
4
,
2
,
1
]:
print
'delitem() failed'
a
=
range
(
10
)
test
(
'delslice'
,
a
,
None
,
2
,
8
)
if
a
<>
[
0
,
1
,
8
,
9
]:
print
'delslice() failed'
a
=
range
(
10
)
test
(
'div'
,
5
,
2
,
2
)
test
(
'getitem'
,
a
,
2
,
2
)
test
(
'getslice'
,
a
,
[
4
,
5
],
4
,
6
)
test
(
'indexOf'
,
[
4
,
3
,
2
,
1
],
1
,
3
)
test
(
'inv'
,
4
,
-
5
)
test
(
'isCallable'
,
4
,
0
)
test
(
'isCallable'
,
operator
.
isCallable
,
1
)
test
(
'isMappingType'
,
operator
.
isMappingType
,
0
)
test
(
'isMappingType'
,
operator
.
__dict__
,
1
)
test
(
'isNumberType'
,
8.3
,
1
)
test
(
'isNumberType'
,
dir
(),
0
)
test
(
'isSequenceType'
,
dir
(),
1
)
test
(
'isSequenceType'
,
'yeahbuddy'
,
1
)
test
(
'isSequenceType'
,
3
,
0
)
test
(
'lshift'
,
5
,
10
,
1
)
test
(
'mod'
,
5
,
1
,
2
)
test
(
'mul'
,
5
,
10
,
2
)
test
(
'neg'
,
5
,
-
5
)
test
(
'or_'
,
0xa
,
0xf
,
0x5
)
test
(
'pos'
,
-
5
,
-
5
)
a
=
range
(
3
)
test
(
'repeat'
,
a
,
a
+
a
,
2
)
test
(
'rshift'
,
5
,
2
,
1
)
test
(
'sequenceIncludes'
,
range
(
4
),
1
,
2
)
test
(
'sequenceIncludes'
,
range
(
4
),
0
,
5
)
test
(
'setitem'
,
a
,
None
,
0
,
2
)
if
a
<>
[
2
,
1
,
2
]:
print
'setitem() failed'
a
=
range
(
4
)
test
(
'setslice'
,
a
,
None
,
1
,
3
,
[
2
,
1
])
if
a
<>
[
0
,
2
,
1
,
3
]:
print
'setslice() failed:'
,
a
test
(
'sub'
,
5
,
2
,
3
)
test
(
'truth'
,
5
,
1
)
test
(
'truth'
,
[],
0
)
test
(
'xor'
,
0xb
,
0x7
,
0xc
)
# some negative tests
test
(
'indexOf'
,
[
4
,
3
,
2
,
1
],
ValueError
,
9
)
Lib/dos_8x3/test_reg.py
View file @
f1e63545
...
@@ -48,7 +48,7 @@ print 'case folded search:', cre.search('HELLO WORLD')
...
@@ -48,7 +48,7 @@ print 'case folded search:', cre.search('HELLO WORLD')
print '
__members__
:
', cre.__members__
print '
__members__
:
', cre.__members__
print '
regs
:
', cre.regs
print '
regs
:
', cre.regs
print '
last
:
', cre.last
print '
last
:
', cre.last
print '
translate
:
',
`cre.translate`
print '
translate
:
',
len(cre.translate)
print '
givenpat
:
', cre.givenpat
print '
givenpat
:
', cre.givenpat
print '
match
with
pos
:
', cre.match('
hello
world
', 7)
print '
match
with
pos
:
', cre.match('
hello
world
', 7)
...
...
Lib/dos_8x3/test_sel.py
View file @
f1e63545
...
@@ -35,9 +35,9 @@ else:
...
@@ -35,9 +35,9 @@ else:
def
test
():
def
test
():
import
sys
import
sys
if
sys
.
platform
in
(
'win'
,
'mac'
):
if
sys
.
platform
[:
3
]
in
(
'win'
,
'mac'
):
if
verbose
:
if
verbose
:
print
"Can't test select easily
"
print
"Can't test select easily
on"
,
sys
.
platform
return
return
cmd
=
'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done'
cmd
=
'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done'
p
=
os
.
popen
(
cmd
,
'r'
)
p
=
os
.
popen
(
cmd
,
'r'
)
...
...
Lib/dos_8x3/test_soc.py
View file @
f1e63545
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
# sktobj.shutdown()
# sktobj.shutdown()
from
test_support
import
verbose
from
test_support
import
verbose
,
TestFailed
import
socket
import
socket
import
os
import
os
import
time
import
time
...
@@ -22,13 +22,13 @@ def missing_ok(str):
...
@@ -22,13 +22,13 @@ def missing_ok(str):
print
socket
.
error
print
socket
.
error
print
socket
.
AF_INET
socket
.
AF_INET
print
socket
.
SOCK_STREAM
socket
.
SOCK_STREAM
print
socket
.
SOCK_DGRAM
socket
.
SOCK_DGRAM
print
socket
.
SOCK_RAW
socket
.
SOCK_RAW
print
socket
.
SOCK_RDM
socket
.
SOCK_RDM
print
socket
.
SOCK_SEQPACKET
socket
.
SOCK_SEQPACKET
for
optional
in
(
"AF_UNIX"
,
for
optional
in
(
"AF_UNIX"
,
...
@@ -65,6 +65,7 @@ for optional in ("AF_UNIX",
...
@@ -65,6 +65,7 @@ for optional in ("AF_UNIX",
):
):
missing_ok
(
optional
)
missing_ok
(
optional
)
socktype
=
socket
.
socket_type
hostname
=
socket
.
gethostname
()
hostname
=
socket
.
gethostname
()
ip
=
socket
.
gethostbyname
(
hostname
)
ip
=
socket
.
gethostbyname
(
hostname
)
hname
,
aliases
,
ipaddrs
=
socket
.
gethostbyaddr
(
ip
)
hname
,
aliases
,
ipaddrs
=
socket
.
gethostbyaddr
(
ip
)
...
@@ -89,43 +90,45 @@ except socket.error:
...
@@ -89,43 +90,45 @@ except socket.error:
pass
pass
canfork
=
hasattr
(
os
,
'fork'
)
try
:
try
:
PORT
=
50007
PORT
=
50007
if
os
.
fork
():
if
not
canfork
or
os
.
fork
():
# parent is server
# parent is server
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_STREAM
)
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_STREAM
)
s
.
bind
(
hostname
,
PORT
)
s
.
bind
(
hostname
,
PORT
)
s
.
listen
(
1
)
s
.
listen
(
1
)
if
verbose
:
if
verbose
:
print
'parent accepting'
print
'parent accepting'
conn
,
addr
=
s
.
accept
()
if
canfork
:
if
verbose
:
conn
,
addr
=
s
.
accept
()
print
'connected by'
,
addr
if
verbose
:
# couple of interesting tests while we've got a live socket
print
'connected by'
,
addr
f
=
conn
.
fileno
()
# couple of interesting tests while we've got a live socket
if
verbose
:
f
=
conn
.
fileno
()
print
'fileno:'
,
f
p
=
conn
.
getpeername
()
if
verbose
:
print
'peer:'
,
p
n
=
conn
.
getsockname
()
if
verbose
:
print
'sockname:'
,
n
f
=
conn
.
makefile
()
if
verbose
:
print
'file obj:'
,
f
while
1
:
data
=
conn
.
recv
(
1024
)
if
not
data
:
break
if
verbose
:
if
verbose
:
print
'received:'
,
data
print
'fileno:'
,
f
conn
.
send
(
data
)
p
=
conn
.
getpeername
()
conn
.
close
()
if
verbose
:
print
'peer:'
,
p
n
=
conn
.
getsockname
()
if
verbose
:
print
'sockname:'
,
n
f
=
conn
.
makefile
()
if
verbose
:
print
'file obj:'
,
f
while
1
:
data
=
conn
.
recv
(
1024
)
if
not
data
:
break
if
verbose
:
print
'received:'
,
data
conn
.
send
(
data
)
conn
.
close
()
else
:
else
:
try
:
try
:
# child is client
# child is client
time
.
sleep
(
1
)
time
.
sleep
(
5
)
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_STREAM
)
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_STREAM
)
if
verbose
:
if
verbose
:
print
'child connecting'
print
'child connecting'
...
@@ -138,5 +141,5 @@ try:
...
@@ -138,5 +141,5 @@ try:
s
.
close
()
s
.
close
()
finally
:
finally
:
os
.
_exit
(
1
)
os
.
_exit
(
1
)
except
socket
.
error
:
except
socket
.
error
,
msg
:
pass
raise
TestFailed
,
msg
Lib/dos_8x3/test_str.py
View file @
f1e63545
#! /usr/bin/env python
# Sanity checker for time.strftime
import
time
,
calendar
,
sys
,
string
,
os
from
test_support
import
verbose
from
test_support
import
verbose
import
strop
,
sys
def
main
():
def
test
(
name
,
input
,
output
,
*
args
):
global
verbose
now
=
time
.
time
()
strftest
(
now
)
verbose
=
0
# Try a bunch of dates and times, chosen to vary through time of
# day and daylight saving time
for
j
in
range
(
-
5
,
5
):
for
i
in
range
(
25
):
strftest
(
now
+
(
i
+
j
*
100
)
*
23
*
3603
)
def
strftest
(
now
):
if
verbose
:
if
verbose
:
print
"strftime test for"
,
time
.
ctime
(
now
)
print
'string.%s%s =? %s... '
%
(
name
,
(
input
,)
+
args
,
output
),
nowsecs
=
int
(
now
)
f
=
getattr
(
strop
,
name
)
gmt
=
time
.
gmtime
(
now
)
try
:
now
=
time
.
localtime
(
now
)
value
=
apply
(
f
,
(
input
,)
+
args
)
except
:
value
=
sys
.
exc_type
if
value
!=
output
:
if
verbose
:
print
'no'
print
f
,
`input`
,
`output`
,
`value`
else
:
if
verbose
:
print
'yes'
if
now
[
3
]
<
12
:
ampm
=
'AM'
test
(
'atoi'
,
" 1 "
,
1
)
else
:
ampm
=
'PM'
test
(
'atoi'
,
" 1x"
,
ValueError
)
test
(
'atoi'
,
" x1 "
,
ValueError
)
test
(
'atol'
,
" 1 "
,
1L
)
test
(
'atol'
,
" 1x "
,
ValueError
)
test
(
'atol'
,
" x1 "
,
ValueError
)
test
(
'atof'
,
" 1 "
,
1.0
)
test
(
'atof'
,
" 1x "
,
ValueError
)
test
(
'atof'
,
" x1 "
,
ValueError
)
jan1
=
time
.
localtime
(
time
.
mktime
((
now
[
0
],
1
,
1
)
+
(
0
,)
*
6
))
test
(
'capitalize'
,
' hello '
,
' hello '
)
test
(
'capitalize'
,
'hello '
,
'Hello '
)
test
(
'find'
,
'abcdefghiabc'
,
0
,
'abc'
)
test
(
'find'
,
'abcdefghiabc'
,
9
,
'abc'
,
1
)
test
(
'find'
,
'abcdefghiabc'
,
-
1
,
'def'
,
4
)
test
(
'rfind'
,
'abcdefghiabc'
,
9
,
'abc'
)
test
(
'lower'
,
'HeLLo'
,
'hello'
)
test
(
'upper'
,
'HeLLo'
,
'HELLO'
)
if
now
[
8
]:
tz
=
time
.
tzname
[
1
]
transtable
=
'
\
000
\
001
\
002
\
003
\
004
\
005
\
006
\
007
\
010
\
011
\
012
\
013
\
014
\
015
\
016
\
017
\
020
\
021
\
022
\
023
\
024
\
025
\
026
\
027
\
030
\
031
\
032
\
033
\
034
\
035
\
036
\
037
!"#$%&
\
'
()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[
\
\
]^_`xyzdefghijklmnopqrstuvwxyz{|}~
\
177
\
200
\
201
\
202
\
203
\
204
\
205
\
206
\
207
\
210
\
211
\
212
\
213
\
214
\
215
\
216
\
217
\
220
\
221
\
222
\
223
\
224
\
225
\
226
\
227
\
230
\
231
\
232
\
233
\
234
\
235
\
236
\
237
\
240
\
241
\
242
\
243
\
244
\
245
\
246
\
247
\
250
\
251
\
252
\
253
\
254
\
255
\
256
\
257
\
260
\
261
\
262
\
263
\
264
\
265
\
266
\
267
\
270
\
271
\
272
\
273
\
274
\
275
\
276
\
277
\
300
\
301
\
302
\
303
\
304
\
305
\
306
\
307
\
310
\
311
\
312
\
313
\
314
\
315
\
316
\
317
\
320
\
321
\
322
\
323
\
324
\
325
\
326
\
327
\
330
\
331
\
332
\
333
\
334
\
335
\
336
\
337
\
340
\
341
\
342
\
343
\
344
\
345
\
346
\
347
\
350
\
351
\
352
\
353
\
354
\
355
\
356
\
357
\
360
\
361
\
362
\
363
\
364
\
365
\
366
\
367
\
370
\
371
\
372
\
373
\
374
\
375
\
376
\
377
'
else
:
tz
=
time
.
tzname
[
0
]
if
now
[
3
]
>
12
:
clock12
=
now
[
3
]
-
12
test
(
'maketrans'
,
'abc'
,
transtable
,
'xyz'
)
elif
now
[
3
]
>
0
:
clock12
=
now
[
3
]
test
(
'maketrans'
,
'abc'
,
ValueError
,
'xyzq'
)
else
:
clock12
=
12
expectations
=
(
test
(
'split'
,
'this is the split function'
,
(
'%A'
,
calendar
.
day_name
[
now
[
6
]],
'full weekday name'
),
[
'this'
,
'is'
,
'the'
,
'split'
,
'function'
])
(
'%a'
,
calendar
.
day_abbr
[
now
[
6
]],
'abbreviated weekday name'
),
test
(
'split'
,
'a|b|c|d'
,
[
'a'
,
'b'
,
'c'
,
'd'
],
'|'
)
(
'%B'
,
calendar
.
month_name
[
now
[
1
]],
'full month name'
),
test
(
'split'
,
'a|b|c|d'
,
[
'a'
,
'b'
,
'c|d'
],
'|'
,
2
)
(
'%b'
,
calendar
.
month_abbr
[
now
[
1
]],
'abbreviated month name'
),
(
'%h'
,
calendar
.
month_abbr
[
now
[
1
]],
'abbreviated month name'
),
(
'%c'
,
fixasctime
(
time
.
asctime
(
now
)),
'near-asctime() format'
),
(
'%D'
,
'%02d/%02d/%02d'
%
(
now
[
1
],
now
[
2
],
(
now
[
0
]
%
100
)),
'mm/dd/yy'
),
(
'%d'
,
'%02d'
%
now
[
2
],
'day of month as number (00-31)'
),
(
'%e'
,
'%2d'
%
now
[
2
],
'day of month as number, blank padded ( 0-31)'
),
(
'%H'
,
'%02d'
%
now
[
3
],
'hour (00-23)'
),
(
'%I'
,
'%02d'
%
clock12
,
'hour (01-12)'
),
(
'%j'
,
'%03d'
%
now
[
7
],
'julian day (001-366)'
),
(
'%M'
,
'%02d'
%
now
[
4
],
'minute, (00-59)'
),
(
'%m'
,
'%02d'
%
now
[
1
],
'month as number (01-12)'
),
(
'%p'
,
ampm
,
'AM or PM as appropriate'
),
(
'%R'
,
'%02d:%02d'
%
(
now
[
3
],
now
[
4
]),
'%H:%M'
),
(
'%r'
,
'%02d:%02d:%02d %s'
%
(
clock12
,
now
[
4
],
now
[
5
],
ampm
),
'%I:%M:%S %p'
),
(
'%S'
,
'%02d'
%
now
[
5
],
'seconds of current time (00-60)'
),
(
'%T'
,
'%02d:%02d:%02d'
%
(
now
[
3
],
now
[
4
],
now
[
5
]),
'%H:%M:%S'
),
(
'%X'
,
'%02d:%02d:%02d'
%
(
now
[
3
],
now
[
4
],
now
[
5
]),
'%H:%M:%S'
),
(
'%U'
,
'%02d'
%
((
now
[
7
]
+
jan1
[
6
])
/
7
),
'week number of the year (Sun 1st)'
),
(
'%W'
,
'%02d'
%
((
now
[
7
]
+
(
jan1
[
6
]
-
1
)
%
7
)
/
7
),
'week number of the year (Mon 1st)'
),
(
'%w'
,
'%d'
%
((
1
+
now
[
6
])
%
7
),
'weekday as a number (Sun 1st)'
),
(
'%x'
,
'%02d/%02d/%02d'
%
(
now
[
1
],
now
[
2
],
(
now
[
0
]
%
100
)),
'%m/%d/%y %H:%M:%S'
),
(
'%Y'
,
'%d'
%
now
[
0
],
'year with century'
),
(
'%y'
,
'%02d'
%
(
now
[
0
]
%
100
),
'year without century'
),
(
'%Z'
,
tz
,
'time zone name'
),
(
'%%'
,
'%'
,
'single percent sign'
),
)
nonstandard_expectations
=
(
# join now works with any sequence type
(
'%C'
,
'%02d'
%
(
now
[
0
]
/
100
),
'century'
),
class
Sequence
:
# This is for IRIX; on Solaris, %C yields date(1) format.
def
__init__
(
self
):
self
.
seq
=
'wxyz'
# Tough.
def
__len__
(
self
):
return
len
(
self
.
seq
)
(
'%k'
,
'%2d'
%
now
[
3
],
'hour, blank padded ( 0-23)'
),
def
__getitem__
(
self
,
i
):
return
self
.
seq
[
i
]
(
'%s'
,
'%d'
%
nowsecs
,
'seconds since the Epoch in UCT'
),
(
'%3y'
,
'%03d'
%
(
now
[
0
]
%
100
),
'year without century rendered using fieldwidth'
),
(
'%n'
,
'
\
n
'
,
'newline character'
),
(
'%t'
,
'
\
t
'
,
'tab character'
),
)
if
verbose
:
test
(
'join'
,
[
'a'
,
'b'
,
'c'
,
'd'
],
'a b c d'
)
print
"Strftime test, platform: %s, Python version: %s"
%
\
test
(
'join'
,
(
'a'
,
'b'
,
'c'
,
'd'
),
'abcd'
,
''
)
(
sys
.
platform
,
string
.
split
(
sys
.
version
)[
0
]
)
test
(
'join'
,
Sequence
(),
'w x y z'
)
for
e
in
expectations
:
# try a few long ones
try
:
print
strop
.
join
([
'x'
*
100
]
*
100
,
':'
)
result
=
time
.
strftime
(
e
[
0
],
now
)
print
strop
.
join
((
'x'
*
100
,)
*
100
,
':'
)
except
ValueError
,
error
:
print
"Standard '%s' format gave error:"
%
e
[
0
],
error
continue
if
result
==
e
[
1
]:
continue
if
result
[
0
]
==
'%'
:
print
"Does not support standard '%s' format (%s)"
%
(
e
[
0
],
e
[
2
])
else
:
print
"Conflict for %s (%s):"
%
(
e
[
0
],
e
[
2
])
print
" Expected %s, but got %s"
%
(
e
[
1
],
result
)
for
e
in
nonstandard_expectations
:
test
(
'strip'
,
' hello '
,
'hello'
)
try
:
test
(
'lstrip'
,
' hello '
,
'hello '
)
result
=
time
.
strftime
(
e
[
0
],
now
)
test
(
'rstrip'
,
' hello '
,
' hello'
)
except
ValueError
,
result
:
if
verbose
:
print
"Error for nonstandard '%s' format (%s): %s"
%
\
(
e
[
0
],
e
[
2
],
str
(
error
))
continue
if
result
==
e
[
1
]:
if
verbose
:
print
"Supports nonstandard '%s' format (%s)"
%
(
e
[
0
],
e
[
2
])
elif
result
[
0
]
==
'%'
:
if
verbose
:
print
"Does not appear to support '%s' format (%s)"
%
(
e
[
0
],
e
[
2
])
else
:
if
verbose
:
print
"Conflict for nonstandard '%s' format (%s):"
%
(
e
[
0
],
e
[
2
])
print
" Expected %s, but got %s"
%
(
e
[
1
],
result
)
def
fixasctime
(
s
):
test
(
'swapcase'
,
'HeLLo cOmpUteRs'
,
'hEllO CoMPuTErS'
)
if
s
[
8
]
==
' '
:
test
(
'translate'
,
'xyzabcdef'
,
'xyzxyz'
,
transtable
,
'def'
)
s
=
s
[:
8
]
+
'0'
+
s
[
9
:]
return
s
main
()
strop
.
whitespace
strop
.
lowercase
strop
.
uppercase
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment