Tk Library Source Code

View Ticket
Login
Ticket UUID: 723426
Title: Testsuite failures
Type: Bug Version: None
Submitter: andreas_kupries Created on: 2003-04-18 00:14:51
Subsystem: ntp Assigned To: patthoyts
Priority: 8 Severity:
Status: Closed Last Modified: 2003-04-25 03:46:33
Resolution: Fixed Closed By: dgp
    Closed on: 2003-04-24 20:46:33
Description:
I ran the testsuite of ntp using a tclsh 8.3.4 and a tclkit 
8.4.1. In both cases I got failures, but different. Enclosed 
the log files.
User Comments: dgp added on 2003-04-25 03:46:33:
Logged In: YES 
user_id=80530


The variable $::tcltest::tcltest is available from
bothe tcltest 1 and tcltest 2, and holds the same
value returned by [tcltest::interpreter] in tcltest 2.

andreas_kupries added on 2003-04-25 02:53:50:
Logged In: YES 
user_id=75003

Ok, what happens is that the [read] which retrieves the time 
data from the server may not get data on the first read. As the 
routine is programmed to simply expect that the first read is 
successful it can run into failure. What bugs me is that the 
channel is blocking ... It should wait for data and collect it 
internally until EOF. ... Hm. If I delay the [close] in the fake 
server things are ok. So this could also involve stuff in the 
OS, the close coming to fast or what.

My solution is to
- append [read] data
- bail out of the ClientReadEvent as long as the data is not 
complete (4 byte)

I.e. finish only after data is completely received.
That should be robust with a variety of servers.

Committed the changes.

andreas_kupries added on 2003-04-25 02:16:47:
Logged In: YES 
user_id=75003

The 8.3.4 failures are actually tcltest 1.0.2 failures. The 
variable tcltest::interpreter was added later. The 8.4 was ok, 
because it had tcltest 2.2.x. Now added code which falls 
back to ino nameofexec when tcltest::interpreter is not 
available.

... Now the testsuite fails in the same way as for 8.4 (missing 
data, failed scan).

andreas_kupries added on 2003-04-25 02:10:46:
Logged In: YES 
user_id=75003

For 8.4 I have an epxlanation for the error: The [binary scan] 
in unixtime fails, thus the variable "r" is not set, and thus 
does not exist later on. More logging shows that there is no 
data to scan, the field is empty. The reason for that is not yet 
known.

I have added code to throw an error if the scan fails.

andreas_kupries added on 2003-04-18 07:19:34:
Logged In: YES 
user_id=75003

forgot: Operating system was linux/x86.

andreas_kupries added on 2003-04-18 07:15:25:

File Added - 48078: ntp.tclkit-841.log

andreas_kupries added on 2003-04-18 07:14:53:

File Added - 48077: ntp.tclsh-834.log

Attachments: