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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1374 Actions


    Problem Report Number 1374
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0656
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1996-10-28 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.1
    Test Identification Base/getutxid 2,3,4
    Problem Summary TSD4U.00161 This test may fail on all implementations when run against a database which contains entries from previous test runs.
    Problem Text
    The getutxid() #2, #3, #4 writes records to utmpx by
    write_several_entries() and expect getutxid() will return one
    of them.
    But getutxid() return a record which has existed before calling
    write_several_entries().
    So, the test would fail because above each record has different
    time stamp.

    The function getutxid() will not check utmp->ut_id when ut_type
    (designated by an argument) is BOOT_TIME or OLD_TIME or NEW_TIME.
    If ut_type is BOOT_TIME, then getutxid() returns real "system boot"
    record.
    If ut_type is OLD_TIME or NEW_TIME, the record written by the
    previous test will be returned by getutxid().
    We believe this is correct behavior of getutxid().

    For passing test #2, #3 and #4, we have to clean up utmp and utmpx
    before each test is executed.

    We tried following processes as an experiment.
    Truncate utmp and utmpx before each test.
    1. mv /var/adm/utmp /var/adm/utmp.orig
    2. mv /var/adm/utmpx /var/adm/utmpx.orig
    3. /usr/lib/acct/nulladm /var/adm/utmp /var/adm/utmpx
    4. vsurun getutxid 2
    ... journal is 0012bec/journal
    5. /usr/lib/acct/nulladm /var/adm/utmp /var/adm/utmpx
    6. vsurun getutxid 3
    ... journal is 0014bec/journal
    7. /usr/lib/acct/nulladm /var/adm/utmp /var/adm/utmpx
    8. vsurun getutxid 4
    ... journal is 0016bec/journal
    9. mv /var/adm/utmp.orig /var/adm/utmp
    10. mv /var/adm/utmpx.orig /var/adm/utmpx
    % more {0012bec,0014bec,0016bec}/all_report
    ::::::::::::::
    0012bec/all_report
    ::::::::::::::

    VSU4 DETAILED RESULTS REPORT


    SECTION: Discrete Tests

    TEST CASE: getutxid

    TEST PURPOSE #2
    A successful call to struct utmpx *getutxid(const
    struct utmpx *id) when the ut_type member of the utmpx
    structure pointed to by id is BOOT_TIME shall search
    forward from the current point in the user accounting
    database for an entry with a ut_type of BOOT_TIME and
    return a pointer to a utmpx structure containing a
    copy of the entry with meaningful data in the ut_tv
    member.
    PREP: Find a unique ut_id for use by the test
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: rewind the database
    TEST: getutxid() when ut_type is BOOT_TIME searches
    forward for the entry of type BOOT_TIME and
    returns a pointer to it
    2 PASS
    VSU4 SUMMARY RESULTS REPORT

    Test suite version: 4.1.1
    Specification version: XPG Version 4 Issue 2, X/Open Curses Issue 4
    Test run by: vsu00
    System: UNIX_SV emperor.bs.nanes.nec.co.jp 4.2MP 1.release.1007.01:40 R4000
    Test run started: Thursday October 17, 1996 11:00:46 AM
    Test run ended: Thursday October 17, 1996 11:00:53 AM
    Journal file: /home/TET/VSU4.1.1/CAPI/results/0012bec/journal
    TCC command line: tcc -bec -s /tmp/vsurun.24344 CAPI getutxid
    Report type: -d 0 -s 0


    TEST CASES 1
    TEST PURPOSES 1
    GOOD RESULTS
    PASS 1
    UNSUPPORTED 0
    UNTESTED 0
    NOTINUSE 0
    ANALYSIS NEEDED
    WARNING 0
    FIP 0
    ERROR RESULTS
    FAIL 0
    UNRESOLVED 0
    UNINITIATED 0
    ABORT 0
    ::::::::::::::
    0014bec/all_report
    ::::::::::::::
    VSU4 DETAILED RESULTS REPORT


    SECTION: Discrete Tests

    TEST CASE: getutxid

    TEST PURPOSE #3
    A successful call to struct utmpx *getutxid(const
    struct utmpx *id) when the ut_type member of the utmpx
    structure pointed to by id is OLD_TIME shall search
    forward from the current point in the user accounting
    database for an entry with a ut_type of OLD_TIME and
    return a pointer to a utmpx structure containing a
    copy of the entry with meaningful data in the ut_tv
    member.
    PREP: Find a unique ut_id for use by the test
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: rewind the database
    TEST: getutxid() when ut_type is OLD_TIME searches
    forward for the entry of type OLD_TIME and
    returns a pointer to it
    3 PASS
    VSU4 SUMMARY RESULTS REPORT

    Test suite version: 4.1.1
    Specification version: XPG Version 4 Issue 2, X/Open Curses Issue 4
    Test run by: vsu00
    System: UNIX_SV emperor.bs.nanes.nec.co.jp 4.2MP 1.release.1007.01:40 R4000
    Test run started: Thursday October 17, 1996 11:03:20 AM
    Test run ended: Thursday October 17, 1996 11:03:26 AM
    Journal file: /home/TET/VSU4.1.1/CAPI/results/0014bec/journal
    TCC command line: tcc -bec -s /tmp/vsurun.24425 CAPI getutxid
    Report type: -d 0 -s 0


    TEST CASES 1
    TEST PURPOSES 1
    GOOD RESULTS
    PASS 1
    UNSUPPORTED 0
    UNTESTED 0
    NOTINUSE 0
    ANALYSIS NEEDED
    WARNING 0
    FIP 0
    ERROR RESULTS
    FAIL 0
    UNRESOLVED 0
    UNINITIATED 0
    ABORT 0
    ::::::::::::::
    0016bec/all_report
    ::::::::::::::
    VSU4 DETAILED RESULTS REPORT


    SECTION: Discrete Tests

    TEST CASE: getutxid

    TEST PURPOSE #4
    A successful call to struct utmpx *getutxid(const
    struct utmpx *id) when the ut_type member of the utmpx
    structure pointed to by id is NEW_TIME shall search
    forward from the current point in the user accounting
    database for an entry with a ut_type of NEW_TIME and
    return a pointer to a utmpx structure containing a
    copy of the entry with meaningful data in the ut_tv
    member.
    PREP: Find a unique ut_id for use by the test
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: rewind the database
    TEST: getutxid() when ut_type is NEW_TIME searches
    forward for the entry of type NEW_TIME and
    returns a pointer to it
    4 PASS
    VSU4 SUMMARY RESULTS REPORT

    Test suite version: 4.1.1
    Specification version: XPG Version 4 Issue 2, X/Open Curses Issue 4
    Test run by: vsu00
    System: UNIX_SV emperor.bs.nanes.nec.co.jp 4.2MP 1.release.1007.01:40 R4000
    Test run started: Thursday October 17, 1996 11:04:57 AM
    Test run ended: Thursday October 17, 1996 11:05:04 AM
    Journal file: /home/TET/VSU4.1.1/CAPI/results/0016bec/journal
    TCC command line: tcc -bec -s /tmp/vsurun.24493 CAPI getutxid
    Report type: -d 0 -s 0


    TEST CASES 1
    TEST PURPOSES 1
    GOOD RESULTS
    PASS 1
    UNSUPPORTED 0
    UNTESTED 0
    NOTINUSE 0
    ANALYSIS NEEDED
    WARNING 0
    FIP 0
    ERROR RESULTS
    FAIL 0
    UNRESOLVED 0
    UNINITIATED 0
    ABORT 0
    Test Output
    TEST CASE: getutxid

    TEST PURPOSE #2
    A successful call to struct utmpx *getutxid(const
    struct utmpx *id) when the ut_type member of the utmpx
    structure pointed to by id is BOOT_TIME shall search
    forward from the current point in the user accounting
    database for an entry with a ut_type of BOOT_TIME and
    return a pointer to a utmpx structure containing a
    copy of the entry with meaningful data in the ut_tv
    member.
    PREP: Find a unique ut_id for use by the test
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: rewind the database
    TEST: getutxid() when ut_type is BOOT_TIME searches
    forward for the entry of type BOOT_TIME and
    returns a pointer to it
    ERROR: Invalid entry obtained from the database
    Expected entry: Type=2 Timestamp=sec:845342410 msec:560000
    Got entry: Type=2 Timestamp=sec:845333943 msec:0
    2 FAIL

    TEST PURPOSE #3
    A successful call to struct utmpx *getutxid(const
    struct utmpx *id) when the ut_type member of the utmpx
    structure pointed to by id is OLD_TIME shall search
    forward from the current point in the user accounting
    database for an entry with a ut_type of OLD_TIME and
    return a pointer to a utmpx structure containing a
    copy of the entry with meaningful data in the ut_tv
    member.
    PREP: Find a unique ut_id for use by the test
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: rewind the database
    TEST: getutxid() when ut_type is OLD_TIME searches
    forward for the entry of type OLD_TIME and
    returns a pointer to it
    ERROR: Invalid entry obtained from the database
    Expected entry: Type=3 Timestamp=sec:845342417 msec:100000
    Got entry: Type=3 Timestamp=sec:845342410 msec:0
    3 FAIL

    TEST PURPOSE #4
    A successful call to struct utmpx *getutxid(const
    struct utmpx *id) when the ut_type member of the utmpx
    structure pointed to by id is NEW_TIME shall search
    forward from the current point in the user accounting
    database for an entry with a ut_type of NEW_TIME and
    return a pointer to a utmpx structure containing a
    copy of the entry with meaningful data in the ut_tv
    member.
    PREP: Find a unique ut_id for use by the test
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: Initialize a unique database entry
    INFO: Effective (0) and real (100) uids do not match
    PREP: Write the entry to the database
    PREP: rewind the database
    TEST: getutxid() when ut_type is NEW_TIME searches
    forward for the entry of type NEW_TIME and
    returns a pointer to it
    ERROR: Invalid entry obtained from the database
    Expected entry: Type=4 Timestamp=sec:845342423 msec:690000
    Got entry: Type=4 Timestamp=sec:845342410 msec:0
    4 FAIL

    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