Don't assume gethostbyaddr()'s primary hostname is the same as
gethostname(), or even that gethostname() can be found in the list of
hosts returned by gethostbyaddr(). We do test for at least one FQDN
in gethostbyaddr().
to Frame(w, cnf={"class": "classname"}). I think this is the only
widget other than Toplevel that needs to be concerned about setting
the widget's class (-class must be the first option on the Tcl
widget creation command).
find one and doesn't output any data that can be verified. If it
can't find a sound file by looking in the standard Solaris locations
(which we can extend later), it raises an ImportError.
- When dragging the mouse in either listbox, the *first* entry
clicked on is selected rather than the last (but the last one is
highlighted).
This is done by changing the bindtags so that our binding is executed
after the default binding (which sets the 'active' index to the last
item selected), and using 'active' instead of 'anchor' as the index to
ask for.
Raise ImportError instead of SystemExit when $DISPLAY is not set, so
regrtest.py will do the right thing.
Add a call to gl.clear() to clear the window before drawing in it.
Add some verbose prints for completeness.
Use gl.v2i() for the coordinates of one of the lines, for a little bit
of variety.
Reduce the time the window is displayed from 5 to 2 seconds.
data formats. The _xdr module is no longer used, since struct
supports the required IEEE floats and doubles.
(I have one doubt about not using _xdr. The struct module doesn't
handle Inf, NaN and gradual underflow correctly. If the _xdr module
does these things better, it may still have a (small) competitive
advantage. On the other hand, since not all platforms support IEEE
floating point, it's not clear that it would be a good idea to ever
transfer Inf or NaNs. Gradual underflow can be fixed in the struct
module.
module. (Small problem: struct.pack() won't deal with the Python long
ints returned by struct.unpack() for the 'L' format. Worked around
that for now.)
all the modules attributes are present and creates a small criss-cross
window for 5 seconds (example from the documentation :-) A more
comprehensive test would probably be useful... but maybe overkill.
test_rotor.py: New test of the rotor module.
test_*: converted to the new test harness. GvR note! test_signal.py
works interatively (i.e. when verbose=1) but does not work inside the
test harness. It must be a timing issue, but I haven't figured it out
yet.
test_*: converted to the new test harness. GvR note! test_signal.py
works interatively (i.e. when verbose=1) but does not work inside the
test harness. It must be a timing issue, but I haven't figured it out
yet.
'verbose' flag ala GvR updated test harness architecture.
Old way:
verbose = 0
if __name__ == '__main__':
verbose = 1
New way:
from test_support import verbose
Some other small readablility and functionality updates.