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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 2737 Actions


    Problem Report Number 2737
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.1429
    Raised 2022-05-20 14:58
    Updated 2022-05-20 14:11
    Published 2022-05-20 14:11
    Product Standard Commands and Utilities V2 (UNIX 95)
    Certification Program The Open Brand certification program
    Test Suite VSC version 5.3.21
    Test Identification VSC /tset/POSIX.sdo/make/make.ex 162
    Specification Commands and Utilities Issue 4 Version 2
    Location in Spec Page 479
    Problem Summary /tset/POSIX.sdo/make/make.ex 162 failure
    Problem Text For reviewers please checkout Request #1231 for more details.

    Here is a short summary:
    The test script is as follows for your reference:
    ########################################################################
    ###
    #
    # Strategy:
    #
    # Create a POSIX makefile with a FORCE target that has no prerequisites
    # and no commands.
    # Ensure target files do not exist.
    # Invoke make.
    # Verify expected output.
    # Invoke make.
    # Verify expected output.
    #
    ########################################################################
    ###
    tp162() {
    $TST_TRACE
    CT_STDOUT=out.stdout
    CT_STDERR=out.stderr
    OpenTP make 162 C "When a target has no prerequisites and no commands,
    and the target of the rule is a nonexistent file"

    ...
    ...

    .POSIX:
    one: two
    touch one
    two: three
    [ -f two ] || touch two
    three: FORCE
    touch three
    FORCE:

    ...
    ...

    I believe that this test is testing the scenario, as the GNU make
    (version 3.81 and version 3.82 specify the same) document file
    ?make.info-1? part 4.7 specifies "4.7 Rules without Commands or
    Prerequisites".

    When executing two make commands consecutively and they finish within
    one second, this test is failed, since the second make does not "FORCE"
    to update the target file (i.e. TARGET is up to date).

    However, if we add ?sleep 1? (or longer) between two make commands, it
    behaves properly and the test can pass.

    The reason is that the time precision, or the smallest fragment of time
    we currently support is second. In this test case, when executing the
    second make, comparing the timestamp of prerequisite files, the
    numerical values of the time are the same (since two make commands
    execute and terminate within one second). If we sleep at least one
    second after executing the first make, then when executing second make
    the timestamp would definitely change so that all the files are forced
    to update.
    Test Output 10|0 /tset/POSIX.sdo/make/make.ex 06:37:06|TC Start, scenario ref 1-0,
    ICs: {162}
    15|0 3.8 1|TCM Start
    400|0 162 1 06:37:10|IC Start
    200|0 146 06:37:10|TP Start
    520|0 146 66646 1 1|Assertion #162 (C): When a target has no
    prerequisites and no commands, and the target of the rule is a
    nonexistent file
    520|0 146 66646 4 1|'touch three' wasn't found in standard output
    220|0 146 1 06:37:12|FAIL
    410|0 162 1 06:37:12|IC End
    80|0 0 06:37:13|TC End, scenario ref 1-0
    900|06:37:13|TCC End

    Review Information

    Review Type TSMA Review
    Start Date 2022-05-20 14:58
    Last Updated 2022-05-20 09:35
    Completed 2022-05-20 09:35
    Status Complete
    Review Recommendation Test Suite Deficiency (TSD)
    Review Response This is accepted as a fault in the test suite.

    Note that this TSD must not be reissued for UNIX V7, as SUSv4 contains a
    new requirement that makes the current code valid: "If the target does
    not exist after the target has been successfully made up-to-date, the
    target shall be treated as being newer than any target for which it is a
    prerequisite." A sleep will be added to the test code, but only for test
    modes earlier than POSIX08/UNIX10.

    Review Type SA Review
    Start Date 2022-05-20 17:35
    Last Updated 2022-05-20 14:10
    Completed 2022-05-20 14:10
    Status Complete
    Review Resolution Test Suite Deficiency (TSD)
    Review Conclusion A test suite deficiency is granted.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority