You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Joseph Wu (JIRA)" <ji...@apache.org> on 2016/08/16 22:22:21 UTC

[jira] [Updated] (MESOS-3848) Refactor Environment::mkdtemp into TemporaryDirectoryTest.

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

Joseph Wu updated MESOS-3848:
-----------------------------
       Shepherd: Joseph Wu  (was: Jie Yu)
       Assignee:     (was: Joseph Wu)
    Description: 
As part of [MESOS-3762], many tests were changed from one {{TemporaryDirectoryTest}} to another {{TemporaryDirectoryTest}}.  One subtle difference is that the name of the temporary directory no longer contains the name of the test.  In [MESOS-3847], the duplicate {{TemporaryDirectoryTest}} was removed.

The original {{TemporaryDirectoryTest}} called [{{environment->mkdtemp}}|https://github.com/apache/mesos/blob/master/src/tests/environment.cpp#L494].  We would like the naming, which is valuable for debugging, to be available for a majority of tests.  (A majority of tests inherit from {{TemporaryDirectoryTest}} in some way.)

Note:
* Any additional directories created via {{environment->mkdtemp}} are cleaned up after the test.
* We don't want mesos-specific logic in Stout, like the {{umount}} shell command in {{Environment::TearDown}}.
* Temp directories created via {{environment->mkdtemp}} can be placed in another folder via the [{{TMPDIR}} environment variable|https://github.com/apache/mesos/blob/4a703b91151568e21b8772af51c22e23b105313c/src/tests/environment.cpp#L892-L905].  We want to look at this variable in {{TemporaryDirectoryTest}} too.

*Proposed change:*
Move the temporary directory logic from {{Environment::mkdtemp}} to {{TemporaryDirectoryTest}}.

*Tests that need to change*
| {{log_tests.cpp}} | {{LogZooKeeperTest}} | We can change {{ZooKeeperTest}} to inherit from {{TemporaryDirectoryTest}} to get rid of code duplication |
| {{tests/mesos.cpp}} | {{MesosTest::CreateSlaveFlags}} | {{MesosTest}} already inherits from {{TemporaryDirectoryTest}}. |
| {{tests/script.hpp}} | {{TEST_SCRIPT}} | This is used for the {{ExampleTests}}.  We can define a test class that inherits appropriately. |
| {{docker_tests.cpp}} | {{*}} | Already inherits from {{MesosTest}}. |

  was:
As part of [MESOS-3762], many tests were changed from one {{TemporaryDirectoryTest}} to another {{TemporaryDirectoryTest}}.  One subtle difference is that the name of the temporary directory no longer contains the name of the test.  In [MESOS-3847], the duplicate {{TemporaryDirectoryTest}} was removed.

The original {{TemporaryDirectoryTest}} called [{{environment->mkdtemp}}|https://github.com/apache/mesos/blob/master/src/tests/environment.cpp#L494].  We would like the naming, which is valuable for debugging, to be available for a majority of tests.  (A majority of tests inherit from {{TemporaryDirectoryTest}} in some way.)

Note:
* Any additional directories created via {{environment->mkdtemp}} are cleaned up after the test.
* We don't want mesos-specific logic in Stout, like the {{umount}} shell command in {{Environment::TearDown}}.

*Proposed change:*
Move the temporary directory logic from {{Environment::mkdtemp}} to {{TemporaryDirectoryTest}}.

*Tests that need to change*
| {{log_tests.cpp}} | {{LogZooKeeperTest}} | We can change {{ZooKeeperTest}} to inherit from {{TemporaryDirectoryTest}} to get rid of code duplication |
| {{tests/mesos.cpp}} | {{MesosTest::CreateSlaveFlags}} | {{MesosTest}} already inherits from {{TemporaryDirectoryTest}}. |
| {{tests/script.hpp}} | {{TEST_SCRIPT}} | This is used for the {{ExampleTests}}.  We can define a test class that inherits appropriately. |
| {{docker_tests.cpp}} | {{*}} | Already inherits from {{MesosTest}}. |


> Refactor Environment::mkdtemp into TemporaryDirectoryTest.
> ----------------------------------------------------------
>
>                 Key: MESOS-3848
>                 URL: https://issues.apache.org/jira/browse/MESOS-3848
>             Project: Mesos
>          Issue Type: Task
>          Components: test
>            Reporter: Joseph Wu
>            Priority: Minor
>              Labels: mesosphere
>
> As part of [MESOS-3762], many tests were changed from one {{TemporaryDirectoryTest}} to another {{TemporaryDirectoryTest}}.  One subtle difference is that the name of the temporary directory no longer contains the name of the test.  In [MESOS-3847], the duplicate {{TemporaryDirectoryTest}} was removed.
> The original {{TemporaryDirectoryTest}} called [{{environment->mkdtemp}}|https://github.com/apache/mesos/blob/master/src/tests/environment.cpp#L494].  We would like the naming, which is valuable for debugging, to be available for a majority of tests.  (A majority of tests inherit from {{TemporaryDirectoryTest}} in some way.)
> Note:
> * Any additional directories created via {{environment->mkdtemp}} are cleaned up after the test.
> * We don't want mesos-specific logic in Stout, like the {{umount}} shell command in {{Environment::TearDown}}.
> * Temp directories created via {{environment->mkdtemp}} can be placed in another folder via the [{{TMPDIR}} environment variable|https://github.com/apache/mesos/blob/4a703b91151568e21b8772af51c22e23b105313c/src/tests/environment.cpp#L892-L905].  We want to look at this variable in {{TemporaryDirectoryTest}} too.
> *Proposed change:*
> Move the temporary directory logic from {{Environment::mkdtemp}} to {{TemporaryDirectoryTest}}.
> *Tests that need to change*
> | {{log_tests.cpp}} | {{LogZooKeeperTest}} | We can change {{ZooKeeperTest}} to inherit from {{TemporaryDirectoryTest}} to get rid of code duplication |
> | {{tests/mesos.cpp}} | {{MesosTest::CreateSlaveFlags}} | {{MesosTest}} already inherits from {{TemporaryDirectoryTest}}. |
> | {{tests/script.hpp}} | {{TEST_SCRIPT}} | This is used for the {{ExampleTests}}.  We can define a test class that inherits appropriately. |
> | {{docker_tests.cpp}} | {{*}} | Already inherits from {{MesosTest}}. |



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)