From bc380714bdda6684154e03db2e829e054dabc143 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Tue, 17 Jul 2018 20:58:20 +0300 Subject: [PATCH 1/4] Disable exec command for Sublime Text debugger --- platformio/ide/tpls/sublimetext/platformio.sublime-project.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformio/ide/tpls/sublimetext/platformio.sublime-project.tpl b/platformio/ide/tpls/sublimetext/platformio.sublime-project.tpl index bf27d97c..6f24d6a1 100644 --- a/platformio/ide/tpls/sublimetext/platformio.sublime-project.tpl +++ b/platformio/ide/tpls/sublimetext/platformio.sublime-project.tpl @@ -97,7 +97,7 @@ "settings": { "sublimegdb_workingdir": "{{project_dir}}", - "sublimegdb_exec_cmd": "-exec-continue", + "sublimegdb_exec_cmd": "", "sublimegdb_commandline": "{{platformio_path}} -f -c sublimetext debug --interface=gdb --interpreter=mi -x .pioinit" } From 3f2f79ade4e7cad2c8754333a64a7cdbdc67db07 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Tue, 17 Jul 2018 20:57:41 +0300 Subject: [PATCH 2/4] Add udev rules for J-Link devices --- scripts/99-platformio-udev.rules | 49 ++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/scripts/99-platformio-udev.rules b/scripts/99-platformio-udev.rules index 6daaf922..ad6ed90c 100644 --- a/scripts/99-platformio-udev.rules +++ b/scripts/99-platformio-udev.rules @@ -205,3 +205,52 @@ ATTRS{idVendor}=="c251", ATTRS{idProduct}=="2710", MODE="660", GROUP="plugdev", # CMSIS-DAP compatible adapters ATTRS{product}=="*CMSIS-DAP*", MODE="660", GROUP="plugdev", TAG+="uaccess" + +#SEGGER J-LIK +ATTR{idProduct}=="1001", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1002", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1003", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1004", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1005", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1006", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1007", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1008", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1009", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="100a", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="100b", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="100c", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="100d", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="100e", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="100f", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1010", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1011", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1012", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1013", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1014", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1015", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1016", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1017", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1018", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1019", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="101a", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="101b", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="101c", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="101d", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="101e", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="101f", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1020", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1021", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1022", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1023", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1024", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1025", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1026", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1027", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1028", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="1029", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="102a", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="102b", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="102c", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="102d", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="102e", ATTR{idVendor}=="1366", MODE="666" +ATTR{idProduct}=="102f", ATTR{idVendor}=="1366", MODE="666" From ff59dcefe0caca65ec770abb55f871b8b0c93aec Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Tue, 10 Jul 2018 15:54:46 +0300 Subject: [PATCH 3/4] Append __PLATFORMIO_DEBUG__ macro in debug session --- platformio/builder/tools/piomisc.py | 1 + 1 file changed, 1 insertion(+) diff --git a/platformio/builder/tools/piomisc.py b/platformio/builder/tools/piomisc.py index c15812c3..ec565b51 100644 --- a/platformio/builder/tools/piomisc.py +++ b/platformio/builder/tools/piomisc.py @@ -288,6 +288,7 @@ def PioClean(env, clean_dir): def ProcessDebug(env): if not env.subst("$PIODEBUGFLAGS"): env.Replace(PIODEBUGFLAGS=["-Og", "-g3", "-ggdb3"]) + env.Append(PIODEBUGFLAGS=["-D__PLATFORMIO_DEBUG__"]) env.Append( BUILD_FLAGS=env.get("PIODEBUGFLAGS", []), BUILD_UNFLAGS=["-Os", "-O0", "-O1", "-O2", "-O3"]) From ff3ce2d69e837e1fa40c1ae2ccc224f23c1fb143 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Thu, 19 Jul 2018 15:27:00 +0300 Subject: [PATCH 4/4] Fix PIO Unit Testing issue when ``UNIT_TEST`` macro was not set in a build environment --- HISTORY.rst | 7 +++++++ docs | 2 +- examples | 2 +- platformio/builder/tools/platformio.py | 19 ++++++++++--------- 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/HISTORY.rst b/HISTORY.rst index ffa4b489..d5f4f19a 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -4,6 +4,13 @@ Release Notes PlatformIO 3.0 -------------- +3.5.5 (2018-??-??) +~~~~~~~~~~~~~~~~~~ + +* Fixed `PIO Unit Testing `__ + issue with a shared code between main and test programs when ``UNIT_TEST`` + macro was not set in a build environment + 3.5.4 (2018-07-03) ~~~~~~~~~~~~~~~~~~ diff --git a/docs b/docs index 9d8e84d5..a77ecd12 160000 --- a/docs +++ b/docs @@ -1 +1 @@ -Subproject commit 9d8e84d527aa83f19ce402e0c55964a1655535eb +Subproject commit a77ecd12952ff66b799357d505e9a09c24a4a5ec diff --git a/examples b/examples index ebff9ae7..8e11abaa 160000 --- a/examples +++ b/examples @@ -1 +1 @@ -Subproject commit ebff9ae73fa582c5edb7b47f628891b637b29d94 +Subproject commit 8e11abaafcfac758252f1df820d694a873e09e36 diff --git a/platformio/builder/tools/platformio.py b/platformio/builder/tools/platformio.py index 1c72bf3d..ab4cd9ec 100644 --- a/platformio/builder/tools/platformio.py +++ b/platformio/builder/tools/platformio.py @@ -54,21 +54,20 @@ def _build_project_deps(env): if project_lib_builder.env.get(key) }) - if "__test" in COMMAND_LINE_TARGETS: - env.ProcessTest() - projenv = env.Clone() - projenv.BuildSources("$BUILDTEST_DIR", "$PROJECTTEST_DIR", - "$PIOTEST_SRC_FILTER") - else: - projenv = env.Clone() - projenv.BuildSources("$BUILDSRC_DIR", "$PROJECTSRC_DIR", - env.get("SRC_FILTER")) + projenv = env.Clone() # CPPPATH from dependencies projenv.PrependUnique(CPPPATH=project_lib_builder.env.get("CPPPATH")) # extra build flags from `platformio.ini` projenv.ProcessFlags(env.get("SRC_BUILD_FLAGS")) + if "__test" in COMMAND_LINE_TARGETS: + projenv.BuildSources("$BUILDTEST_DIR", "$PROJECTTEST_DIR", + "$PIOTEST_SRC_FILTER") + else: + projenv.BuildSources("$BUILDSRC_DIR", "$PROJECTSRC_DIR", + env.get("SRC_FILTER")) + if not env.get("PIOBUILDFILES") and not COMMAND_LINE_TARGETS: sys.stderr.write( "Error: Nothing to build. Please put your source code files " @@ -95,6 +94,8 @@ def BuildProgram(env): if "__debug" in COMMAND_LINE_TARGETS: env.ProcessDebug() + if "__test" in COMMAND_LINE_TARGETS: + env.ProcessTest() # process extra flags from board if "BOARD" in env and "build.extra_flags" in env.BoardConfig():