This is an automated email from the ASF dual-hosted git repository.
cdmikechen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/submarine.git
The following commit(s) were added to refs/heads/master by this push:
new 389ea896 SUBMARINE-1333. Replace legacy tmpdir with tmp_path
389ea896 is described below
commit 389ea896b9c79e4183fbec46e94d0823bf2588c4
Author: huang06 <[email protected]>
AuthorDate: Mon Oct 3 00:33:23 2022 +0000
SUBMARINE-1333. Replace legacy tmpdir with tmp_path
### What is this PR for?
<!-- A few sentences describing the overall goals of the pull request's
commits.
First time? Check out the contributing guide -
https://submarine.apache.org/contribution/contributions.html
-->
Pytest provides both `tmp_path` and `tmpdir` fixtures to indicate the
temporary directory.
Nowadays, it's preferred to use the `tmp_path` fixture which returns a
`pathlib.Path` instead of the legacy `tmpdir` which returns `py.path.local`.
### What type of PR is it?
Improvement
### Todos
### What is the Jira issue?
<!-- * Open an issue on Jira
https://issues.apache.org/jira/browse/SUBMARINE/
* Put link here, and add [SUBMARINE-*Jira number*] in PR title, eg.
`SUBMARINE-23. PR title`
-->
<https://issues.apache.org/jira/browse/SUBMARINE-1333>
### How should this be tested?
<!--
* First time? Setup Travis CI as described on
https://submarine.apache.org/contribution/contributions.html#continuous-integration
* Strongly recommended: add automated unit tests for any new or changed
behavior
* Outline any manual steps to test the PR here.
-->
This PR modified the following conftest files:
```text
submarine-sdk/pysubmarine/tests/ml/pytorch/model/conftest.py
submarine-sdk/pysubmarine/tests/ml/tensorflow/model/conftest.py
submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/conftest.py
```
Then, run pytest on ` tests/ml/` to validate the changes:
```bash
cd submarine-sdk/pysubmarine
python3 -m venv .venv
source .venv/bin/activate
pip install -U pip setuptools wheel
pip install -r github-actions/test-requirements.txt
pip install -e '.[tf2,pytorch]'
pytest tests/ml/
```
### Screenshots (if appropriate)
### Questions:
* Do the license files need updating? No
* Are there breaking changes for older versions? No
* Does this need new documentation? No
Author: huang06 <[email protected]>
Signed-off-by: cdmikechen <[email protected]>
Closes #1000 from huang06/tests/tmp_path and squashes the following commits:
ba7fe85b [huang06] ci: change working dir in order to load pytest.ini
8afc76eb [huang06] tests: replace legacy tmpdir with tmp_path
---
.github/workflows/python.yml | 1 +
.../pysubmarine/tests/ml/pytorch/model/conftest.py | 22 ++++++++++------------
.../tests/ml/tensorflow/model/conftest.py | 20 +++++++++-----------
.../tests/ml/tensorflow_v2/model/conftest.py | 20 +++++++++-----------
4 files changed, 29 insertions(+), 34 deletions(-)
diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
index e118955b..af696cc2 100644
--- a/.github/workflows/python.yml
+++ b/.github/workflows/python.yml
@@ -78,6 +78,7 @@ jobs:
- name: List installed packages
run: pip list
- name: Run unit test
+ working-directory: ./submarine-sdk/pysubmarine
run: pytest -m "not e2e"
integration:
diff --git a/submarine-sdk/pysubmarine/tests/ml/pytorch/model/conftest.py
b/submarine-sdk/pysubmarine/tests/ml/pytorch/model/conftest.py
index a425a03c..4403a061 100644
--- a/submarine-sdk/pysubmarine/tests/ml/pytorch/model/conftest.py
+++ b/submarine-sdk/pysubmarine/tests/ml/pytorch/model/conftest.py
@@ -13,8 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-import os
-
import pytest
# noqa
@@ -32,22 +30,22 @@ LIBSVM_DATA = """0 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0
10:0 11:0 12:0 13:0 1
@pytest.fixture
-def get_model_param(tmpdir):
- data_file = os.path.join(str(tmpdir), "libsvm.txt")
- save_model_dir = os.path.join(str(tmpdir), "experiment")
- os.mkdir(save_model_dir)
+def get_model_param(tmp_path):
+ data_file = tmp_path / "libsvm.txt"
+ save_model_dir = tmp_path / "experiment"
+ save_model_dir.mkdir()
- with open(data_file, "wt") as writer:
+ with data_file.open("wt") as writer:
writer.write(LIBSVM_DATA)
params = {
"input": {
- "train_data": data_file,
- "valid_data": data_file,
- "test_data": data_file,
+ "train_data": str(data_file),
+ "valid_data": str(data_file),
+ "test_data": str(data_file),
"type": "libsvm",
},
- "output": {"save_model_dir": save_model_dir, "metric": "roc_auc"},
+ "output": {"save_model_dir": str(save_model_dir), "metric": "roc_auc"},
"training": {
"batch_size": 4,
"num_epochs": 1,
@@ -77,4 +75,4 @@ def get_model_param(tmpdir):
}
yield params
- os.remove(data_file)
+ data_file.unlink()
diff --git a/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/conftest.py
b/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/conftest.py
index 132bdeae..027e8325 100644
--- a/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/conftest.py
+++ b/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/conftest.py
@@ -13,8 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-import os
-
import pytest
LIBSVM_DATA = """1 1:0 2:0.051495 3:0.5 4:0.1 5:0.113437 6:0.874 7:0.01 8:0.08
9:0.028 10:0
@@ -29,22 +27,22 @@ LIBSVM_DATA = """1 1:0 2:0.051495 3:0.5 4:0.1 5:0.113437
6:0.874 7:0.01 8:0.08 9
@pytest.fixture
-def get_model_param(tmpdir):
- data_file = os.path.join(str(tmpdir), "libsvm.txt")
- save_model_dir = os.path.join(str(tmpdir), "experiment")
- with open(data_file, "wt") as writer:
+def get_model_param(tmp_path):
+ data_file = tmp_path / "libsvm.txt"
+ save_model_dir = tmp_path / "experiment"
+ with data_file.open("wt") as writer:
writer.write(LIBSVM_DATA)
params = {
"input": {
- "train_data": data_file,
- "valid_data": data_file,
- "test_data": data_file,
+ "train_data": str(data_file),
+ "valid_data": str(data_file),
+ "test_data": str(data_file),
"type": "libsvm",
},
- "output": {"save_model_dir": save_model_dir, "metric": "auc"},
+ "output": {"save_model_dir": str(save_model_dir), "metric": "auc"},
"training": {"batch_size": 256, "num_epochs": 1, "field_size": 10,
"feature_size": 1000},
}
yield params
- os.remove(data_file)
+ data_file.unlink()
diff --git a/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/conftest.py
b/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/conftest.py
index 132bdeae..027e8325 100644
--- a/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/conftest.py
+++ b/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/conftest.py
@@ -13,8 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-import os
-
import pytest
LIBSVM_DATA = """1 1:0 2:0.051495 3:0.5 4:0.1 5:0.113437 6:0.874 7:0.01 8:0.08
9:0.028 10:0
@@ -29,22 +27,22 @@ LIBSVM_DATA = """1 1:0 2:0.051495 3:0.5 4:0.1 5:0.113437
6:0.874 7:0.01 8:0.08 9
@pytest.fixture
-def get_model_param(tmpdir):
- data_file = os.path.join(str(tmpdir), "libsvm.txt")
- save_model_dir = os.path.join(str(tmpdir), "experiment")
- with open(data_file, "wt") as writer:
+def get_model_param(tmp_path):
+ data_file = tmp_path / "libsvm.txt"
+ save_model_dir = tmp_path / "experiment"
+ with data_file.open("wt") as writer:
writer.write(LIBSVM_DATA)
params = {
"input": {
- "train_data": data_file,
- "valid_data": data_file,
- "test_data": data_file,
+ "train_data": str(data_file),
+ "valid_data": str(data_file),
+ "test_data": str(data_file),
"type": "libsvm",
},
- "output": {"save_model_dir": save_model_dir, "metric": "auc"},
+ "output": {"save_model_dir": str(save_model_dir), "metric": "auc"},
"training": {"batch_size": 256, "num_epochs": 1, "field_size": 10,
"feature_size": 1000},
}
yield params
- os.remove(data_file)
+ data_file.unlink()
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]