# Path: md/cmake.py
# def isCMakeProject(path):
# def getInstallDir(command):
# def _findAllCMakeFiles(path, listToBeFilled):
# def getDependencies(path, name="", verbose=True):
# def isCmakeInstalled():
# def getPreconfigureCommand():
# def getConfigureCommand():
# def getBuildCommand():
# def getInstallCommand():
# def getCleanCommand():
# 
# Path: md/logger.py
# def secondsToHMS(seconds=0):
# def Logger():
# def setLogger(loggerName="", logOutputDir=""):
# def close():
# def writeMessage(message, targetName="", targetStep="", forceStdOut=False):
# def writeError(message, targetName="", targetStep="", filePath="", lineNumber=0, exitProgram=False):
# def reportSkipped(targetName="", targetStep="", reason=""):
# def reportStart(targetName="", targetStep=""):
# def reportSuccess(targetName="", targetStep="", timeInSeconds=0):
# def reportFailure(targetName="", targetStep="", timeInSeconds=0, returnCode=0, exitProgram=False):
# def getOutFd(targetName="", targetStep=""):
# def getErrorFd(targetName="", targetStep=""):
#     def _writeStdOut(self, message):
#     def _writeStdErr(self, message):
#     def close(self):
#     def writeMessage(self, message, targetName="", targetStep=""):
#     def writeError(self, message, targetName="", targetStep="", filePath="", lineNumber=0, exitProgram=False):
#     def reportSkipped(self, targetName="", targetStep="", reason=""):
#     def reportStart(self, targetName="", targetStep=""):
#     def reportSuccess(self, targetName="", targetStep="", timeInSeconds=0):
#     def reportFailure(self, targetName="", targetStep="", timeInSeconds=0, returnCode=0, exitProgram=False):
#     def getOutFd(self, targetName="", targetStep=""):
#     def getErrorFd(self, targetName="", targetStep=""):
# class LoggerBase(object):
# 
# Path: md/utilityFunctions.py
# def boolToStr(s):
# def downloadFile(URL, downloadDir):
# def executeCommand(command, args="", workingDirectory="", verbose=False, exitOnError=False):
# def executeSubProcess(command, workingDirectory=tempfile.gettempdir(), outFileHandle=1, verbose=False, exitOnError=False):
# def findFilesWithExtension(path, extension):
# def findShallowestFile(startPath, fileList):
# def getBasename(path):
# def haveWriteAccess(path):
# def isURL(url):
# def __pathExists(directory, basename):
# def pathExists(path, forceCaseSensitive=False):
# def prettyPrintList(list, header="", headerIndent="", itemIndent=""):
# def printErrorAndExit(errorStr, filePath="", lineNumber=0):
# def removeDir(path):
# def removeDuplicatesFromList(myList):
# def splitFileName(fileName):
# def stripItemsInList(value):
# def untar(tarPath, outPath="", stripDir=False):
# def unzip(zipPath, outPath="", stripDir=False):
# def URLToFilename(url):
# def hasTarFileExtension(path):
# def validateCompressedFile(path, logger=None):
# def setVariables(filename, variableList):
# def is_exe(fpath):
# def isInstalled(program):


import os, sys, unittest, mdTestUtilities
from md import cmake, logger, utilityFunctions
    def test_getDependencies2(self):
        try:
            tempDir = mdTestUtilities.copyDirToTempDir("cases/cmake/hello/hello1")
            dependencies = cmake.getDependencies(tempDir, verbose=False)
            self.assertEquals(dependencies, [], "Wrong dependencies found in CMake project")
        finally:
            utilityFunctions.removeDir(tempDir)

    def test_getDependencies3(self):
        try:
            tempDir = mdTestUtilities.copyDirToTempDir("cases/cmake/ogre3dBuildFilesOnly")
            dependencies = cmake.getDependencies(tempDir, verbose=False)
            dependencies.sort()
            self.assertEquals(dependencies, ['boost', 'carbon', 'cg', 'cocoa',
                                             'cppunit', 'd3d10', 'd3d11', 'd3d9', 'd3dcompiler', 'd3dx10',
                                             'd3dx11', 'd3dx9', 'directx', 'dl', 'doxygen', 'dxerr', 'dxgi',
                                             'dxguid', 'freeimage', 'freetype', 'iokit', 'iphonesdk', 'ois',
                                             'opengl', 'opengles', 'opengles2', 'pkgconfig', 'poco', 'tbb',
                                             'x11', 'xaw', 'zlib', 'zzip'],
                              "Wrong dependencies found in CMake project")
        finally:
            utilityFunctions.removeDir(tempDir)

    def test_getDependenciesFalse1(self):
        #False positive
        try:
            tempDir = mdTestUtilities.copyDirToTempDir("cases/simpleGraphAutoTools/TestCaseA")
            dependencies = cmake.getDependencies(tempDir, verbose=False)
            self.assertEquals(dependencies, None, "Wrong dependencies found in CMake project")
        finally:

# Path: md/cmake.py
# def isCMakeProject(path):
# def getInstallDir(command):
# def _findAllCMakeFiles(path, listToBeFilled):
# def getDependencies(path, name="", verbose=True):
# def isCmakeInstalled():
# def getPreconfigureCommand():
# def getConfigureCommand():
# def getBuildCommand():
# def getInstallCommand():
# def getCleanCommand():
# 
# Path: md/logger.py
# def secondsToHMS(seconds=0):
# def Logger():
# def setLogger(loggerName="", logOutputDir=""):
# def close():
# def writeMessage(message, targetName="", targetStep="", forceStdOut=False):
# def writeError(message, targetName="", targetStep="", filePath="", lineNumber=0, exitProgram=False):
# def reportSkipped(targetName="", targetStep="", reason=""):
# def reportStart(targetName="", targetStep=""):
# def reportSuccess(targetName="", targetStep="", timeInSeconds=0):
# def reportFailure(targetName="", targetStep="", timeInSeconds=0, returnCode=0, exitProgram=False):
# def getOutFd(targetName="", targetStep=""):
# def getErrorFd(targetName="", targetStep=""):
#     def _writeStdOut(self, message):
#     def _writeStdErr(self, message):
#     def close(self):
#     def writeMessage(self, message, targetName="", targetStep=""):
#     def writeError(self, message, targetName="", targetStep="", filePath="", lineNumber=0, exitProgram=False):
#     def reportSkipped(self, targetName="", targetStep="", reason=""):
#     def reportStart(self, targetName="", targetStep=""):
#     def reportSuccess(self, targetName="", targetStep="", timeInSeconds=0):
#     def reportFailure(self, targetName="", targetStep="", timeInSeconds=0, returnCode=0, exitProgram=False):
#     def getOutFd(self, targetName="", targetStep=""):
#     def getErrorFd(self, targetName="", targetStep=""):
# class LoggerBase(object):
# 
# Path: md/utilityFunctions.py
# def boolToStr(s):
# def downloadFile(URL, downloadDir):
# def executeCommand(command, args="", workingDirectory="", verbose=False, exitOnError=False):
# def executeSubProcess(command, workingDirectory=tempfile.gettempdir(), outFileHandle=1, verbose=False, exitOnError=False):
# def findFilesWithExtension(path, extension):
# def findShallowestFile(startPath, fileList):
# def getBasename(path):
# def haveWriteAccess(path):
# def isURL(url):
# def __pathExists(directory, basename):
# def pathExists(path, forceCaseSensitive=False):
# def prettyPrintList(list, header="", headerIndent="", itemIndent=""):
# def printErrorAndExit(errorStr, filePath="", lineNumber=0):
# def removeDir(path):
# def removeDuplicatesFromList(myList):
# def splitFileName(fileName):
# def stripItemsInList(value):
# def untar(tarPath, outPath="", stripDir=False):
# def unzip(zipPath, outPath="", stripDir=False):
# def URLToFilename(url):
# def hasTarFileExtension(path):
# def validateCompressedFile(path, logger=None):
# def setVariables(filename, variableList):
# def is_exe(fpath):
# def isInstalled(program):


# Path: test/test_cmake.py
import os, sys, unittest, mdTestUtilities
from md import cmake, logger, utilityFunctions

    def test_getDependencies2(self):
        try:
            tempDir = mdTestUtilities.copyDirToTempDir("cases/cmake/hello/hello1")
            dependencies = cmake.getDependencies(tempDir, verbose=False)
            self.assertEquals(dependencies, [], "Wrong dependencies found in CMake project")
        finally:
            utilityFunctions.removeDir(tempDir)

    def test_getDependencies3(self):
        try:
            tempDir = mdTestUtilities.copyDirToTempDir("cases/cmake/ogre3dBuildFilesOnly")
            dependencies = cmake.getDependencies(tempDir, verbose=False)
            dependencies.sort()
            self.assertEquals(dependencies, ['boost', 'carbon', 'cg', 'cocoa',
                                             'cppunit', 'd3d10', 'd3d11', 'd3d9', 'd3dcompiler', 'd3dx10',
                                             'd3dx11', 'd3dx9', 'directx', 'dl', 'doxygen', 'dxerr', 'dxgi',
                                             'dxguid', 'freeimage', 'freetype', 'iokit', 'iphonesdk', 'ois',
                                             'opengl', 'opengles', 'opengles2', 'pkgconfig', 'poco', 'tbb',
                                             'x11', 'xaw', 'zlib', 'zzip'],
                              "Wrong dependencies found in CMake project")
        finally:
            utilityFunctions.removeDir(tempDir)

    def test_getDependenciesFalse1(self):
        #False positive
        try:
            tempDir = mdTestUtilities.copyDirToTempDir("cases/simpleGraphAutoTools/TestCaseA")
            dependencies = cmake.getDependencies(tempDir, verbose=False)
            self.assertEquals(dependencies, None, "Wrong dependencies found in CMake project")
        finally:

            utilityFunctions.removeDir(tempDir)