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:
Will Badart
2020-04-27 09:21:42 -07:00
parent 257cd5f991
commit 8657838696
2 changed files with 17 additions and 16 deletions

View File

@@ -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: