Here
http://www.rubygarden.org/ruby?RExpect
is a more or less drop in replacement for expect.rb with a bunch of
advantages....
* There is a background Thread that slurps on the data source, so even
if your foreground task is too busy, the data from the devices you are
driving is not lost. (Doesn't matter if you are driving another
program, matters lots if you are driving realtime devices.)
* Reads data in large chunks instead of char by char. Therefore more
efficient when driving a lot of devices.
* Can log exactly what each thread saw and did.
It is multithreaded and hence prone to throw exceptions in strange places
and locking up in others. I have tweaked and synchronized until it doesn't
in my test cases and the app I'm using it for.
If you find other problems, pray do tell.
Anyone who can tell me how better to manage PTY's blasted Child_changed
RuntimeError will be blessed.
John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter / tait.co.nz
New Zealand
May contain traces of nuts. This email was packed by mass, not
volume. Contents may have settled during distribution.
This email is not designed or intended for use in on-line control of
aircraft, air traffic, aircraft navigation or aircraft communications; or in
the design, construction, operation or maintenance of any nuclear
facility. Reader represents and warrants that it will not use or
redistribute the email for such purposes.