|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1169 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 1169.
Report 1169 Actions
Problem Report Number 1169 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0371 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published null 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 PG4U.00097 This IR claims the test may fail with EPERM errors if the implementation does not support physical tty ports. 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.Test Output
TEST PURPOSE #22
10|1433 /tset/CAPIbase/freadv/freadv22 00:57:40|TC Start, scenario ref 1
15|1432 1.10 1|TCM Start
400|1432 22 1 00:57:41|IC Start
200|1432 1 00:57:41|TP Start
520|1432 1 65208337 1 1|SPEC1170TESTSUITE CASE 22
520|1432 1 65208337 1 2|A call to ssize_t readv(int fildes, const struct
520|1432 1 65208337 1 3|*iov, int iovcnt) when the function is interrupt
520|1432 1 65208337 1 4|a signal after it has successfully read some dat
520|1432 1 65208337 1 5|shall return the number of bytes read.
520|1432 1 448397323 1 1|PREP: Read IOV_MAX system configuration
520|1432 1 448397323 1 2|PREP: Allocate and initialize I/O buffers
520|1432 1 103153680 1 1|PREP: Open and initialize the terminal files
520|1432 1 103153680 1 2|ERROR: tty_prep: open call failed, errno = 139(
520|1432 1 103153680 1 3|ERROR: Termios_prep failed
520|1432 1 448397323 2 1|CLEANUP: Free iovec buffers
220|1432 1 2 00:57:41|UNRESOLVED
410|1432 22 1 00:57:41|IC End
80|1433 0 00:57:41|TC End
------------------------------------------------------------------------
10|1231 /tset/CAPIbase/fpoll/fpoll25 00:51:23|TC Start, scenario ref 111
15|1230 1.10 1|TCM Start
400|1230 25 1 00:51:24|IC Start
200|1230 1 00:51:24|TP Start
520|1230 1 89980944 1 1|SPEC1170TESTSUITE CASE 25
520|1230 1 89980944 1 2|If the implementation supports a communications
520|1230 1 89980944 1 3|and a socket type:
520|1230 1 89980944 1 4|A call to int poll(struct pollfd fds[], nfds_t n
520|1230 1 89980944 1 5|int timeout) shall support regular files, termin
520|1230 1 89980944 1 6|and pseudo-terminal devices, STREAMS-based files
520|1230 1 89980944 1 7|sockets, FIFOS and pipes.
520|1230 1 433586187 1 1|TEST: AF_INET SOCK_STREAM
520|1230 1 433586187 1 2|PREP: Create test sockaddr_in: address = 198.15
520|1230 1 433586187 2 1|PREP: Wait for server to be ready
520|1230 1 433586187 2 2|PREP: Create a socket
520|1230 1 433586187 2 3|PREP: Connect socket to address 198.151.241.50,
520|1230 1 433586187 2 4|PREP: Send test data
520|1230 1 433586187 2 5|TEST: poll AF_INET socket for POLLIN
520|1230 1 433586187 2 6|CLEANUP: Close socket, kill server
520|1230 1 433586187 2 7|TEST: AF_UNIX SOCK_STREAM
520|1230 1 433586187 2 8|PREP: Create test sockaddr_un: path = ../tmp/un
520|1230 1 62455825 1 1|PREP: Server: create socket
520|1230 1 62455825 1 2|PREP: Server: bind address 198.151.241.50, port
520|1230 1 62455825 1 3|PREP: Server: listen on socket
520|1230 1 62455825 1 4|PREP: Server: notify client server is ready
520|1230 1 62455825 1 5|PREP: Server: accept connection
520|1230 1 62455825 1 6|INFO: Server: accepted connection from address 1
520|1230 1 62455825 1 7|PREP: echo_server: read and echo data
520|1230 1 62455825 1 8|INFO: echo_server: echoed 11 bytes of data (ABC1
520|1230 1 62455825 1 9|INFO: echo_server: recv returned -1, errno = 112
520|1230 1 62455825 1 10|INFO: Server received signal 15
520|1230 1 62455825 1 11|INFO: Server terminated
520|1230 1 433586187 3 1|PREP: Wait for server to be ready
520|1230 1 433586187 4 2|PREP: Create a socket
520|1230 1 433586187 4 3|PREP: Connect socket to address 198.151.241.50,
520|1230 1 433586187 4 4|PREP: Send test data
520|1230 1 433586187 4 5|TEST: poll AF_INET socket for POLLIN
520|1230 1 433586187 4 6|CLEANUP: Close socket, kill server
520|1230 1 433586187 4 7|TEST: AF_UNIX SOCK_DGRAM
520|1230 1 433586187 4 8|PREP: Create test sockaddr_un: path = ../tmp/un
520|1230 1 62586897 1 1|PREP: Server: create socket
520|1230 1 62586897 1 2|PREP: Server: bind address 198.151.241.50, port
520|1230 1 62586897 1 3|PREP: Server: notify client server is ready
520|1230 1 62586897 1 4|PREP: Server: read and echo data
520|1230 1 62586897 1 5|INFO: Server: echoed 11 bytes of data (ABC123TES
520|1230 1 62586897 1 6|INFO: Server received signal 15
520|1230 1 62586897 1 7|INFO: Server terminated
520|1230 1 433586187 5 1|PREP: Wait for server to be ready
520|1230 1 433586187 5 2|PREP: Create a socket
520|1230 1 433586187 5 3|PREP: Connect to address ../tmp/unix.dheBxQ
520|1230 1 433586187 5 4|PREP: Send test data
520|1230 1 433586187 5 5|TEST: poll AF_UNIX socket for POLLIN
520|1230 1 433586187 5 6|ERROR: poll returned 0 (call timed out)
520|1230 1 433586187 5 7|PREP: Create pipe
520|1230 1 433586187 5 8|PREP: Write data to one end of pipe
520|1230 1 433586187 5 9|TEST: poll other end of pipe for POLLIN
520|1230 1 433586187 5 10|CLEANUP: Close pipe
520|1230 1 433586187 5 11|PREP: Create fifo
520|1230 1 433586187 5 12|PREP: Write data to one end of FIFO
520|1230 1 433586187 5 13|TEST: poll other end of FIFO for POLLIN
520|1230 1 433586187 5 14|CLEANUP: Remove fifo
520|1230 1 433586187 5 15|PREP: Open tty (VSU_TERMIOS_TTY)
520|1230 1 433586187 5 16|ERROR: open failed, errno = 139(EPERM - Not ow
520|1230 1 433586187 5 17|PREP: Open pseudo ttys
520|1230 1 433586187 5 18|PREP: Write data to one end of pseudo-tty
520|1230 1 433586187 5 19|TEST: poll pseudo-tty for POLLIN
520|1230 1 433586187 5 20|CLEANUP: Close pseudo terminal
520|1230 1 433586187 5 21|PREP: Obtain file descriptor for regular file
520|1230 1 433586187 5 22|TEST: Regular file polls TRUE for reading
520|1230 1 433586187 5 23|CLEANUP: Close file
520|1230 1 433586187 5 24|PREP: Create a streams
520|1230 1 433586187 5 25|PREP: Create a pipe
520|1230 1 433586187 5 26|PREP: Determine if pipe is a stream
520|1230 1 433586187 5 27|INFO: Pipes are not STREAMs on this implementa
520|1230 1 433586187 5 28|PREP: Open master pseudo tty
520|1230 1 433586187 5 29|PREP: Determine if pseudo tty is a stream
520|1230 1 62652433 1 1|PREP: Server: create socket
520|1230 1 62652433 1 2|PREP: Server: bind address ../tmp/unix.dheBxQ to
520|1230 1 62652433 1 3|PREP: Server: notify client server is ready
520|1230 1 62652433 1 4|PREP: Server: read and echo data
520|1230 1 62652433 1 5|INFO: Server: echoed 11 bytes of data (ABC123TES
520|1230 1 62652433 1 6|INFO: Server received signal 15
520|1230 1 62652433 1 7|INFO: Server terminated
220|1230 1 1 00:51:37|FAIL
410|1230 25 1 00:51:37|IC End
80|1231 0 00:51:37|TC EndReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
We recommend this request be refused.
We agree that the spec does not require an implementation to
support physical terminal ports. But, we believe the output
above does not match the output one would expect from such
an implementation.
The EPERM errors indicate that a specified device was present but that
there was insufficient privilege to open that device.
We believe this is probably a configuration error. If no physical
ports exist for an implementation then VSU_TERMIOS_TTY and
VSU_TERMIOS_LOOP should be undefined.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Rejected (REJ) Review Conclusion
This request is refused.
Problem Reporting System Options:
- View Report 1169
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority