logger=logging.getLogger('patchtest')
info=logger.info
+default_testdir = os.path.abspath(os.path.dirname(__file__) + "/tests")
+default_repodir = os.path.abspath(os.path.dirname(__file__) + "/../../..")
+
# Data store commonly used to share values between pre and post-merge tests
PatchTestDataStore = collections.defaultdict(str)
target_patch_group.add_argument('--directory', metavar='DIRECTORY', dest='patch_path',
help='The directory containing patches to be tested')
- parser.add_argument('repodir', metavar='REPO',
+ parser.add_argument('--repodir', metavar='REPO',
+ default=default_repodir,
help="Name of the repository where patch is merged")
- parser.add_argument('startdir', metavar='TESTDIR',
+ parser.add_argument('--testdir', metavar='TESTDIR',
+ default=default_testdir,
help="Directory where test cases are located")
parser.add_argument('--top-level-directory', '-t',
loader.testMethodPrefix = prefix
# create the suite with discovered tests and the corresponding runner
- suite = loader.discover(start_dir=PatchTestInput.startdir, pattern=PatchTestInput.pattern, top_level_dir=PatchTestInput.topdir)
+ suite = loader.discover(start_dir=PatchTestInput.testdir, pattern=PatchTestInput.pattern, top_level_dir=PatchTestInput.topdir)
ntc = suite.countTestCases()
# if there are no test cases, just quit
if PatchTestInput.debug:
logger.setLevel(logging.DEBUG)
- # if topdir not define, default it to startdir
+ # if topdir not define, default it to testdir
if not PatchTestInput.topdir:
- PatchTestInput.topdir = PatchTestInput.startdir
+ PatchTestInput.topdir = PatchTestInput.testdir
try:
ret = main()
or patchtest-get-series
3. Run patchtest on a patch file by doing the following:
- patchtest --patch /path/to/patch/file /path/to/target/repo /path/to/tests/directory
+ patchtest --patch /path/to/patch/file
or, if you have stored the patch files in a directory, do:
- patchtest --directory /path/to/patch/directory /path/to/target/repo /path/to/tests/directory
+ patchtest --directory /path/to/patch/directory
For example, to test `master-gcc-Fix--fstack-protector-issue-on-aarch64.patch` against the oe-core test suite:
- patchtest --patch master-gcc-Fix--fstack-protector-issue-on-aarch64.patch /path/to/openembedded-core /path/to/openembedded-core/meta/lib/patchtest/tests
+ patchtest --patch master-gcc-Fix--fstack-protector-issue-on-aarch64.patch
+
+ If you want to use a different test suite or target repository, you can use the --testdir and --repodir flags:
+
+ patchtest --patch /path/to/patch/file --repodir /path/to/repo --testdir /path/to/test/dir
### Guest Mode