mirror of
https://github.com/NicolasBohn/NexQuant.git
synced 2026-08-08 04:27:44 +00:00
Initial framework for docker env (#40)
* Initial framework for docker env * Update test name * add features * Download Qlib data with extra_volume * fix pytest error * Fix the parameters --------- Co-authored-by: Young <afe.young@gmail.com>
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
sys.path.append(str(Path(__file__).resolve().parent.parent))
|
||||
from rdagent.utils.env import QTDockerEnv
|
||||
import shutil
|
||||
|
||||
|
||||
DIRNAME = Path(__file__).absolute().resolve().parent
|
||||
|
||||
|
||||
class EnvUtils(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
pass
|
||||
|
||||
def tearDown(self):
|
||||
# NOTE: For a docker file, the output are generated with root permission.
|
||||
# mlrun_p = DIRNAME / "env_tpl" / "mlruns"
|
||||
# if mlrun_p.exists():
|
||||
# shutil.rmtree(mlrun_p)
|
||||
...
|
||||
|
||||
def test_docker(self):
|
||||
"""
|
||||
We will mount `env_tpl` into the docker image.
|
||||
And run the docker image with `qrun conf.yaml`
|
||||
"""
|
||||
qtde = QTDockerEnv()
|
||||
qtde.prepare()
|
||||
qtde.prepare() # you can prepare for multiple times. It is expected to handle it correctly
|
||||
# the stdout are returned as result
|
||||
result = qtde.run(local_path=str(DIRNAME / "env_tpl"), entry="qrun conf.yaml")
|
||||
|
||||
mlrun_p = DIRNAME / "env_tpl" / "mlruns"
|
||||
self.assertTrue(mlrun_p.exists(), f"Expected output file {mlrun_p} not found")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user