Rename env variable, refactor tests
Drops the ancient rc-file convention in favor of YAMLLINT_CONFIG_FILE to be more consistent with the rest of the documentation. Uses the `tempfile` module's `NamedTemporaryFile` context manager to handle the creation and cleanup of temp files (`NamedTemporaryFile` has a `delete` option, true by default, which removes the file once it's closed).
This commit is contained in:
@@ -24,6 +24,7 @@ import os
|
|||||||
import pty
|
import pty
|
||||||
import shutil
|
import shutil
|
||||||
import sys
|
import sys
|
||||||
|
import tempfile
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from tests.common import build_temp_workspace
|
from tests.common import build_temp_workspace
|
||||||
@@ -286,21 +287,20 @@ class CommandLineTestCase(unittest.TestCase):
|
|||||||
self.assertEqual(ctx.returncode, 1)
|
self.assertEqual(ctx.returncode, 1)
|
||||||
|
|
||||||
def test_run_with_user_yamllintrc_config_file(self):
|
def test_run_with_user_yamllintrc_config_file(self):
|
||||||
config = os.path.join(self.wd, 'fake-local-config')
|
self.addCleanup(os.environ.__delitem__, 'YAMLLINT_CONFIG_FILE')
|
||||||
self.addCleanup(os.remove, config)
|
|
||||||
self.addCleanup(os.environ.__delitem__, 'YAMLLINTRC')
|
|
||||||
os.environ['YAMLLINTRC'] = config
|
|
||||||
|
|
||||||
with open(config, 'w') as f:
|
with tempfile.NamedTemporaryFile('w') as f:
|
||||||
|
os.environ['YAMLLINT_CONFIG_FILE'] = f.name
|
||||||
f.write('rules: {trailing-spaces: disable}')
|
f.write('rules: {trailing-spaces: disable}')
|
||||||
|
f.flush()
|
||||||
with RunContext(self) as ctx:
|
with RunContext(self) as ctx:
|
||||||
cli.run((os.path.join(self.wd, 'a.yaml'), ))
|
cli.run((os.path.join(self.wd, 'a.yaml'), ))
|
||||||
self.assertEqual(ctx.returncode, 0)
|
self.assertEqual(ctx.returncode, 0)
|
||||||
|
|
||||||
with open(config, 'w') as f:
|
with tempfile.NamedTemporaryFile('w') as f:
|
||||||
|
os.environ['YAMLLINT_CONFIG_FILE'] = f.name
|
||||||
f.write('rules: {trailing-spaces: enable}')
|
f.write('rules: {trailing-spaces: enable}')
|
||||||
|
f.flush()
|
||||||
with RunContext(self) as ctx:
|
with RunContext(self) as ctx:
|
||||||
cli.run((os.path.join(self.wd, 'a.yaml'), ))
|
cli.run((os.path.join(self.wd, 'a.yaml'), ))
|
||||||
self.assertEqual(ctx.returncode, 1)
|
self.assertEqual(ctx.returncode, 1)
|
||||||
|
|||||||
@@ -144,8 +144,9 @@ def run(argv=None):
|
|||||||
|
|
||||||
args = parser.parse_args(argv)
|
args = parser.parse_args(argv)
|
||||||
|
|
||||||
if 'YAMLLINTRC' in os.environ:
|
if 'YAMLLINT_CONFIG_FILE' in os.environ:
|
||||||
user_global_config = os.path.expanduser(os.environ['YAMLLINTRC'])
|
user_global_config = os.path.expanduser(
|
||||||
|
os.environ['YAMLLINT_CONFIG_FILE'])
|
||||||
# User-global config is supposed to be in ~/.config/yamllint/config
|
# User-global config is supposed to be in ~/.config/yamllint/config
|
||||||
elif 'XDG_CONFIG_HOME' in os.environ:
|
elif 'XDG_CONFIG_HOME' in os.environ:
|
||||||
user_global_config = os.path.join(
|
user_global_config = os.path.join(
|
||||||
|
|||||||
Reference in New Issue
Block a user