# Copyright 2009-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

import itertools
import stat

from portage.const import PORTAGE_BIN_PATH, PORTAGE_PYM_PATH
from portage.tests import TestCase
from portage import os
from portage import _encodings
from portage import _unicode_decode, _unicode_encode

import py_compile

class CompileModulesTestCase(TestCase):

	def testCompileModules(self):
		for parent, dirs, files in itertools.chain(
			os.walk(PORTAGE_BIN_PATH),
			os.walk(PORTAGE_PYM_PATH)):
			parent = _unicode_decode(parent,
				encoding=_encodings['fs'], errors='strict')
			for x in files:
				x = _unicode_decode(x,
					encoding=_encodings['fs'], errors='strict')
				if x[-4:] in ('.pyc', '.pyo'):
					continue
				x = os.path.join(parent, x)
				st = os.lstat(x)
				if not stat.S_ISREG(st.st_mode):
					continue
				do_compile = False
				if x[-3:] == '.py':
					do_compile = True
				else:
					# Check for python shebang
					f = open(_unicode_encode(x,
						encoding=_encodings['fs'], errors='strict'), 'rb')
					line = _unicode_decode(f.readline(),
						encoding=_encodings['content'], errors='replace')
					f.close()
					if line[:2] == '#!' and \
						'python' in line:
						do_compile = True
				if do_compile:
					py_compile.compile(x, cfile='/dev/null', doraise=True)

958b9a08b18a10ed06afc331fba691bfb1b7352d
<mask token>

<mask token>


class CompileModulesTestCase(TestCase):
    <mask token>

<mask token>


class CompileModulesTestCase(TestCase):

    def testCompileModules(self):
        for parent, dirs, files in itertools.chain(os.walk(PORTAGE_BIN_PATH
            ), os.walk(PORTAGE_PYM_PATH)):
            parent = _unicode_decode(parent, encoding=_encodings['fs'],
                errors='strict')
            for x in files:
                x = _unicode_decode(x, encoding=_encodings['fs'], errors=
                    'strict')
                if x[-4:] in ('.pyc', '.pyo'):
                    continue
                x = os.path.join(parent, x)
                st = os.lstat(x)
                if not stat.S_ISREG(st.st_mode):
                    continue
                do_compile = False
                if x[-3:] == '.py':
                    do_compile = True
                else:
                    f = open(_unicode_encode(x, encoding=_encodings['fs'],
                        errors='strict'), 'rb')
                    line = _unicode_decode(f.readline(), encoding=
                        _encodings['content'], errors='replace')
                    f.close()
                    if line[:2] == '#!' and 'python' in line:
                        do_compile = True
                if do_compile:
                    py_compile.compile(x, cfile='/dev/null', doraise=True)

import itertools
import stat
from portage.const import PORTAGE_BIN_PATH, PORTAGE_PYM_PATH
from portage.tests import TestCase
from portage import os
from portage import _encodings
from portage import _unicode_decode, _unicode_encode
import py_compile


class CompileModulesTestCase(TestCase):

    def testCompileModules(self):
        for parent, dirs, files in itertools.chain(os.walk(PORTAGE_BIN_PATH
            ), os.walk(PORTAGE_PYM_PATH)):
            parent = _unicode_decode(parent, encoding=_encodings['fs'],
                errors='strict')
            for x in files:
                x = _unicode_decode(x, encoding=_encodings['fs'], errors=
                    'strict')
                if x[-4:] in ('.pyc', '.pyo'):
                    continue
                x = os.path.join(parent, x)
                st = os.lstat(x)
                if not stat.S_ISREG(st.st_mode):
                    continue
                do_compile = False
                if x[-3:] == '.py':
                    do_compile = True
                else:
                    f = open(_unicode_encode(x, encoding=_encodings['fs'],
                        errors='strict'), 'rb')
                    line = _unicode_decode(f.readline(), encoding=
                        _encodings['content'], errors='replace')
                    f.close()
                    if line[:2] == '#!' and 'python' in line:
                        do_compile = True
                if do_compile:
                    py_compile.compile(x, cfile='/dev/null', doraise=True)

# Copyright 2009-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

import itertools
import stat

from portage.const import PORTAGE_BIN_PATH, PORTAGE_PYM_PATH
from portage.tests import TestCase
from portage import os
from portage import _encodings
from portage import _unicode_decode, _unicode_encode

import py_compile

class CompileModulesTestCase(TestCase):

	def testCompileModules(self):
		for parent, dirs, files in itertools.chain(
			os.walk(PORTAGE_BIN_PATH),
			os.walk(PORTAGE_PYM_PATH)):
			parent = _unicode_decode(parent,
				encoding=_encodings['fs'], errors='strict')
			for x in files:
				x = _unicode_decode(x,
					encoding=_encodings['fs'], errors='strict')
				if x[-4:] in ('.pyc', '.pyo'):
					continue
				x = os.path.join(parent, x)
				st = os.lstat(x)
				if not stat.S_ISREG(st.st_mode):
					continue
				do_compile = False
				if x[-3:] == '.py':
					do_compile = True
				else:
					# Check for python shebang
					f = open(_unicode_encode(x,
						encoding=_encodings['fs'], errors='strict'), 'rb')
					line = _unicode_decode(f.readline(),
						encoding=_encodings['content'], errors='replace')
					f.close()
					if line[:2] == '#!' and \
						'python' in line:
						do_compile = True
				if do_compile:
					py_compile.compile(x, cfile='/dev/null', doraise=True)
