diff --git a/python/ray/tune/test/trial_runner_test.py b/python/ray/tune/test/trial_runner_test.py index d51f9ec6f988..2eba2693d107 100644 --- a/python/ray/tune/test/trial_runner_test.py +++ b/python/ray/tune/test/trial_runner_test.py @@ -161,6 +161,26 @@ def train(config, reporter): } }) + def testLogdirStartingWithTilde(self): + local_dir = '~/ray_results/local_dir' + + def train(config, reporter): + cwd = os.getcwd() + assert cwd.startswith(os.path.expanduser(local_dir)), cwd + assert not cwd.startswith('~'), cwd + reporter(timesteps_total=1) + + register_trainable('f1', train) + run_experiments({ + 'foo': { + 'run': 'f1', + 'local_dir': local_dir, + 'config': { + 'a': 'b' + }, + } + }) + def testLongFilename(self): def train(config, reporter): assert "/tmp/logdir/foo" in os.getcwd(), os.getcwd() diff --git a/python/ray/tune/trial.py b/python/ray/tune/trial.py index 9d12e768ce8d..f94c09b6047b 100644 --- a/python/ray/tune/trial.py +++ b/python/ray/tune/trial.py @@ -110,7 +110,7 @@ def __init__(self, # Trial config self.trainable_name = trainable_name self.config = config or {} - self.local_dir = local_dir + self.local_dir = os.path.expanduser(local_dir) self.experiment_tag = experiment_tag self.resources = ( resources