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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1637 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 1637.


Report 1637 Actions


    Problem Report Number 1637
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Permanent Interpretation (PIN)
    Problem Resolution ID PIN.X.0194
    Raised 1999-05-10 08:00
    Updated 2003-03-13 08:00
    Published 1999-05-17 08:00
    Product Standard Internationalised System Calls and Libraries Extended (UNIX 95)
    Certification Program The Open Brand certification program
    Test Suite VSU version 5.0.3
    Test Identification CAPI.os/xcurses/get_wstr 1
    Specification System Interfaces and Libraries Issue 4 Version 2
    Location in Spec See Problem Text
    Problem Summary PIN4U.00060 These tests may fail due to a corrigenda change.
    Problem Text
    This report is for the following test cases:

    get_wstr # 1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 17, 18, 20, 22, 23
    getn_wstr # 1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 17, 18, 20, 22, 23
    mvget_wstr # 1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 17, 18, 20, 22, 23
    mvgetn_wstr # 1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 17, 18, 20, 22, 23
    mvwget_wstr # 1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 22, 23
    mvwgetn_wstr # 1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 22, 23
    wget_wstr # 1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 22, 23
    wgetn_wstr # 1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 22, 23



    testcase get_wstr #1 include the following logic:

    wint_t buffer[80];
    char mbbuffer[80]
    .
    .
    .
    Output("newline\n");
    .
    .
    .
    memset(buffer, 0, 80);
    s2 = get_wstr(buffer);
    .
    .
    .
    memset(mbbuffer, 0 sizeof(mbbuffer));
    errno = 0;
    ret_val = wcstombs(mbbuffer, (const wchar_t *) buffer, sizeof(mbbuffer));
    .
    .
    .

    On our implementation wint_t is 4 bytes, and wchar_t is 2 bytes.

    When get_wstr(buffer) is called after Output("newline\n")
    get_wstr() stores each character as a 4 byte quantity, padding
    the high order 2 bytes will null (\0), as follows:

    \0 n \0 e \0 w \0 l \0 i \0 n \0 e \0 \n

    In the call to wcstombs(), the contents of buffer an array of 4 byte
    wint_t is typecast to (const wchar_t *), which are 2 byte quantities

    Therefore, wcstombs() is treating these as two byte quantites, and
    therefore is called for \0 (null) as the first wchar_t in the string...

    Per the description of wcstombs(), page 727 of the System Interfaces
    and Headers, Issue 4 Version 2 spec:

    "The wcstombs() function converts the sequence of wide-character codes
    that are in the array pointed to by pwcs into a sequence of characters
    that begins in the initial shift state and stores these characters into
    the array pointed to by s, stopping if a character would exceed the
    limit of n total bytes OR IF A NULL BYTE IS STORED."

    Therefore it stops at the first character that it processes since it
    is null, which explains why the testcase received "", rather than
    "newline"

    Similar logic is found in the other failing testcases, and the
    same rational explains why they are also failing on our platform
    due to a problem in the test suite.

    Note that these testcases passed on our implementation before we
    made the changes in the protypes per Corrigendum U018, Change Number 1.
    Test Output
    TEST CASE: get_wstr

    TEST PURPOSE #1
    When the window stdscr is in no-delay mode a
    successful call to int get_wstr(wint_t *wstr) shall
    read wide characters from the current terminal into
    the area pointed to by wstr until a newline, end-of-line
    character or end-of-file character is read and return
    OK.
    PREP: Set test locale: /tmp/xcurses_locale
    PREP: Set environment variables and open terminal connection
    PREP: Call newterm
    PREP: Initialize color pairs
    PREP: Set nodelay, nonl
    PREP: Write a newline terminated string to read back
    TEST: Read the line with get_wstr
    TEST: Return value
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    PREP: Write an end-of-line terminated string to read back
    TEST: Read the line with get_wstr
    TEST: Return value
    TEST: Data received correctly
    ERROR: Expected "carriage", received ""
    CLEANUP: Call endwin
    CLEANUP: Call delscreen
    CLEANUP: Restore environment variables and close terminal connection
    1 FAIL

    [ The test output for the following tests has been trimmed of "PREP:",
    "CLEANUP:" and most "TEST:" lines, to reduce the size of the formatted PIN. ]

    TEST PURPOSE #3
    When the window stdscr is in delay mode a successful
    call to int get_wstr(wint_t *wstr) shall read
    characters from the current terminal into the area
    pointed to by wstr until a newline, end-of-line character or
    end-of-file character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    TEST: Data received correctly
    ERROR: Expected "carriage", received ""
    3 FAIL

    TEST PURPOSE #4
    When the window stdscr is in delay mode and input from
    the current terminal is exhausted prior to reading a
    newline, end-of-line character or end-of-file character a call
    to int get_wstr(wint_t *wstr) shall delay until input
    becomes available.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    4 FAIL

    TEST PURPOSE #5
    When the window stdscr is in half-delay mode a
    successful call to int get_wstr(wint_t *wstr) shall
    read characters from the current terminal and store
    them into the area pointed to by wstr until a
    newline, end-of-line character or end-of-file character is read
    and return OK.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    5 FAIL

    TEST PURPOSE #6
    When the window stdscr is in half-delay mode and input
    from the current terminal is exhausted prior to
    reading a newline, end-of-line character or end-of-file
    character a call to int get_wstr(wint_t *wstr) shall
    delay awaiting further input and return OK if it is
    received prior to the expiration of the specified
    timeout.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    6 FAIL

    TEST PURPOSE #8
    When timeout has been used to set blocking read for
    the window stdscr a successful call to int
    get_wstr(wint_t *wstr) shall read characters from the
    current terminal into the area pointed to by wstr
    until a newline, end-of-line character or end-of-file character
    is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    8 FAIL

    TEST PURPOSE #9
    When timeout has been used to set blocking read for
    the window stdscr and input from the current terminal
    is exhausted prior to reading a newline, end-of-line character
    or end-of-file character a call to int get_wstr(wint_t
    *wstr) shall delay until input becomes available.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    9 FAIL

    TEST PURPOSE #10
    When timeout has been used to set non-blocking read
    for the window stdscr a successful call to int
    get_wstr(wint_t *wstr) shall read characters from the
    current terminal into the area pointed to by wstr
    until a newline, end-of-line character or end-of-file character
    is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    10 FAIL

    TEST PURPOSE #12
    When timeout has been used to set blocking read with a
    timeout for the window stdscr a successful call to int
    get_wstr(wint_t *wstr) shall read characters from the
    current terminal into the area pointed to by wstr
    until a newline, end-of-line character or end-of-file character
    is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    12 FAIL

    TEST PURPOSE #13
    When timeout has been used to set blocking read with a
    timeout for the window stdscr and input from the
    current terminal is exhausted prior to reading a
    newline, end-of-line character or end-of-file character a call
    to int get_wstr(wint_t *wstr) shall delay awaiting
    further input and return OK if it is received prior to
    the expiration of the specified timeout.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    13 FAIL

    TEST PURPOSE #15
    When echo has been set a call to int get_wstr(wint_t
    *wstr) shall echo characters it reads to the window
    stdscr, advancing the cursor position for stdscr.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    15 FAIL

    TEST PURPOSE #16
    When noecho has been set a call to int get_wstr(wint_t
    *wstr) shall not echo characters it reads to the
    window stdscr.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    16 FAIL

    TEST PURPOSE #17
    A call to int get_wstr(wint_t *wstr) shall interpret
    the kill and erase characters.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    TEST: Data received correctly
    ERROR: Expected "Hello2", received ""
    17 FAIL

    TEST PURPOSE #18
    A call to int get_wstr(wint_t *wstr) shall interpret
    special keys (such as function keys, "home" key,
    "clear" key, etc.)".
    TEST: Data received correctly
    ERROR: Expected "X", received ""
    18 FAIL

    TEST PURPOSE #20
    When the window stdscr has been modified since the
    last call to refresh a call to int get_wstr(wint_t
    *wstr) shall cause refresh to be called before
    characters are read.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    20 FAIL

    TEST PURPOSE #22
    When keypad is TRUE for the window stdscr and a
    character that could be the beginning of a function
    key is received and the remainder of the sequence does
    not come in within a designated time a call to int
    get_wstr(wint_t *wstr) shall pass through the
    character.
    TEST: Escape returned
    ERROR: get_wstr read 0, ('
    22 FAIL

    TEST PURPOSE #23
    When keypad is FALSE for the window stdscr and a
    function key is pressed a call to int get_wstr(wint_t
    *wstr) shall return the raw characters.
    TEST: Escape returned
    ERROR: get_wstr read 0, ('
    23 FAIL

    TEST CASE: getn_wstr

    TEST PURPOSE #1
    When the window stdscr is in no-delay mode a
    successful call to int getn_wstr(wint_t *wstr, int n)
    shall read n wide characters from the current terminal
    into the area pointed to by wstr until a newline, end-of-line
    character or end-of-file character is read and return
    OK.
    TEST: Data received correctly
    ERROR: Expected "newl", received ""
    TEST: Data received correctly
    ERROR: Expected "carr", received ""
    1 FAIL

    TEST PURPOSE #3
    When the window stdscr is in delay mode a successful
    call to int getn_wstr(wint_t *wstr, int n) shall read
    n wide characters from the current terminal into the
    area pointed to by wstr until a newline, end-of-line character
    or end-of-file character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    TEST: Data received correctly
    ERROR: Expected "carriage", received ""
    3 FAIL

    TEST PURPOSE #4
    When the window stdscr is in delay mode and input from
    the current terminal is exhausted prior to reading a
    newline, end-of-line character or end-of-file character a call
    to int getn_wstr(wint_t *wstr, int n) shall delay
    until input becomes available.
    TEST: Data received correctly
    ERROR: Expected "Hello my ", received ""
    4 FAIL

    TEST PURPOSE #5
    When the window stdscr is in half-delay mode a
    successful call to int getn_wstr(wint_t *wstr, int n)
    shall read n wide characters from the current terminal
    and store them into the area pointed to by wstr until
    a newline, end-of-line character or end-of-file character is
    read and return OK.
    TEST: Data received correctly
    ERROR: Expected "Hello c", received ""
    5 FAIL

    TEST PURPOSE #6
    When the window stdscr is in half-delay mode and input
    from the current terminal is exhausted prior to
    reading a newline, end-of-line character or end-of-file
    character a call to int getn_wstr(wint_t *wstr, int n)
    shall delay awaiting further input and return OK if it
    is received prior to the expiration of the specified
    timeout.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    6 FAIL

    TEST PURPOSE #8
    When wtimeout has been used to set blocking read for
    the window stdscr a successful call to int
    getn_wstr(wint_t *wstr, int n) shall read wide
    characters from the current terminal into the area
    pointed to by wstr until a newline, end-of-line character or
    end-of-file character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    8 FAIL

    TEST PURPOSE #9
    When wtimeout has been used to set blocking read for
    the window stdscr and input from the current terminal
    is exhausted prior to reading a newline, end-of-line character
    or end-of-file character a call to int
    getn_wstr(wint_t *wstr, int n) shall delay until input
    becomes available.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    9 FAIL

    TEST PURPOSE #10
    When wtimeout has been used to set non-blocking read
    for the window stdscr a successful call to int
    getn_wstr(wint_t *wstr, int n) shall read wide
    characters from the current terminal into the area
    pointed to by wstr until a newline, end-of-line character or
    end-of-file character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    10 FAIL

    TEST PURPOSE #12
    When wtimeout has been used to set blocking read with
    a timeout for the window stdscr a successful call to
    int getn_wstr(wint_t *wstr, int n) shall read wide
    characters from the current terminal into the area
    pointed to by wstr until a newline, end-of-line character or
    end-of-file character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    12 FAIL

    TEST PURPOSE #13
    When wtimeout has been used to set blocking read with
    a timeout for the window stdscr and input from the
    current terminal is exhausted prior to reading a
    newline, end-of-line character or end-of-file character a call
    to int getn_wstr(wint_t *wstr, int n) shall delay
    awaiting further input and return OK if it is received
    prior to the expiration of the specified timeout.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    13 FAIL

    TEST PURPOSE #15
    When echo has been set a call to int getn_wstr(wint_t
    *wstr, int n) shall echo characters read to the window
    stdscr at the cursor position for stdscr advancing the
    cursor position for stdscr.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    15 FAIL

    TEST PURPOSE #16
    When noecho has been set a call to int
    getn_wstr(wint_t *wstr, int n) shall not echo the
    characters read to the window stdscr.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    16 FAIL

    TEST PURPOSE #17
    A call to int getn_wstr(wint_t *wstr, int n) shall
    interpret the kill and erase characters.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    TEST: Data received correctly
    ERROR: Expected "Hello2", received ""
    17 FAIL

    TEST PURPOSE #18
    A call to int getn_wstr(wint_t *wstr, int n) shall
    interpret special keys (such as function keys,
    "home" key, "clear" key, etc.)".
    TEST: Data received correctly
    ERROR: Expected "X", received ""
    18 FAIL

    TEST PURPOSE #20
    When the window stdscr has been modified since the
    last call to refresh for stdscr a call to int
    getn_wstr(wint_t *wstr, int n) shall cause refresh to
    be called for stdscr before characters are read.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    20 FAIL

    TEST PURPOSE #22
    When keypad is TRUE for the window stdscr and a
    character that could be the beginning of a function
    key is received and the remainder of the sequence does
    not come in within a designated time a call to int
    getn_wstr(wint_t *wstr, int n) shall pass through the
    character.
    TEST: Escape returned
    ERROR: getn_wstr read 0 ('
    22 FAIL

    TEST PURPOSE #23
    When keypad is FALSE for the window stdscr and a
    function key is pressed a call to int getn_wstr(wint_t
    *wstr, int n) shall return the raw characters.
    TEST: Escape returned
    ERROR: getn_wstr read 0 ('
    23 FAIL

    TEST CASE: mvget_wstr

    TEST PURPOSE #1
    When the window stdscr is in no-delay mode a
    successful call to int mvget_wstr(int y, int x, wint_t
    *wstr) shall read wide characters from the current
    terminal into the area pointed to by wstr until a
    newline, end-of-line character or end-of-file character is read
    and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    1 FAIL

    TEST PURPOSE #3
    When the window stdscr is in delay mode a successful
    call to int mvget_wstr(int y, int x, wint_t *wstr)
    shall read wide characters from the current terminal
    into the area pointed to by wstr until a newline, end-of-line
    character or end-of-file character is read and return
    OK.

    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    TEST: Data received correctly
    ERROR: Expected "carriage", received ""
    3 FAIL

    TEST PURPOSE #4
    When the window stdscr is in delay mode and input from
    the current terminal is exhausted prior to reading a
    newline, end-of-line character or end-of-file character a call
    to int mvget_wstr(int y, int x, wint_t *wstr) shall
    delay until input becomes available.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    4 FAIL

    TEST PURPOSE #5
    When the window stdscr is in half-delay mode a
    successful call to int mvget_wstr(int y, int x, wint_t
    *wstr) shall read wide characters from the current
    terminal and store them into the area pointed to by
    wstr until a newline, end-of-line character or end-of-file
    character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    5 FAIL

    TEST PURPOSE #6
    When the window stdscr is in half-delay mode and input
    from the current terminal is exhausted prior to
    reading a newline, end-of-line character or end-of-file
    character a call to int mvget_wstr(int y, int x,
    wint_t *wstr) shall delay awaiting further input and
    return OK if it is received prior to the expiration of
    the specified timeout.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    6 FAIL

    TEST PURPOSE #8
    When timeout has been used to set blocking read for
    the window stdscr a successful call to int
    mvget_wstr(int y, int x, wint_t *wstr) shall read wide
    characters from the current terminal into the area
    pointed to by wstr until a newline, end-of-line character or
    end-of-file character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    8 FAIL

    TEST PURPOSE #9
    When timeout has been used to set blocking read for
    the window stdscr and input from the current terminal
    is exhausted prior to reading a newline, end-of-line character
    or end-of-file character a call to int mvget_wstr(int
    y, int x, wint_t *wstr) shall delay until input
    becomes available.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    9 FAIL

    TEST PURPOSE #10
    When timeout has been used to set non-blocking read
    for the window stdscr a successful call to int
    mvget_wstr(int y, int x, wint_t *wstr) shall read wide
    characters from the current terminal into the area
    pointed to by wstr until a newline, end-of-line character or
    end-of-file character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    10 FAIL

    TEST PURPOSE #12
    When timeout has been used to set blocking read with a
    timeout for the window stdscr a successful call to int
    mvget_wstr(int y, int x, wint_t *wstr) shall read wide
    characters from the current terminal into the area
    pointed to by wstr until a newline, end-of-line character or
    end-of-file character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    12 FAIL

    TEST PURPOSE #13
    When timeout has been used to set blocking read with a
    timeout for the window stdscr and input from the
    current terminal is exhausted prior to reading a
    newline, end-of-line character or end-of-file character a call
    to int mvget_wstr(int y, int x, wint_t *wstr) shall
    delay awaiting further input and return OK if it is
    received prior to the expiration of the specified
    timeout.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    13 FAIL

    TEST PURPOSE #15
    When echo has been set a call to int mvget_wstr(int y,
    int x, wint_t *wstr) shall move the cursor position
    for the window stdscr to (y, x), and echo characters
    read to stdscr at that position, advancing the cursor
    position for stdscr.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    15 FAIL

    TEST PURPOSE #16
    When noecho has been set a call to int mvget_wstr(int
    y, int x, wint_t *wstr) shall move the cursor position
    for the window stdscr to (y, x) but not echo
    characters read to stdscr.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    16 FAIL

    TEST PURPOSE #17
    A call to int mvget_wstr(int y, int x, wint_t *wstr)
    shall interpret the kill and erase characters.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    TEST: Data received correctly
    ERROR: Expected "Hello2", received ""
    17 FAIL

    TEST PURPOSE #18
    A call to int mvget_wstr(int y, int x, wint_t *wstr)
    shall interpret special keys (such as function keys,
    "home" key, "clear" key, etc.)".
    TEST: Data received correctly
    ERROR: Expected "X", received ""
    18 FAIL

    TEST PURPOSE #20
    When the window stdscr has been modified since the
    last call to refresh a call to int mvget_wstr(int y,
    int x, wint_t *wstr) shall cause refresh to be called
    before characters are read.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    20 FAIL

    TEST PURPOSE #22
    When keypad is TRUE for the window stdscr and a
    character that could be the beginning of a function
    key is received and the remainder of the sequence does
    not come in within a designated time a call to int
    mvget_wstr(int y, int x, wint_t *wstr) shall pass
    through the character.
    TEST: Escape returned
    ERROR: mvget_wstr read 0 ('
    22 FAIL

    TEST PURPOSE #23
    When keypad a call to int mvget_wstr(int y, int x,
    wint_t *wstr) is FALSE for the window stdscr and a
    function key is pressed shall return the raw
    characters.
    TEST: Escape returned
    ERROR: mvget_wstr read 0 ('
    23 FAIL

    TEST CASE: mvgetn_wstr

    TEST PURPOSE #1
    When the window stdscr is in no-delay mode a
    successful call to int mvgetn_wstr(int y, int x,
    wint_t *wstr, int n) shall read n wide characters from
    the current terminal into the area pointed to by wstr
    until a newline, end-of-line character or end-of-file character
    is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newl", received ""
    1 FAIL

    TEST PURPOSE #3
    When the window stdscr is in delay mode a successful
    call to int mvgetn_wstr(int y, int x, wint_t *wstr,
    int n) shall read n wide characters from the current
    terminal into the area pointed to by wstr until a
    newline, end-of-line character or end-of-file character is read
    and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    TEST: Data received correctly
    ERROR: Expected "carriage", received ""
    3 FAIL

    TEST PURPOSE #4
    When the window stdscr is in delay mode and input from
    the current terminal is exhausted prior to reading a
    newline, end-of-line character or end-of-file character a call
    to int mvgetn_wstr(int y, int x, wint_t *wstr, int n)
    shall delay until input becomes available.
    TEST: Data received correctly
    ERROR: Expected "Hello my ", received ""
    4 FAIL

    TEST PURPOSE #5
    When the window stdscr is in half-delay mode a
    successful call to int mvgetn_wstr(int y, int x,
    wint_t *wstr, int n) shall read n wide characters from
    the current terminal and store them into the area
    pointed to by wstr until a newline, end-of-line character or
    end-of-file character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "Hello c", received ""
    5 FAIL

    TEST PURPOSE #6
    When the window stdscr is in half-delay mode and input
    from the current terminal is exhausted prior to
    reading a newline, end-of-line character or end-of-file
    character a call to int mvgetn_wstr(int y, int x,
    wint_t *wstr, int n) shall delay awaiting further
    input and return OK if it is received prior to the
    expiration of the specified timeout.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    6 FAIL

    TEST PURPOSE #8
    When wtimeout has been used to set blocking read for
    the window stdscr a successful call to int
    mvgetn_wstr(int y, int x, wint_t *wstr, int n) shall
    read wide characters from the current terminal into
    the area pointed to by wstr until a newline, end-of-line
    character or end-of-file character is read and return
    OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    8 FAIL

    TEST PURPOSE #9
    When wtimeout has been used to set blocking read for
    the window stdscr and input from the current terminal
    is exhausted prior to reading a newline, end-of-line character
    or end-of-file character a call to int mvgetn_wstr(int
    y, int x, wint_t *wstr, int n) shall delay until input
    becomes available.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    9 FAIL

    TEST PURPOSE #10
    When wtimeout has been used to set non-blocking read
    for the window stdscr a successful call to int
    mvgetn_wstr(int y, int x, wint_t *wstr, int n) shall
    read wide characters from the current terminal into
    the area pointed to by wstr until a newline, end-of-line
    character or end-of-file character is read and return
    OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    10 FAIL

    TEST PURPOSE #12
    When wtimeout has been used to set blocking read with
    a timeout for the window stdscr a successful call to
    int mvgetn_wstr(int y, int x, wint_t *wstr, int n)
    shall read wide characters from the current terminal
    into the area pointed to by wstr until a newline, end-of-line
    character or end-of-file character is read and return
    OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    12 FAIL

    TEST PURPOSE #13
    When wtimeout has been used to set blocking read with
    a timeout for the window stdscr and input from the
    current terminal is exhausted prior to reading a
    newline, end-of-line character or end-of-file character a call
    to int mvgetn_wstr(int y, int x, wint_t *wstr, int n)
    shall delay awaiting further input and return OK if it
    is received prior to the expiration of the specified
    timeout.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    13 FAIL

    TEST PURPOSE #15
    When echo has been set a call to int mvgetn_wstr(int
    y, int x, wint_t *wstr, int n) shall move the cursor
    position for the window stdscr to (y, x), and echo
    characters read to the window stdscr at that position,
    advancing the cursor position for stdscr.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    15 FAIL

    TEST PURPOSE #16
    When noecho has been set a call to int mvgetn_wstr(int
    y, int x, wint_t *wstr, int n) shall move the cursor
    position for the window stdscr to (y, x) but not echo
    characters read to the window stdscr.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    16 FAIL

    TEST PURPOSE #17
    A call to int mvgetn_wstr(int y, int x, wint_t *wstr,
    int n) shall interpret the kill and erase characters.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    TEST: Data received correctly
    ERROR: Expected "Hello2", received ""
    17 FAIL

    TEST PURPOSE #18
    A call to int mvgetn_wstr(int y, int x, wint_t *wstr,
    int n) shall interpret special keys (such as function
    keys, "home" key, "clear" key, etc.)".
    TEST: Data received correctly
    ERROR: Expected "X", received ""
    18 FAIL

    TEST PURPOSE #20
    When the window stdscr has been modified since the
    last call to refresh for stdscr a call to int
    mvgetn_wstr(int y, int x, wint_t *wstr, int n) shall
    cause refresh to be called for stdscr before
    characters are read.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    20 FAIL

    TEST PURPOSE #22
    When keypad is TRUE for the window stdscr and a
    character that could be the beginning of a function
    key is received and the remainder of the sequence does
    not come in within a designated time a call to int
    mvgetn_wstr(int y, int x, wint_t *wstr, int n) shall
    pass through the character.
    TEST: Escape returned
    ERROR: mvgetn_wstr read 0 ('
    22 FAIL

    TEST PURPOSE #23
    When keypad is FALSE for the window stdscr and a
    function key is pressed a call to int mvgetn_wstr(int
    y, int x, wint_t *wstr, int n) shall return the raw
    characters.
    TEST: Escape returned
    ERROR: mvgetn_wstr read 0 ('
    23 FAIL

    TEST CASE: mvwget_wstr

    TEST PURPOSE #1
    A successful call to int mvwget_wstr(WINDOW *win, int
    y, int x, wint_t *wstr) when the window win is in
    no-delay mode shall read wide characters from the
    current terminal into the area pointed to by wstr
    until a end-of-line character or end-of-file character
    is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    1 FAIL

    TEST PURPOSE #3
    When the window win is in delay mode a successful call
    to int mvwget_wstr(WINDOW *win, int y, int x, wint_t
    *wstr) shall read wide characters from the current
    terminal into the area pointed to by wstr until a
    end-of-line character or end-of-file character is read
    and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    TEST: Data received correctly
    ERROR: Expected "carriage", received ""
    3 FAIL

    TEST PURPOSE #4
    When the window win is in delay mode and input from
    the current terminal is exhausted prior to reading a
    end-of-line character or end-of-file character a call
    to int mvwget_wstr(WINDOW *win, int y, int x, wint_t
    *wstr) shall delay until input becomes available.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    4 FAIL

    TEST PURPOSE #5
    When the window win is in half-delay mode a successful
    call to int mvwget_wstr(WINDOW *win, int y, int x,
    wint_t *wstr) shall read wide characters from the
    current terminal and store them into the area pointed
    to by wstr until a end-of-line character or
    end-of-file character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    5 FAIL

    TEST PURPOSE #6
    When the window win is in half-delay mode and input
    from the current terminal is exhausted prior to
    reading a end-of-line character or end-of-file
    character a call to int mvwget_wstr(WINDOW *win, int
    y, int x, wint_t *wstr) shall delay awaiting further
    input and return OK if it is received prior to the
    expiration of the specified timeout.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    6 FAIL

    TEST PURPOSE #8
    When wtimeout has been used to set blocking read for
    the window win a successful call to int
    mvwget_wstr(WINDOW *win, int y, int x, wint_t *wstr)
    shall read wide characters from the current terminal
    into the area pointed to by wstr until a end-of-line
    character or end-of-file character is read and return
    OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    8 FAIL

    TEST PURPOSE #9
    When wtimeout has been used to set blocking read for
    the window win and input from the current terminal is
    exhausted prior to reading a end-of-line character or
    end-of-file character a call to int mvwget_wstr(WINDOW
    *win, int y, int x, wint_t *wstr) shall delay until
    input becomes available.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    9 FAIL

    TEST PURPOSE #10
    When wtimeout has been used to set non-blocking read
    for the window win a successful call to int
    mvwget_wstr(WINDOW *win, int y, int x, wint_t *wstr)
    shall read wide characters from the current terminal
    into the area pointed to by wstr until a end-of-line
    character or end-of-file character is read and return
    OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    10 FAIL

    TEST PURPOSE #12
    When wtimeout has been used to set blocking read with
    a timeout for the window win a successful call to int
    mvwget_wstr(WINDOW *win, int y, int x, wint_t *wstr)
    shall read wide characters from the current terminal
    into the area pointed to by wstr until a end-of-line
    character or end-of-file character is read and return
    OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""

    12 FAIL

    TEST PURPOSE #13
    When wtimeout has been used to set blocking read with
    a timeout for the window win and input from the
    current terminal is exhausted prior to reading a
    end-of-line character or end-of-file character a call
    to int mvwget_wstr(WINDOW *win, int y, int x, wint_t
    *wstr) shall delay awaiting further input and return
    OK if it is received prior to the expiration of the
    specified timeout.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    13 FAIL

    TEST PURPOSE #15
    When echo has been set a call to int
    mvwget_wstr(WINDOW *win, int y, int x, wint_t *wstr)
    shall move the cursor for the window win to (y, x) and
    echo characters read to win at that position,
    advancing the cursor position for win.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    15 FAIL

    TEST PURPOSE #16
    When noecho has been set a call to int
    mvwget_wstr(WINDOW *win, int y, int x, wint_t *wstr)
    shall move the cursor position for the window win to
    (y, x) but not echo the characters read to win.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    16 FAIL

    TEST PURPOSE #17
    A call to int mvwget_wstr(WINDOW *win, int y, int x,
    wint_t *wstr) shall interpret the kill and erase
    characters.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    TEST: Data received correctly
    ERROR: Expected "Hello2", received ""
    17 FAIL

    TEST PURPOSE #18
    A call to int mvwget_wstr(WINDOW *win, int y, int x,
    wint_t *wstr) shall interpret special keys (such as
    function keys, "home" key, "clear" key, etc.)".
    TEST: Data received correctly
    ERROR: Expected "X", received ""
    18 FAIL

    TEST PURPOSE #19
    When the window win is not a pad and it has been moved
    since the last call to wrefresh for the window win a
    call to int mvwget_wstr(WINDOW *win, int y, int x,
    wint_t *wstr) shall cause wrefresh to be called for
    the window win before characters are read.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    19 FAIL

    TEST PURPOSE #20
    When the window win is not a pad and it and it has
    been modified since the last call to wrefresh for win
    a call to int mvwget_wstr(WINDOW *win, int y, int x,
    wint_t *wstr) shall cause wrefresh to be called for
    the window before characters are read.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    20 FAIL

    TEST PURPOSE #22
    When keypad is TRUE for the window win and a character
    that could be the beginning of a function key is
    received and the remainder of the sequence does not
    come in within a designated time a call to int
    mvwget_wstr(WINDOW *win, int y, int x, wint_t *wstr)
    shall pass through the character.
    TEST: Escape returned
    ERROR: mvwget_wstr read 0 ('
    22 FAIL

    TEST PURPOSE #23
    When keypad is FALSE for the window win and a function
    key is pressed a call to int mvwget_wstr(WINDOW *win,
    int y, int x, wint_t *wstr) shall return the raw
    characters.
    TEST: Escape returned
    ERROR: mvwget_wstr read 0 ('
    23 FAIL

    TEST CASE: mvwgetn_wstr

    TEST PURPOSE #1
    When the window win is in no-delay mode a successful
    call to int mvwgetn_wstr(WINDOW *win, int y, int x,
    wint_t *wstr, int n) shall read n wide characters from
    the current terminal into the area pointed to by wstr
    until a newline, end-of-line character or end-of-file character
    is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newl", received ""
    1 FAIL

    TEST PURPOSE #3
    When the window win is in delay mode a successful call
    to int mvwgetn_wstr(WINDOW *win, int y, int x, wint_t
    *wstr, int n) shall read n wide characters from the
    current terminal into the area pointed to by wstr
    until a newline, end-of-line character or end-of-file character
    is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    TEST: Data received correctly
    ERROR: Expected "carriage", received ""
    3 FAIL

    TEST PURPOSE #4
    When the window win is in delay mode and input from
    the current terminal is exhausted prior to reading a
    newline, end-of-line character or end-of-file character a call
    to int mvwgetn_wstr(WINDOW *win, int y, int x, wint_t
    *wstr, int n) shall delay until input becomes
    available.
    TEST: Data received correctly
    ERROR: Expected "Hello my ", received ""
    4 FAIL

    TEST PURPOSE #5
    When the window win is in half-delay mode a successful
    call to int mvwgetn_wstr(WINDOW *win, int y, int x,
    wint_t *wstr, int n) shall read n wide characters from
    the current terminal and store them into the area
    pointed to by wstr until a newline, end-of-line character or
    end-of-file character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "Hello c", received ""
    5 FAIL

    TEST PURPOSE #6
    When the window win is in half-delay mode and input
    from the current terminal is exhausted prior to
    reading a newline, end-of-line character or end-of-file
    character a call to int mvwgetn_wstr(WINDOW *win, int
    y, int x, wint_t *wstr, int n) shall delay awaiting
    further input and return OK if it is received prior to
    the expiration of the specified timeout.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    6 FAIL

    TEST PURPOSE #8
    When wtimeout has been used to set blocking read for
    the window win a successful call to int
    mvwgetn_wstr(WINDOW *win, int y, int x, wint_t *wstr,
    int n) shall read wide characters from the current
    terminal into the area pointed to by wstr until a
    newline, end-of-line character or end-of-file character is read
    and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    8 FAIL

    TEST PURPOSE #9
    When wtimeout has been used to set blocking read for
    the window win and input from the current terminal is
    exhausted prior to reading a newline, end-of-line character or
    end-of-file character a call to int
    mvwgetn_wstr(WINDOW *win, int y, int x, wint_t *wstr,
    int n) shall delay until input becomes available.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    9 FAIL

    TEST PURPOSE #10
    When wtimeout has been used to set non-blocking read
    for the window win a successful call to int
    mvwgetn_wstr(WINDOW *win, int y, int x, wint_t *wstr,
    int n) shall read wide characters from the current
    terminal into the area pointed to by wstr until a
    newline, end-of-line character or end-of-file character is read
    and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    10 FAIL

    TEST PURPOSE #12
    When wtimeout has been used to set blocking read with
    a timeout for the window win a successful call to int
    mvwgetn_wstr(WINDOW *win, int y, int x, wint_t *wstr,
    int n) shall read wide characters from the current
    terminal into the area pointed to by wstr until a
    newline, end-of-line character or end-of-file character is read
    and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    12 FAIL

    TEST PURPOSE #13
    When wtimeout has been used to set blocking read with
    a timeout for the window win and input from the
    current terminal is exhausted prior to reading a
    newline, end-of-line character or end-of-file character a call
    to int mvwgetn_wstr(WINDOW *win, int y, int x, wint_t
    *wstr, int n) shall delay awaiting further input and
    return OK if it is received prior to the expiration of
    the specified timeout.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    13 FAIL

    TEST PURPOSE #15
    When echo has been set a call to int
    mvwgetn_wstr(WINDOW *win, int y, int x, wint_t *wstr,
    int n) shall move the cursor position for the window
    win to (y, x) and echo characters read to win at the
    resulting position, advancing the cursor position for
    win.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    15 FAIL

    TEST PURPOSE #16
    When noecho has been set a call to int
    mvwgetn_wstr(WINDOW *win, int y, int x, wint_t *wstr,
    int n) shall move the cursor position for the window
    win to (y, x), but not echo characters read to win.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    16 FAIL

    TEST PURPOSE #17
    A call to int mvwgetn_wstr(WINDOW *win, int y, int x,
    wint_t *wstr, int n) shall interpret the kill and
    erase characters.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    TEST: Data received correctly
    ERROR: Expected "Hello2", received ""
    17 FAIL

    TEST PURPOSE #18
    A call to int mvwgetn_wstr(WINDOW *win, int y, int x,
    wint_t *wstr, int n) shall interpret special keys
    (such as function keys, "home" key, "clear" key,
    etc.)".
    TEST: Data received correctly
    ERROR: Expected "X", received ""
    18 FAIL

    TEST PURPOSE #19
    When the window win is not a pad and it has been moved
    since the last call to wrefresh for the window a call
    to int mvwgetn_wstr(WINDOW *win, int y, int x, wint_t
    *wstr, int n) shall cause wrefresh to be called for
    the window before characters are read.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    19 FAIL

    TEST PURPOSE #20
    When the window win is not a pad and it and it has
    been modified since the last call to wrefresh for win
    a call to int mvwgetn_wstr(WINDOW *win, int y, int x,
    wint_t *wstr, int n) shall cause wrefresh to be called
    for win before characters are read.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    20 FAIL

    TEST PURPOSE #22
    When keypad is TRUE for the window win and a character
    that could be the beginning of a function key is
    received and the remainder of the sequence does not
    come in within a designated time a call to int
    mvwgetn_wstr(WINDOW *win, int y, int x, wint_t *wstr,
    int n) shall pass through the character.
    TEST: Escape returned
    ERROR: mvwgetn_wstr read 0 ('
    22 FAIL

    TEST PURPOSE #23
    When keypad is FALSE for the window win and a function
    key is pressed a call to int mvwgetn_wstr(WINDOW *win,
    int y, int x, wint_t *wstr, int n) shall return the
    raw characters.
    TEST: Escape returned
    ERROR: mvwgetn_wstr read 0 ('
    23 FAIL

    TEST CASE: wget_wstr

    TEST PURPOSE #1
    When the window win is in no-delay mode a successful
    call to int wget_wstr(WINDOW *win, wint_t *wstr) shall
    read wide characters from the current terminal into
    the area pointed to by wstr until a newline, end-of-line
    character or end-of-file character is read and return
    OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    1 FAIL

    TEST PURPOSE #3
    When the window win is in delay mode a successful call
    to int wget_wstr(WINDOW *win, wint_t *wstr) shall read
    wide characters from the current terminal into the
    area pointed to by wstr until a newline, end-of-line character
    or end-of-file character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    TEST: Data received correctly
    ERROR: Expected "carriage", received ""
    3 FAIL

    TEST PURPOSE #4
    When the window win is in delay mode and input from
    the current terminal is exhausted prior to reading a
    newline, end-of-line character or end-of-file character a call
    to int wget_wstr(WINDOW *win, wint_t *wstr) shall
    delay until input becomes available.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    4 FAIL

    TEST PURPOSE #5
    When the window win is in half-delay mode a successful
    call to int wget_wstr(WINDOW *win, wint_t *wstr) shall
    read wide characters from the current terminal and
    store them into the area pointed to by wstr until a
    newline, end-of-line character or end-of-file character is read
    and return OK.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    5 FAIL

    TEST PURPOSE #6
    When the window win is in half-delay mode and input
    from the current terminal is exhausted prior to
    reading a newline, end-of-line character or end-of-file
    character a call to int wget_wstr(WINDOW *win, wint_t
    *wstr) shall delay awaiting further input and return
    OK if it is received prior to the expiration of the
    specified timeout.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    6 FAIL

    TEST PURPOSE #8
    When wtimeout has been used to set blocking read for
    the window win a successful call to int
    wget_wstr(WINDOW *win, wint_t *wstr) shall read wide
    characters from the current terminal into the area
    pointed to by wstr until a newline, end-of-line character or
    end-of-file character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    8 FAIL

    TEST PURPOSE #9
    When wtimeout has been used to set blocking read for
    the window win and input from the current terminal is
    exhausted prior to reading a newline, end-of-line character or
    end-of-file character a call to int wget_wstr(WINDOW
    *win, wint_t *wstr) shall delay until input becomes
    available.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    9 FAIL

    TEST PURPOSE #10
    When wtimeout has been used to set non-blocking read
    for the window win a successful call to int
    wget_wstr(WINDOW *win, wint_t *wstr) shall read wide
    characters from the current terminal into the area
    pointed to by wstr until a newline, end-of-line character or
    end-of-file character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    10 FAIL

    TEST PURPOSE #12
    When wtimeout has been used to set blocking read with
    a timeout for the window win a successful call to int
    wget_wstr(WINDOW *win, wint_t *wstr) shall read wide
    characters from the current terminal into the area
    pointed to by wstr until a newline, end-of-line character or
    end-of-file character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    12 FAIL

    TEST PURPOSE #13
    When wtimeout has been used to set blocking read with
    a timeout for the window win and input from the
    current terminal is exhausted prior to reading a
    newline, end-of-line character or end-of-file character a call
    to int wget_wstr(WINDOW *win, wint_t *wstr) shall
    delay awaiting further input and return OK if it is
    received prior to the expiration of the specified
    timeout.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    13 FAIL

    TEST PURPOSE #15
    When echo has been set a call to int wget_wstr(WINDOW
    *win, wint_t *wstr) shall echo characters read to the
    window win at the cursor position for win, advancing
    the cursor position for win.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    15 FAIL

    TEST PURPOSE #16
    When noecho has been set a call to int
    wget_wstr(WINDOW *win, wint_t *wstr) shall not echo
    the characters read to win.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    16 FAIL

    TEST PURPOSE #17
    A call to int wget_wstr(WINDOW *win, wint_t *wstr)
    shall interpret the kill and erase characters.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    TEST: Data received correctly
    ERROR: Expected "Hello2", received ""
    17 FAIL

    TEST PURPOSE #18

    A call to int wget_wstr(WINDOW *win, wint_t *wstr)
    shall interpret special keys (such as function keys,
    "home" key, "clear" key, etc.)".
    TEST: Data received correctly
    ERROR: Expected "X", received ""
    18 FAIL

    TEST PURPOSE #19
    When the window win is not a pad and it has been moved
    since the last call to wrefresh for win a call to int
    wget_wstr(WINDOW *win, wint_t *wstr) shall cause
    wrefresh to be called for win before characters are
    read.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    19 FAIL

    TEST PURPOSE #20
    When the window win is not a pad and it and it has
    been modified since the last call to wrefresh for win
    a call to int wget_wstr(WINDOW *win, wint_t *wstr)
    shall cause wrefresh to be called for for win before
    characters are read.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    20 FAIL

    TEST PURPOSE #22
    When keypad is TRUE for the window win and a character
    that could be the beginning of a function key is
    received and the remainder of the sequence does not
    come in within a designated time a call to int
    wget_wstr(WINDOW *win, wint_t *wstr) shall return the
    character.
    TEST: Escape returned
    ERROR: wget_wstr read 0 ('
    22 FAIL

    TEST PURPOSE #23
    When keypad is FALSE for the window win and a function
    key is pressed a call to int wget_wstr(WINDOW *win,
    wint_t *wstr) shall return the raw characters.
    TEST: Escape returned
    ERROR: wget_wstr read 0 ('
    23 FAIL

    TEST CASE: wgetn_wstr

    TEST PURPOSE #1
    When the window win is in no-delay mode a successful
    call to int wgetn_wstr(WINDOW *win, wint_t *wstr, int
    n) shall read n wide characters from the current
    terminal into the area pointed to by wstr until a
    newline, end-of-line character or end-of-file character is read
    and return OK.
    TEST: Data received correctly
    ERROR: Expected "newl", received ""
    1 FAIL

    TEST PURPOSE #3
    When the window win is in delay mode a successful call
    to int wgetn_wstr(WINDOW *win, wint_t *wstr, int n)
    shall read n wide characters from the current terminal
    into the area pointed to by wstr until a newline, end-of-line
    character or end-of-file character is read and return
    OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    TEST: Data received correctly
    ERROR: Expected "carriage", received ""
    3 FAIL

    TEST PURPOSE #4
    When the window win is in delay mode and input from
    the current terminal is exhausted prior to reading a
    newline, end-of-line character or end-of-file character a call
    to int wgetn_wstr(WINDOW *win, wint_t *wstr, int n)
    shall delay until input becomes available.
    TEST: Data received correctly
    ERROR: Expected "Hello my ", received ""
    4 FAIL

    TEST PURPOSE #5
    When the window win is in half-delay mode a successful
    call to int wgetn_wstr(WINDOW *win, wint_t *wstr, int
    n) shall read n wide characters from the current
    terminal and store them into the area pointed to by
    wstr until a newline, end-of-line character or end-of-file
    character is read and return OK.
    TEST: Data received correctly
    ERROR: Expected "Hello c", received ""
    5 FAIL

    TEST PURPOSE #6
    When the window win is in half-delay mode and input
    from the current terminal is exhausted prior to
    reading a newline, end-of-line character or end-of-file
    character a call to int wgetn_wstr(WINDOW *win, wint_t
    *wstr, int n) shall delay awaiting further input and
    return OK if it is received prior to the expiration of
    the specified timeout.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    6 FAIL

    TEST PURPOSE #8
    When wtimeout has been used to set blocking read for
    the window win a successful call to int
    wgetn_wstr(WINDOW *win, wint_t *wstr, int n) shall
    read wide characters from the current terminal into
    the area pointed to by wstr until a newline, end-of-line
    character or end-of-file character is read and return
    OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    8 FAIL

    TEST PURPOSE #9
    When wtimeout has been used to set blocking read for
    the window win and input from the current terminal is
    exhausted prior to reading a newline, end-of-line character or
    end-of-file character a call to int wgetn_wstr(WINDOW
    *win, wint_t *wstr, int n) shall delay until input
    becomes available.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    9 FAIL

    TEST PURPOSE #10
    When wtimeout has been used to set non-blocking read
    for the window win a successful call to int
    wgetn_wstr(WINDOW *win, wint_t *wstr, int n) shall
    read wide characters from the current terminal into
    the area pointed to by wstr until a newline, end-of-line
    character or end-of-file character is read and return
    OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    10 FAIL

    TEST PURPOSE #12
    When wtimeout has been used to set blocking read with
    a timeout for the window win a successful call to int
    wgetn_wstr(WINDOW *win, wint_t *wstr, int n) shall
    read wide characters from the current terminal into
    the area pointed to by wstr until a newline, end-of-line
    character or end-of-file character is read and return
    OK.
    TEST: Data received correctly
    ERROR: Expected "newline", received ""
    12 FAIL

    TEST PURPOSE #13
    When wtimeout has been used to set blocking read with
    a timeout for the window win and input from the
    current terminal is exhausted prior to reading a
    newline, end-of-line character or end-of-file character a call
    to int wgetn_wstr(WINDOW *win, wint_t *wstr, int n)
    shall delay awaiting further input and return OK if it
    is received prior to the expiration of the specified
    timeout.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    13 FAIL

    TEST PURPOSE #15
    When echo has been set a call to int wgetn_wstr(WINDOW
    *win, wint_t *wstr, int n) shall echo characters read
    to the window win at the cursor position for win,
    advancing the cursor position for win.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    15 FAIL

    TEST PURPOSE #16
    When noecho has been set a call to int
    wgetn_wstr(WINDOW *win, wint_t *wstr, int n) shall not
    echo the characters read to win.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    16 FAIL

    TEST PURPOSE #17
    A call to int wgetn_wstr(WINDOW *win, wint_t *wstr,
    int n) shall interpret the kill and erase characters.
    TEST: Data received correctly
    ERROR: Expected "Hello", received ""
    TEST: Data received correctly
    ERROR: Expected "Hello2", received ""
    17 FAIL

    TEST PURPOSE #18
    A call to int wgetn_wstr(WINDOW *win, wint_t *wstr,
    int n) shall interpret special keys (such as function
    keys, "home" key, "clear" key, etc.)".
    TEST: Data received correctly
    ERROR: Expected "X", received ""
    18 FAIL

    TEST PURPOSE #19
    When the window win is not a pad and it has been moved
    since the last call to wrefresh for the window a call
    to int wgetn_wstr(WINDOW *win, wint_t *wstr, int n)
    shall cause wrefresh to be called for the window
    before characters are read.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    19 FAIL

    TEST PURPOSE #20
    When the window win is not a pad and it and it has
    been modified since the last call to wrefresh for win
    a call to int wgetn_wstr(WINDOW *win, wint_t *wstr,
    int n) shall cause wrefresh to be called for win
    before characters are read.
    TEST: Data received correctly
    ERROR: Expected "Hello world", received ""
    20 FAIL

    TEST PURPOSE #22
    When keypad is TRUE for the window win and a character
    that could be the beginning of a function key is
    received and the remainder of the sequence does not
    come in within a designated time a call to int
    wgetn_wstr(WINDOW *win, wint_t *wstr, int n) shall
    pass through the character.
    TEST: Escape returned
    ERROR: wgetn_wstr read 0 ('
    22 FAIL

    TEST PURPOSE #23
    When keypad is FALSE for the window win and a function
    key is pressed a call to int wgetn_wstr(WINDOW *win,
    wint_t *wstr, int n) shall return the raw characters.
    TEST: Escape returned
    ERROR: wgetn_wstr read 0 ('
    23 FAIL

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    A Permanent Interpretation is recommend pending alignment of the
    test suite with the corrigenda in VSU5.0.4.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Permanent Interpretation (PIN)
    Review Conclusion
    A Permanent Interpretation is granted.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority