[ 
https://issues.apache.org/jira/browse/LUCENE-5577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dawid Weiss updated LUCENE-5577:
--------------------------------

    Description: 
This is a spinoff of the work [[email protected]], Uwe and me have 
initiated in SOLR-5914. 

The core concept is this:

* every test should create its temporary folders and files in a sub-folder of 
one, easily identifiable, parent.

* the parent folder is named after the test class, with [org.apache.] removed 
for brevity. the folder name includes the master seed and a generated sequence 
integer, if needed, to easily demarcate different runs (and identify which run 
produced which files).

* temporary folder/ file creation routines should be available in LTC, so that 
no additional imports/ fiddling is needed.

* any temporary folders and files should be removable at the end of the suite 
(class), if all tests completes successfully. Failure to remove any files 
should be marked as an error (will manifest itself on windows with open file 
handles).

* there should be a way to temporarily mark a class to circumvent the above 
check (SuppressTempFileChecks annotation for known offenders). Annotating a 
class with SuppressTempFileChecks will still attempt to remove temporary files, 
but will not cause an error if this fails. Any files that couldn't be deleted 
will be printed to stdout with an appropriate message.

* there should be a way for developers to leave temporary files on disk for 
further inspection (even in case of successful runs). The following system 
properties will work:
{code}
        "tests.leavetmpdir" /* default */,
        "tests.leaveTemporary" /* ANT tasks's (junit4) flag. */,
        "tests.leavetemporary" /* lowercase version of the above */,
        "solr.test.leavetmpdir" /* Solr's legacy property for backcompat */))
{code}


  was:
This is a spinoff of the work [[email protected]], Uwe and me have 
initiated in SOLR-5914. 

The core concept is this:

* every test should create its temporary folders and files in a sub-folder of 
one, easily identifiable, parent.

* the parent folder is named after the test class, with [org.apache.] removed 
for brevity. the folder name includes the master seed and a generated sequence 
integer, if needed, to easily demarcate different runs (and identify which run 
produced which files).

* temporary folder/ file creation routines should be available in LTC, so that 
no additional imports/ fiddling is needed.

* any temporary folders and files should be removable at the end of the suite 
(class), if all tests completes successfully. failure to do so (on windows) 
should be marked as an error

* there should be a way to temporarily mark a class to circumvent the above 
check (for known offenders)

* there should be a way for developers to leave temporary files on disk for 
further inspection (even in case of successful runs).


> Temporary folder and file management (and cleanup facilities)
> -------------------------------------------------------------
>
>                 Key: LUCENE-5577
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5577
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Dawid Weiss
>            Assignee: Dawid Weiss
>            Priority: Minor
>             Fix For: 4.8, 5.0
>
>
> This is a spinoff of the work [[email protected]], Uwe and me have 
> initiated in SOLR-5914. 
> The core concept is this:
> * every test should create its temporary folders and files in a sub-folder of 
> one, easily identifiable, parent.
> * the parent folder is named after the test class, with [org.apache.] removed 
> for brevity. the folder name includes the master seed and a generated 
> sequence integer, if needed, to easily demarcate different runs (and identify 
> which run produced which files).
> * temporary folder/ file creation routines should be available in LTC, so 
> that no additional imports/ fiddling is needed.
> * any temporary folders and files should be removable at the end of the suite 
> (class), if all tests completes successfully. Failure to remove any files 
> should be marked as an error (will manifest itself on windows with open file 
> handles).
> * there should be a way to temporarily mark a class to circumvent the above 
> check (SuppressTempFileChecks annotation for known offenders). Annotating a 
> class with SuppressTempFileChecks will still attempt to remove temporary 
> files, but will not cause an error if this fails. Any files that couldn't be 
> deleted will be printed to stdout with an appropriate message.
> * there should be a way for developers to leave temporary files on disk for 
> further inspection (even in case of successful runs). The following system 
> properties will work:
> {code}
>         "tests.leavetmpdir" /* default */,
>         "tests.leaveTemporary" /* ANT tasks's (junit4) flag. */,
>         "tests.leavetemporary" /* lowercase version of the above */,
>         "solr.test.leavetmpdir" /* Solr's legacy property for backcompat */))
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to