コード例 #1
0
    def test_PUBLISH(self):
        """
        test Syntax.PUBLISH
        """
        #src has one file
        Syntax.PUBLISH("conf/a.conf", "$OUT/conf")
        dst = os.path.join(self._env.OutputPath(), "conf")
        src = os.path.join(self._module.module_cvspath, "conf/a.conf")
        self.assertTrue("mkdir -p %s && cp -rf %s %s" % (dst, src, dst))

        #src has more files
        Syntax.PUBLISH("conf/a1.conf conf/a2.conf", "$OUT/conf")
        dst = os.path.join(self._env.OutputPath(), "conf")
        for s in "conf/a1.conf conf/a2.conf".split(' '):
            src = os.path.join(self._module.module_cvspath, s)
            self.assertTrue("mkdir -p %s && cp -rf %s %s" % (dst, src, dst))

        #out_dir doesn't start with $OUT
        flag = False
        try:
            Syntax.PUBLISH("conf/a3.conf", "conf")
        except Syntax.BrocArgumentIllegalError as e:
            flag = True
        self.assertTrue(flag)

        #src doesn't in self module
        flag = False
        try:
            Syntax.PUBLISH("../../conf/a3.conf", "$OUT/conf")
        except Syntax.NotInSelfModuleError as e:
            flag = True
        self.assertTrue(flag)