HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1386 Details

Help Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges

This page provides all information on Problem Report 1386.


Report 1386 Actions


    Problem Report Number 1386
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0668
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1996-09-04 08:00
    Product Standard Internationalised System Calls and Libraries Extended (UNIX 95)
    Certification Program The Open Brand certification program
    Test Suite VSU version 4.1.0
    Test Identification CAPIbase/poll 25
    Problem Summary TSD4U.00149 This test may fail on implementations which have no physical ttys.
    Problem Text
    Test cases: base/poll25, base/readv22
    The setup of these test cases presumes the existence of physical
    terminal ports and that the branding user has read and write access
    to these physical ports. There is no such requirement in the
    specification for the existence of physical terminals.
    I reference PG4U.00085 to prove that the test suite is in fact
    requiring physical terminals or devices for these tests: PG4U.00085:

    "Section 5.1.4 Terminal Devices, in the User's Guide, describes the
    requirements for VSU_TERMIOS_LOOP and VSU_TERMIOS_TTY. In all cases
    VSU_TERMIOS_LOOP and VSU_TERMIOS_TTY are required to be physical
    ports not pseudo-terminals."

    The first rationale is a reading of section 5.1.4, p. 29 of the
    User's guide, August 28, 1995. The only words used
    to describe VSU_TERMIOS_LOOP and VSU_TERMIOS_TTY are as follows:
    "The names of the special files for terminal devices"
    All the other wording pertains to Curses or XCurses tests.
    Under the main heading, also, the following statement:
    "The user running VSU must have read and write access for all three
    terminal devices configured."
    The words "physical ports" or "physical devices" does not appear.

    The second and main rationale is that this test cannot require
    the use of physical terminal ports as these are not part of the
    standard. The loopback functionality can be demonstrated with
    a software loopback program but no such program is provided.
    A loopback terminal cable method is provided for RS-232
    asynchronous terminal ports, but such ports are also not required
    by the standard.

    In many of the existing test cases the words: "No portable means
    to induce the condition", or some variant thereof is used.
    I can think of no better example than the requirement of
    physical devices in a loopback configuration as a nonportable
    testing requirement. We are able to use software and pseudo-terminals
    to demonstrate functionality (a 20-line C program), but we feel that
    the test and the documentation in Section 5.1.4 of the user's guide
    is fundamentally flawed.

    I have used the following settings in tetexec.cfg to reflect
    the unsupported nature of physical terminals. The journals
    above reflect those settings:
    -----------------------------------------------------------------------
    VSU_TERMIOS_LOOP=

    # VSU_TERMIOS_TTY is the special file name of a terminal port.
    # The user running the test suite must have read and write permission
    # for this device.
    VSU_TERMIOS_TTY=
    -----------------------------------------------------------------------
    This was done to address the concerns raised by PG4U.00097

    Test Output
    10|0 /tset/CAPIbase/fpoll/fpoll25 09:48:56|TC Start, scenario ref 0-1
    15|0 1.10 1|TCM Start
    400|0 25 1 09:48:58|IC Start
    200|0 1 09:48:58|TP Start
    520|0 1 78839832 1 1|SPEC1170TESTSUITE CASE 25
    520|0 1 78839832 1 2|If the implementation supports a communications domain
    520|0 1 78839832 1 3|and a socket type:
    520|0 1 78839832 1 4|A call to int poll(struct pollfd fds[], nfds_t nfds,
    520|0 1 78839832 1 5|int timeout) shall support regular files, terminals
    520|0 1 78839832 1 6|and pseudo-terminal devices, STREAMS-based files,
    520|0 1 78839832 1 7|sockets, FIFOS and pipes.
    520|0 1 34078758 1 1|TEST: AF_INET SOCK_STREAM
    520|0 1 34078758 1 2|PREP: Create test sockaddr_in: address = 129.40.217.6, port = 64569
    520|0 1 34078758 2 1|PREP: Wait for server to be ready
    520|0 1 34078758 2 2|PREP: Create a socket
    520|0 1 34078758 2 3|PREP: Connect socket to address 129.40.217.6, port 64569
    520|0 1 34078758 2 4|PREP: Send test data
    520|0 1 34078758 2 5|TEST: poll AF_INET socket for POLLIN
    520|0 1 34078758 2 6|CLEANUP: Close socket, kill server
    520|0 1 34078758 2 7|TEST: AF_UNIX SOCK_STREAM
    520|0 1 34078758 2 8|PREP: Create test sockaddr_un: path = ../tmp/unix.EfAcxQ
    520|0 1 59834403 1 1|PREP: Server: create socket
    520|0 1 59834403 1 2|PREP: Server: bind address 129.40.217.6, port 64569 to socket
    520|0 1 59834403 1 3|PREP: Server: listen on socket
    520|0 1 59834403 1 4|PREP: Server: notify client server is ready
    520|0 1 59834403 1 5|PREP: Server: accept connection
    520|0 1 59834403 1 6|INFO: Server: accepted connection from address 129.40.217.6, port 1024
    520|0 1 59834403 1 7|PREP: echo_server: read and echo data
    520|0 1 59834403 1 8|INFO: echo_server: echoed 11 bytes of data (ABC123TEST!)
    520|0 1 59834403 1 9|INFO: echo_server: recv returned -1, errno = 1121(ECONNRESET - Connection reset)
    520|0 1 59834403 1 10|INFO: Server received signal 15
    520|0 1 59834403 1 11|INFO: Server terminated
    520|0 1 34078758 3 1|PREP: Wait for server to be ready
    520|0 1 34078758 3 2|PREP: Create a socket
    520|0 1 34078758 3 3|PREP: Connect to address ../tmp/unix.EfAcxQ
    520|0 1 34078758 3 4|PREP: Send test data
    520|0 1 34078758 3 5|TEST: poll AF_UNIX socket for POLLIN
    520|0 1 34078758 3 6|CLEANUP: Close socket, kill server
    520|0 1 34078758 3 7|TEST: AF_INET SOCK_DGRAM
    520|0 1 34078758 3 8|PREP: Create test sockaddr_in: address = 129.40.217.6, port = 64570
    520|0 1 59899939 1 1|PREP: Server: create socket
    520|0 1 59899939 1 2|PREP: Server: bind address ../tmp/unix.EfAcxQ to socket
    520|0 1 59899939 1 3|PREP: Server: listen on socket
    520|0 1 59899939 1 4|PREP: Server: notify client ready to accept
    520|0 1 59899939 1 5|PREP: Server: accept connection
    520|0 1 59899939 1 6|INFO: Server: accepted connection from address k0
    520|0 1 59899939 1 7|PREP: echo_server: read and echo data
    520|0 1 59899939 1 8|INFO: echo_server: echoed 11 bytes of data (ABC123TEST!)
    520|0 1 59899939 1 9|INFO: Server received signal 15
    520|0 1 59899939 1 10|INFO: Server terminated
    520|0 1 34078758 4 1|PREP: Wait for server to be ready
    520|0 1 34078758 4 2|PREP: Create a socket
    520|0 1 34078758 4 3|PREP: Connect socket to address 129.40.217.6, port 64570
    520|0 1 34078758 4 4|PREP: Send test data
    520|0 1 34078758 4 5|TEST: poll AF_INET socket for POLLIN
    520|0 1 34078758 4 6|CLEANUP: Close socket, kill server
    520|0 1 34078758 4 7|TEST: AF_UNIX SOCK_DGRAM
    520|0 1 34078758 4 8|PREP: Create test sockaddr_un: path = ../tmp/unix.hcfaxQ
    520|0 1 32636965 1 1|PREP: Server: create socket
    520|0 1 32636965 1 2|PREP: Server: bind address 129.40.217.6, port 64570 to socket
    520|0 1 32636965 1 3|PREP: Server: notify client server is ready
    520|0 1 32636965 1 4|PREP: Server: read and echo data
    520|0 1 32636965 1 5|INFO: Server: echoed 11 bytes of data (ABC123TEST!), peer is 129.40.217.6, port 1024
    520|0 1 32636965 1 6|INFO: Server received signal 15
    520|0 1 32636965 1 7|INFO: Server terminated
    520|0 1 34078758 5 1|PREP: Wait for server to be ready
    520|0 1 34078758 5 2|PREP: Create a socket
    520|0 1 34078758 5 3|PREP: Connect to address ../tmp/unix.hcfaxQ
    520|0 1 34078758 5 4|PREP: Send test data
    520|0 1 34078758 5 5|TEST: poll AF_UNIX socket for POLLIN
    520|0 1 34078758 5 7|PREP: Create pipe
    520|0 1 34078758 5 8|PREP: Write data to one end of pipe
    520|0 1 34078758 5 9|TEST: poll other end of pipe for POLLIN
    520|0 1 34078758 5 10|CLEANUP: Close pipe
    520|0 1 34078758 5 11|PREP: Create fifo
    520|0 1 34078758 5 12|PREP: Write data to one end of FIFO
    520|0 1 34078758 5 13|TEST: poll other end of FIFO for POLLIN
    520|0 1 34078758 5 14|CLEANUP: Remove fifo
    520|0 1 34078758 5 15|PREP: Open tty (VSU_TERMIOS_TTY)
    520|0 1 34078758 5 16|ERROR: VSU_TERMIOS_TTY not set in tetexec.cfg
    520|0 1 34078758 5 17|PREP: Open pseudo ttys
    520|0 1 34078758 5 18|PREP: Write data to one end of pseudo-tty
    520|0 1 34078758 5 19|TEST: poll pseudo-tty for POLLIN
    520|0 1 34078758 5 20|CLEANUP: Close pseudo terminal
    520|0 1 34078758 5 21|PREP: Obtain file descriptor for regular file
    520|0 1 34078758 5 22|TEST: Regular file polls TRUE for reading
    520|0 1 34078758 5 23|CLEANUP: Close file
    520|0 1 34078758 5 24|PREP: Create a streams
    520|0 1 34078758 5 25|PREP: Create a pipe
    520|0 1 34078758 5 26|PREP: Determine if pipe is a stream
    520|0 1 34078758 5 27|INFO: Pipes are not STREAMs on this implementation
    520|0 1 34078758 5 28|PREP: Open master pseudo tty
    520|0 1 34078758 5 29|PREP: Determine if pseudo tty is a stream
    520|0 1 65863686 1 1|PREP: Server: create socket
    520|0 1 65863686 1 2|PREP: Server: bind address ../tmp/unix.hcfaxQ to socket
    520|0 1 65863686 1 3|PREP: Server: notify client server is ready
    520|0 1 65863686 1 4|PREP: Server: read and echo data
    520|0 1 65863686 1 5|INFO: Server: echoed 11 bytes of data (ABC123TEST!), peer is
    520|0 1 65863686 1 6|INFO: Server received signal 15
    520|0 1 65863686 1 7|INFO: Server terminated
    220|0 1 1 09:49:15|FAIL
    410|0 25 1 09:49:15|IC End
    80|0 0 09:49:15|TC End
    900|09:49:15|TCC End
    ------------------------------------------------------------------------
    10|0 /tset/CAPIbase/freadv/freadv22 09:48:03|TC Start, scenario ref 0-1
    15|0 1.10 1|TCM Start
    400|0 22 1 09:48:06|IC Start
    200|0 1 09:48:06|TP Start
    520|0 1 63242246 1 1|SPEC1170TESTSUITE CASE 22
    520|0 1 63242246 1 2|A call to ssize_t readv(int fildes, const struct iovec
    520|0 1 63242246 1 3|*iov, int iovcnt) when the function is interrupted by
    520|0 1 63242246 1 4|a signal after it has successfully read some data
    520|0 1 63242246 1 5|shall return the number of bytes read.
    520|0 1 65576 1 1|PREP: Read IOV_MAX system configuration
    520|0 1 65576 1 2|PREP: Allocate and initialize I/O buffers
    520|0 1 31064101 1 1|PREP: Open and initialize the terminal files
    520|0 1 31064101 1 2|ERROR: tty_prep: VSU_TERMIOS_TTY configuration variable not defined
    520|0 1 31064101 1 3|ERROR: Termios_prep failed
    520|0 1 65576 2 1|CLEANUP: Free iovec buffers
    220|0 1 2 09:48:08|UNRESOLVED
    410|0 22 1 09:48:08|IC End
    80|0 0 09:48:08|TC End
    900|09:48:08|TCC End

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    We agree this is a test suite deficiency in the test
    suite version(s) listed.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Test Suite Deficiency (TSD)
    Review Conclusion
    This is an agreed Test Suite Deficiency.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority