コード例 #1
0
ファイル: test_Syntax.py プロジェクト: wotsen-star/broc
    def test_UT_APPLICATION(self):
        """
        test Syntax.UT_APPLICATION
        """
        #set local flags tag
        ldflag = Syntax.LDFlags("-lpthread", "-lcrypto")
        libs = Syntax.Libs("$OUT_ROOT/baidu/broc/libhello.a")
        cpptags = Syntax.CppFlags("-DBROC", "-DRELEASE")
        utargs = Syntax.UTArgs("--log=a.log --conf=a.conf")

        #set global flags
        Syntax.LDFLAGS("-lmcpack", "-lrt")
        src = Syntax.Sources("hello.cpp")
        
        #an error name of utapplication
        flag = False
        try:
            Syntax.UT_APPLICATION("^*^&*!*$^", src)
        except Syntax.BrocArgumentIllegalError as ex:
            flag = True
        self.assertTrue(flag)

        #an error args of utapplication
        flag = False
        try:
            Syntax.UT_APPLICATION("hello", src, cpptags)
        except Syntax.BrocArgumentIllegalError as ex:
            flag = True
        self.assertTrue(flag)

        #global ldflags
        Syntax.UT_APPLICATION("hello", src)
        utapp = self._env.Targets()[0]
        utapp.Action()
        self.assertEqual(utapp.link_options, ["-lmcpack"])
        self.assertEqual(utapp.tag_libs.V(), [])
        self.assertEqual(utapp._ut_args, [])

        #two samename target
        flag = False
        try:
            Syntax.UT_APPLICATION("hello", src)
        except Syntax.BrocArgumentIllegalError as ex:
            flag = True
        self.assertTrue(flag)

        #local ldflags
        Syntax.UT_APPLICATION("hello2", src, ldflag)
        utapp = self._env.Targets()[1]
        utapp.Action()
        self.assertEqual(utapp.link_options, ["-lpthread"])
        self.assertEqual(utapp.tag_libs.V(), [])
        self.assertEqual(utapp._ut_args, [])

        #Libs
        Syntax.UT_APPLICATION("hello3", src, ldflag, libs)
        utapp = self._env.Targets()[2]
        utapp.Action()
        self.assertEqual(utapp.link_options, ["-lpthread"])
        self.assertEqual(utapp.tag_libs.V(), ["broc_out/baidu/broc/libhello.a"])
        self.assertEqual(utapp._ut_args, [])
        
        #UTArgs
        Syntax.UT_APPLICATION("hello4", src, ldflag, libs, utargs)
        utapp = self._env.Targets()[3]
        utapp.Action()
        self.assertEqual(utapp.link_options, ["-lpthread"])
        self.assertEqual(utapp.tag_libs.V(), ["broc_out/baidu/broc/libhello.a"])
        self.assertEqual(utapp._ut_args, ["--log=a.log", "--conf=a.conf"])