41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
|
# -*- coding: utf-8 -*-
|
||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||
|
|
||
|
import logging
|
||
|
import os
|
||
|
import odoo
|
||
|
|
||
|
from . import lint_case
|
||
|
|
||
|
_logger = logging.getLogger(__name__)
|
||
|
MARKERS = [b'<' * 7, b'>' * 7]
|
||
|
EXTENSIONS = ('.py', '.js', '.xml', '.less', '.sass')
|
||
|
|
||
|
|
||
|
class TestConflictMarkers(lint_case.LintCase):
|
||
|
|
||
|
def check_file(self, fullpath_name):
|
||
|
|
||
|
with open(fullpath_name, 'rb') as f:
|
||
|
content = f.read()
|
||
|
self.assertFalse(any(m in content for m in MARKERS), 'Conflict markers found in %s' % fullpath_name)
|
||
|
|
||
|
def test_conflict_markers(self):
|
||
|
""" Test that there are no conflict markers left in Odoo files """
|
||
|
|
||
|
counter = 0
|
||
|
|
||
|
odoo_path = os.path.abspath(os.path.dirname(odoo.__file__))
|
||
|
paths = [*odoo.addons.__path__, odoo_path]
|
||
|
paths.remove(os.path.join(odoo_path, 'addons')) # avoid checking odoo/addons twice
|
||
|
|
||
|
for p in paths:
|
||
|
for dp, _, file_names in os.walk(p):
|
||
|
if 'node_modules' in dp:
|
||
|
continue
|
||
|
for fn in file_names:
|
||
|
if fn.endswith(EXTENSIONS):
|
||
|
self.check_file(os.path.join(dp, fn))
|
||
|
counter += 1
|
||
|
_logger.info('%s files tested', counter)
|