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).
pull/255/head
Will Badart 5 years ago
parent 257cd5f991
commit 8657838696
No known key found for this signature in database
GPG Key ID: C0BFCABCFFB2398B

@ -24,6 +24,7 @@ import os
import pty
import shutil
import sys
import tempfile
import unittest
from tests.common import build_temp_workspace
@ -286,24 +287,23 @@ class CommandLineTestCase(unittest.TestCase):
self.assertEqual(ctx.returncode, 1)
def test_run_with_user_yamllintrc_config_file(self):
config = os.path.join(self.wd, 'fake-local-config')
self.addCleanup(os.remove, config)
self.addCleanup(os.environ.__delitem__, 'YAMLLINTRC')
os.environ['YAMLLINTRC'] = config
self.addCleanup(os.environ.__delitem__, 'YAMLLINT_CONFIG_FILE')
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.flush()
with RunContext(self) as ctx:
cli.run((os.path.join(self.wd, 'a.yaml'), ))
self.assertEqual(ctx.returncode, 0)
with RunContext(self) as ctx:
cli.run((os.path.join(self.wd, 'a.yaml'), ))
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}')
with RunContext(self) as ctx:
cli.run((os.path.join(self.wd, 'a.yaml'), ))
self.assertEqual(ctx.returncode, 1)
f.flush()
with RunContext(self) as ctx:
cli.run((os.path.join(self.wd, 'a.yaml'), ))
self.assertEqual(ctx.returncode, 1)
def test_run_version(self):
with RunContext(self) as ctx:

@ -144,8 +144,9 @@ def run(argv=None):
args = parser.parse_args(argv)
if 'YAMLLINTRC' in os.environ:
user_global_config = os.path.expanduser(os.environ['YAMLLINTRC'])
if 'YAMLLINT_CONFIG_FILE' in os.environ:
user_global_config = os.path.expanduser(
os.environ['YAMLLINT_CONFIG_FILE'])
# User-global config is supposed to be in ~/.config/yamllint/config
elif 'XDG_CONFIG_HOME' in os.environ:
user_global_config = os.path.join(

Loading…
Cancel
Save