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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 0547 Actions


    Problem Report Number 0547
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0151
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published null
    Product Standard Commands and Utilities V2 (UNIX 95)
    Certification Program The Open Brand certification program
    Test Suite VSC version 5.0.2
    Test Identification POSIX.upe/ex 13 222 223 247 249 250 252
    Problem Summary PG4C.00127 This request claims that ex -r need not recover the most recently saved buffer after a system crash or preserve command.
    Problem Text
    These testcases are failing INTERMITTENTLY on our implementation
    due to a lack of clean up between test suite runs.

    The testsuite continually uses the filename ex_data_1.
    Every time a preserve command is issued, vi/ex creates backup files
    in /etc/recover/$LOGNAME. Therefore, after a run, multiple files
    exist in this directory that map to the filename ex_data_1. The file
    that is pulled from /etc/recover/$LOGNAME is fairly random unless
    there are no other files in the directory.

    There is no mention in the standard that says ex/vi must pull the
    most recent temp files from /etc/recover/$LOGNAME.

    If we issue the following commands before (and between) runs
    these tests succeed:
    rm /etc/recover/VSC/*
    rm /tmp/VI*

    However, this should not be a requirement.
    Test Output
    400|349 13 1 11:25:33|IC Start
    200|349 1 11:25:34|TP Start
    520|349 1 301989902 1 1|Assertion #13 (C): use of -r option to recover
    preserve
    520|349 1 301989902 1 2| <LC> d files
    520|349 1 301989902 1 11|Expected exit code = 0; Received 2
    220|349 1 1 11:25:44|FAIL
    410|349 13 1 11:25:44|IC End

    10|361 /tset/POSIX.upe/ex/ex_05.ex 13:28:29|TC Start, scenario ref 124-1
    15|361 1.10 70|TCM Start
    400|361 222 1 13:30:13|IC Start
    200|361 1 13:30:14|TP Start
    520|361 1 1979711516 1 1|Assertion #222 (C): preserve command can be
    entered as
    520|361 1 1979711516 1 2| <LC> pre, .., preserve
    520|361 1 1979711516 1 11|pre not interpreted as preserve command
    520|361 1 1979711516 1 12|pres not interpreted as preserve command
    520|361 1 1979711516 1 13|prese not interpreted as preserve command
    520|361 1 1979711516 1 14|preser not interpreted as preserve command
    520|361 1 1979711516 1 15|preserv not interpreted as preserve command
    520|361 1 1979711516 1 16|preserve not interpreted as preserve command
    220|361 1 1 13:30:48|FAIL
    410|361 222 1 13:30:49|IC End
    400|361 223 1 13:30:50|IC Start
    200|361 1 13:30:52|TP Start
    520|361 1 1979711516 1 1|Assertion #223 (C): preserved changes can be
    recovered
    520|361 1 1979711516 1 2| <LC> with ex -r <file>
    520|361 1 1979711516 1 11|ex -r did not recover preserved file correctly
    220|361 1 1 13:31:02|FAIL
    410|361 223 1 13:31:03|IC End

    400|361 247 1 13:40:41|IC Start
    200|361 1 13:40:42|TP Start
    520|361 1 1979711516 1 1|Assertion #247 (C): recover command can be entered
    as
    520|361 1 1979711516 1 2| <LC> rec, .., recover
    520|361 1 1979711516 1 11|rec not interpreted as substitute command
    520|361 1 1979711516 1 12|diff of "ex_data_1" and "ex_exp_1":
    520|361 1 1979711516 1 13|*** ex_data_1 Sun Feb 14 13:40:47 1999
    520|361 1 1979711516 1 14|--- ex_exp_1 Sun Feb 14 13:40:46 1999
    520|361 1 1979711516 1 15|***************
    520|361 1 1979711516 1 16|*** 1,4 ****
    520|361 1 1979711516 1 17|! abc
    520|361 1 1979711516 1 18| def
    520|361 1 1979711516 1 19| ghi
    520|361 1 1979711516 1 20| jkl
    520|361 1 1979711516 1 21|--- 1,4 ----
    520|361 1 1979711516 1 22|! 012
    520|361 1 1979711516 1 23| def
    520|361 1 1979711516 1 24| ghi
    520|361 1 1979711516 1 25| jkl
    520|361 1 1979711516 1 26|reco not interpreted as substitute command
    520|361 1 1979711516 1 27|diff of "ex_data_2" and "ex_exp_1":
    520|361 1 1979711516 1 28|*** ex_data_2 Sun Feb 14 13:41:10 1999
    520|361 1 1979711516 1 29|--- ex_exp_1 Sun Feb 14 13:40:46 1999
    520|361 1 1979711516 1 30|***************
    520|361 1 1979711516 1 31|*** 1,4 ****
    520|361 1 1979711516 1 32|! abc
    520|361 1 1979711516 1 33| def
    520|361 1 1979711516 1 34| ghi
    520|361 1 1979711516 1 35| jkl
    520|361 1 1979711516 1 36|--- 1,4 ----
    520|361 1 1979711516 1 37|! 012
    520|361 1 1979711516 1 38| def
    520|361 1 1979711516 1 39| ghi
    520|361 1 1979711516 1 40| jkl
    520|361 1 1979711516 1 41|recov not interpreted as substitute command
    520|361 1 1979711516 1 42|diff of "ex_data_3" and "ex_exp_1":
    520|361 1 1979711516 1 43|*** ex_data_3 Sun Feb 14 13:41:32 1999
    520|361 1 1979711516 1 44|--- ex_exp_1 Sun Feb 14 13:40:46 1999
    520|361 1 1979711516 1 45|***************
    520|361 1 1979711516 1 46|*** 1,4 ****
    520|361 1 1979711516 1 47|! abc
    520|361 1 1979711516 1 48| def
    520|361 1 1979711516 1 49| ghi
    520|361 1 1979711516 1 50| jkl
    520|361 1 1979711516 1 51|--- 1,4 ----
    520|361 1 1979711516 1 52|! 012
    520|361 1 1979711516 1 53| def
    520|361 1 1979711516 1 54| ghi
    520|361 1 1979711516 1 55| jkl
    520|361 1 1979711516 1 56|recove not interpreted as substitute command
    520|361 1 1979711516 1 57|diff of "ex_data_4" and "ex_exp_1":
    520|361 1 1979711516 1 58|*** ex_data_4 Sun Feb 14 13:41:53 1999
    520|361 1 1979711516 1 59|--- ex_exp_1 Sun Feb 14 13:40:46 1999
    520|361 1 1979711516 1 60|***************
    520|361 1 1979711516 1 61|*** 1,4 ****
    520|361 1 1979711516 1 62|! abc
    520|361 1 1979711516 1 63| def
    520|361 1 1979711516 1 64| ghi
    520|361 1 1979711516 1 65| jkl
    520|361 1 1979711516 1 66|--- 1,4 ----
    520|361 1 1979711516 1 67|! 012
    520|361 1 1979711516 1 68| def
    520|361 1 1979711516 1 69| ghi
    520|361 1 1979711516 1 70| jkl
    520|361 1 1979711516 1 71|recover not interpreted as substitute command
    520|361 1 1979711516 1 72|diff of "ex_data_5" and "ex_exp_1":
    520|361 1 1979711516 1 73|*** ex_data_5 Sun Feb 14 13:42:17 1999
    520|361 1 1979711516 1 74|--- ex_exp_1 Sun Feb 14 13:40:46 1999
    520|361 1 1979711516 1 75|***************
    520|361 1 1979711516 1 76|*** 1,4 ****
    520|361 1 1979711516 1 77|! abc
    520|361 1 1979711516 1 78| def
    520|361 1 1979711516 1 79| ghi
    520|361 1 1979711516 1 80| jkl
    520|361 1 1979711516 1 81|--- 1,4 ----
    520|361 1 1979711516 1 82|! 012
    520|361 1 1979711516 1 83| def
    520|361 1 1979711516 1 84| ghi
    520|361 1 1979711516 1 85| jkl
    220|361 1 1 13:42:39|FAIL
    410|361 247 1 13:42:40|IC End

    400|361 249 1 13:42:52|IC Start
    200|361 1 13:42:54|TP Start
    520|361 1 1979711516 1 1|Assertion #249 (C): file recovery when filename
    contai
    520|361 1 1979711516 1 2| <LC> ns unescaped %
    520|361 1 1979711516 1 11|recover % did not recover file
    520|361 1 1979711516 1 12|*ERROR - JrnlDiff: unable to open or read file
    "ex_ou
    520|361 1 1979711516 1 13| <LC> t_1".
    220|361 1 1 13:43:08|FAIL
    410|361 249 1 13:43:09|IC End
    400|361 250 1 13:43:11|IC Start
    200|361 1 13:43:12|TP Start
    520|361 1 1979711516 1 1|Assertion #250 (C): file recovery when filename
    contai
    520|361 1 1979711516 1 2| <LC> ns unescaped #
    520|361 1 1979711516 1 11|recover # did not recover file
    520|361 1 1979711516 1 12|*ERROR - JrnlDiff: unable to open or read file
    "ex_ou
    520|361 1 1979711516 1 13| <LC> t_1".
    220|361 1 1 13:43:25|FAIL
    410|361 250 1 13:43:26|IC End

    400|361 252 1 13:43:38|IC Start
    200|361 1 13:43:39|TP Start
    520|361 1 1979711516 1 1|Assertion #252 (C): file recovery in other than
    visual
    520|361 1 1979711516 1 2| <LC> mode
    520|361 1 1979711516 1 11|recover did not set current line to last line
    520|361 1 1979711516 1 12|diff of "ex_out_1" and "ex_exp_1":
    520|361 1 1979711516 1 13|*** ex_out_1 Sun Feb 14 13:44:11 1999
    520|361 1 1979711516 1 14|--- ex_exp_1 Sun Feb 14 13:43:44 1999
    520|361 1 1979711516 1 15|***************
    520|361 1 1979711516 1 16|*** 1,4 ****
    520|361 1 1979711516 1 17|! abc
    520|361 1 1979711516 1 18| def
    520|361 1 1979711516 1 19| ghi
    520|361 1 1979711516 1 20| 345
    520|361 1 1979711516 1 21|--- 1,4 ----
    520|361 1 1979711516 1 22|! 012
    520|361 1 1979711516 1 23| def
    520|361 1 1979711516 1 24| ghi
    520|361 1 1979711516 1 25| 345
    220|361 1 1 13:44:46|FAIL
    410|361 252 1 13:44:47|IC End

    Review 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 believe the only reason the spec does not explicitly state
    that the ex and vi preserve/recover system must retrieve the most
    recently preserved buffer is that this expectation is inherent in
    the preservation process.

    The ex spec states

    Preserve

    Synopsis: pre[serve]

    Save the current buffer in a form that can later be
    recovered by using ex -r or by using the recover
    command. ...


    Command Line Options

    -r Recover the named files after an editor or
    system crash, after the editor has been
    terminated by a signal, or after the use of
    a preserve editor command. ... A system
    crash implies that any utilities running at
    the time also crash.

    We believe that the act of saving the current buffer in a form
    that can later be recovered must properly differentiate that
    buffer from any previous buffers that exist. Such functionality
    is also required to allow a reasonable chance of recovery after
    less controlled events such as a system crash.

    It is important to note that the "cleanup" the submitter is
    referring to is system dependent since the recovery mechanism
    used is implementation specific. There is no way the test suite
    can do this portably in order to prevent the behavior described
    here. Such cleanup should certainly not be expected of users
    during day to day use.

    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:

     

    Back   


Contact the Certification Authority