oeqa.selftest: add a test for oe.path.copytree()

One motivation for the use of cpio in oe.path.copytree() was to
ensure that files with spaces in their names were copied. Add a new
unittest module to test the OE module with a test case for copytree
with a spaces in a filename.

(From OE-Core rev: a408f8310d9426db4439cf8db0cf49f9bfe90b3b)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Joshua Lock 2016-09-01 17:26:40 +01:00 committed by Richard Purdie
parent 74d0a3dad1
commit 97677c11cf
1 changed files with 33 additions and 0 deletions

View File

@ -0,0 +1,33 @@
from oeqa.selftest.base import oeSelfTest
from oeqa.utils.commands import get_bb_var
import oe.path
import glob
import os
import os.path
class LibOE(oeSelfTest):
def test_copy_tree_special(self):
"""
Summary: oe.path.copytree() should copy files with special character
Expected: 'test file with sp£c!al @nd spaces' should exist in
copy destination
Product: OE-Core
Author: Joshua Lock <joshua.g.lock@intel.com>
"""
tmp_dir = get_bb_var('TMPDIR')
testloc = oe.path.join(tmp_dir, 'liboetests')
src = oe.path.join(testloc, 'src')
dst = oe.path.join(testloc, 'dst')
bb.utils.mkdirhier(testloc)
bb.utils.mkdirhier(src)
testfilename = 'test file with sp£c!al @nd spaces'
# create the test file and copy it
open(oe.path.join(src, testfilename), 'w+b').close()
oe.path.copytree(src, dst)
# ensure path exists in dest
fileindst = os.path.isfile(oe.path.join(dst, testfilename))
self.assertTrue(fileindst, "File with spaces doesn't exist in dst")
oe.path.remove(testloc)