Skip to content

Commit 5085b9d

Browse files
committed
unittest: update default build directory
1 parent b28cffa commit 5085b9d

File tree

1 file changed

+25
-15
lines changed

1 file changed

+25
-15
lines changed

mbed/mbed.py

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3020,12 +3020,15 @@ def help_():
30203020
dict(name=['-m', '--make-program'], choices=['gmake', 'make', 'mingw32-make', 'ninja'], help='Which make program to use'),
30213021
dict(name=['-g', '--generator'], choices=['Unix Makefiles', 'MinGW Makefiles', 'Ninja'], help='Which CMake generator to use'),
30223022
dict(name=['-r', '--regex'], help='Run tests matching regular expression'),
3023-
dict(name='--build', help='Build directory. Default: mbed-os/UNITTESTS/build/'),
3023+
dict(name='--build', help='Build directory. Default: BUILD/unittests/'),
30243024
dict(name='--new', help='generate files for a new unit test', metavar="FILEPATH"),
30253025
help='Create, build and run unit tests')
30263026
def unittest_(compile_only=False, run_only=False, clean=False, debug=False, coverage=None, make_program=None, generator=None, regex=None, build=None, new=None):
3027+
# Find the root of the program
30273028
program = Program(getcwd(), False)
30283029
program.check_requirements(True)
3030+
# Save original working directory
3031+
orig_path = getcwd()
30293032

30303033
mbed_os_dir = program.get_os_dir()
30313034
if mbed_os_dir is None:
@@ -3038,20 +3041,27 @@ def unittest_(compile_only=False, run_only=False, clean=False, debug=False, cove
30383041
env = program.get_env()
30393042

30403043
if os.path.exists(tool):
3041-
popen([python_cmd, tool]
3042-
+ (["--compile"] if compile_only else [])
3043-
+ (["--run"] if run_only else [])
3044-
+ (["--clean"] if clean else [])
3045-
+ (["--debug"] if debug else [])
3046-
+ (["--coverage", coverage] if coverage else [])
3047-
+ (["--make-program", make_program] if make_program else [])
3048-
+ (["--generator", generator] if generator else [])
3049-
+ (["--regex", regex] if regex else [])
3050-
+ (["--build", build] if build else [])
3051-
+ (["--new", new] if new else [])
3052-
+ (["--verbose"] if verbose else [])
3053-
+ remainder,
3054-
env=env)
3044+
with cd(program.path):
3045+
# Setup the build path if not specified
3046+
build_path = build
3047+
if not build_path:
3048+
build_path = os.path.join(os.path.relpath(program.path, orig_path), program.build_dir, 'unittests')
3049+
3050+
# Run unit testing tools
3051+
popen([python_cmd, tool]
3052+
+ (["--compile"] if compile_only else [])
3053+
+ (["--run"] if run_only else [])
3054+
+ (["--clean"] if clean else [])
3055+
+ (["--debug"] if debug else [])
3056+
+ (["--coverage", coverage] if coverage else [])
3057+
+ (["--make-program", make_program] if make_program else [])
3058+
+ (["--generator", generator] if generator else [])
3059+
+ (["--regex", regex] if regex else [])
3060+
+ ["--build", build_path]
3061+
+ (["--new", new] if new else [])
3062+
+ (["--verbose"] if verbose else [])
3063+
+ remainder,
3064+
env=env)
30553065
else:
30563066
warning("Unit testing is not supported with this Mbed OS version.")
30573067

0 commit comments

Comments
 (0)