| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | import subprocess |
| | import sys |
| | from os import path |
| |
|
| | import pytest |
| |
|
| |
|
| | class TestHydraRunner: |
| | @pytest.mark.integration |
| | def test_no_config(self): |
| | """"Test app without config - fields missing causes error. |
| | """ |
| | |
| | call = "python tests/hydra/my_app.py" |
| |
|
| | with pytest.raises(subprocess.CalledProcessError): |
| | |
| | subprocess.check_call(call, shell=True, stdout=sys.stdout, stderr=sys.stdout) |
| |
|
| | @pytest.mark.integration |
| | def test_config1(self): |
| | """"Test injection of valid config1. |
| | """ |
| | |
| | call = "python tests/hydra/my_app.py --config-name config1.yaml" |
| |
|
| | |
| | subprocess.check_call(call, shell=True, stdout=sys.stdout, stderr=sys.stdout) |
| |
|
| | |
| | assert not path.exists(f".hydra") |
| | |
| | assert not path.exists(f"my_app.log") |
| |
|
| | @pytest.mark.integration |
| | def test_config1_invalid(self): |
| | """"Test injection of invalid config1. |
| | """ |
| | |
| | call = "python tests/hydra/my_app.py --config-name config1_invalid.yaml" |
| |
|
| | with pytest.raises(subprocess.CalledProcessError): |
| | |
| | subprocess.check_call(call, shell=True, stdout=sys.stdout, stderr=sys.stdout) |
| |
|
| | @pytest.mark.integration |
| | def test_config2(self): |
| | """"Test injection of valid config2 from a different folder. |
| | """ |
| | |
| | call = "python tests/hydra/my_app.py --config-path config_subdir --config-name config2.yaml" |
| |
|
| | |
| | subprocess.check_call(call, shell=True, stdout=sys.stdout, stderr=sys.stdout) |
| |
|
| | |
| | assert not path.exists(f".hydra") |
| | |
| | assert not path.exists(f"my_app.log") |
| |
|
| | @pytest.mark.integration |
| | def test_config2_invalid(self): |
| | """"Test injection of invalid config2 from a different folder. |
| | """ |
| | |
| | call = "python tests/hydra/my_app.py --config-path config_subdir --config-name config2_invalid.yaml" |
| |
|
| | with pytest.raises(subprocess.CalledProcessError): |
| | |
| | subprocess.check_call(call, shell=True, stdout=sys.stdout, stderr=sys.stdout) |
| |
|
| | @pytest.mark.integration |
| | def test_config2_filepath_schema(self): |
| | """"Test injection of valid config2 - using namepath with schema is prohibited. |
| | """ |
| | |
| | call = "python tests/hydra/my_app.py --config-name config_subdir/config2_invalid.yaml" |
| |
|
| | with pytest.raises(subprocess.CalledProcessError): |
| | |
| | subprocess.check_call(call, shell=True, stdout=sys.stdout, stderr=sys.stdout) |
| |
|