diff --git a/CMakeLists.txt b/CMakeLists.txt
index 08b0864..5f36ad5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -37,6 +37,7 @@
 find_package (CyrusSASL)
 
 enable_testing ()
+include(tests/PNAddTest.cmake)
 
 # Set up runtime checks (valgrind, sanitizers etc.)
 include(tests/RuntimeCheck.cmake)
@@ -285,17 +286,19 @@
 endmacro()
 
 if (CMAKE_SYSTEM_NAME STREQUAL Windows)
-  # No change needed for windows already use correct separator
+  # CMake uses semicolon as list separator. Change ';'->'\;'
   function(to_native_path path result)
     file (TO_NATIVE_PATH "${path}" path)
-    set (${result} ${path} PARENT_SCOPE)
+    string (REPLACE ";" "\;" path "${path}")
+    # without this, ...;last\dir\ would later combine with list separator ; into \;
+    set (${result} "${path}\;" PARENT_SCOPE)
   endfunction()
 else (CMAKE_SYSTEM_NAME STREQUAL Windows)
   # Just change ';'->':'
   function(to_native_path path result)
     file (TO_NATIVE_PATH "${path}" path)
-    string (REGEX REPLACE ";" ":" path "${path}")
-    set (${result} ${path} PARENT_SCOPE)
+    string (REPLACE ";" ":" path "${path}")
+    set (${result} "${path}" PARENT_SCOPE)
   endfunction()
 endif (CMAKE_SYSTEM_NAME STREQUAL Windows)
 
diff --git a/c/examples/CMakeLists.txt b/c/examples/CMakeLists.txt
index 87a4334..9771ec5 100644
--- a/c/examples/CMakeLists.txt
+++ b/c/examples/CMakeLists.txt
@@ -45,11 +45,12 @@
 
   set(test_env
     "PATH=${test_path}"
-    "PYTHONPATH=../../tests/py"
-    ${TEST_ENV})
+    "PYTHONPATH=../../tests/py")
 
-  add_test(
+  pn_add_test(
+    UNWRAPPED
     NAME c-example-tests
+    PREPEND_ENVIRONMENT "${test_env}"
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-    COMMAND ${PN_ENV_SCRIPT} -- ${test_env} ${PYTHON_EXECUTABLE} testme -v)
+    COMMAND ${PYTHON_EXECUTABLE} testme -v)
 endif()
diff --git a/c/tests/CMakeLists.txt b/c/tests/CMakeLists.txt
index 137ac15..a0550cc 100644
--- a/c/tests/CMakeLists.txt
+++ b/c/tests/CMakeLists.txt
@@ -20,9 +20,9 @@
 configure_file(test_config.h.in test_config.h)
 include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/tests/include)
 if (WIN32)
-  set(test_env "PATH=$<TARGET_FILE_DIR:qpid-proton-core>" ${TEST_ENV})
+  set(test_env "PATH=$<TARGET_FILE_DIR:qpid-proton-core>")
 else()
-  set(test_env ${TEST_ENV})
+  set(test_env "")
   set(platform_test_src ssl_test.cpp)
 endif()
 
@@ -45,9 +45,12 @@
     add_executable(${exe} $<TARGET_OBJECTS:test_main> pn_test.cpp ${ARGN})
     set_target_properties(${exe} PROPERTIES
       COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_WARNING_FLAGS}")
-    add_test(NAME ${exe} COMMAND ${PN_ENV_SCRIPT} -- ${test_env} ${TEST_EXE_PREFIX_CMD} $<TARGET_FILE:${exe}>)
-    set_tests_properties(${exe} PROPERTIES
-      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+    pn_add_test(
+      EXECUTABLE
+      NAME ${exe}
+      PREPEND_ENVIRONMENT ${test_env}
+      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+      COMMAND $<TARGET_FILE:${exe}>)
   endmacro()
 
   ## Tests that depend only on qpid-proton-core
@@ -83,8 +86,12 @@
     if (THREADERCISER)
       add_executable(c-threaderciser threaderciser.c)
       set_target_properties(c-threaderciser PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} ${C_WARNING_FLAGS}")
-      add_test(NAME c-threaderciser COMMAND ${PN_ENV_SCRIPT} -- ${test_env} ${TEST_EXE_PREFIX_CMD} $<TARGET_FILE:c-threaderciser>)
-      set_tests_properties(c-threaderciser PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+      pn_add_test(
+        EXECUTABLE
+        NAME c-threaderciser
+        PREPEND_ENVIRONMENT ${test_env}
+        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+        COMMAND $<TARGET_FILE:c-threaderciser>)
       target_link_libraries (c-threaderciser qpid-proton-proactor)
       find_library(Pthread_LIBRARY pthread)
       if (Pthread_LIBRARY)
@@ -100,11 +107,14 @@
 
     set(pypath "${CMAKE_SOURCE_DIR}/tests/py")
 
-    # unset TEST_EXE_PREFIX as valgrind does not run succesfully when fds are limited
-    add_test(
-        NAME c-fdlimit-tests
-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-        COMMAND ${PN_ENV_SCRIPT} -- "PATH=${path}" "PYTHONPATH=${pypath}" ${test_env} "TEST_EXE_PREFIX=" ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/fdlimit.py)
+    # unset TEST_EXE_PREFIX as valgrind does not run successfully when fds are limited
+    pn_add_test(
+      UNWRAPPED
+      NAME c-fdlimit-tests
+      PREPEND_ENVIRONMENT "PATH=${path}" "PYTHONPATH=${pypath}" "${test_env}"
+      APPEND_ENVIRONMENT "TEST_EXE_PREFIX="
+      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+      COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/fdlimit.py)
   endif(HAS_PROACTOR)
 else (CMAKE_CXX_COMPILER)
   message(WARNING "No C++ compiler, some C library tests were not built")
diff --git a/c/tests/fuzz/CMakeLists.txt b/c/tests/fuzz/CMakeLists.txt
index 5db916d..2fd19b9 100644
--- a/c/tests/fuzz/CMakeLists.txt
+++ b/c/tests/fuzz/CMakeLists.txt
@@ -55,9 +55,16 @@
       set(file_lines "${file_lines}${f}\n")
     endforeach()
     file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${test}-files" "${file_lines}")
-    add_test (NAME ${test} COMMAND ${PN_ENV_SCRIPT} -- ${test_env} ${TEST_EXE_PREFIX_CMD} $<TARGET_FILE:${test}> "@${CMAKE_CURRENT_BINARY_DIR}/${test}-files")
+    pn_add_test(
+      EXECUTABLE
+      NAME ${test}
+      PREPEND_ENVIRONMENT ${test_env}
+      COMMAND $<TARGET_FILE:${test}> "@${CMAKE_CURRENT_BINARY_DIR}/${test}-files")
   else ()
-    add_test (NAME ${test} COMMAND $<TARGET_FILE:${test}> -runs=1 ${CMAKE_CURRENT_SOURCE_DIR}/${test}>)
+    pn_add_test(
+      EXECUTABLE
+      NAME ${test}
+      COMMAND $<TARGET_FILE:${test}> -runs=1 ${CMAKE_CURRENT_SOURCE_DIR}/${test}>)
   endif ()
 endmacro(pn_add_fuzz_test)
 
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 5b7399e..80d6d89 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -248,7 +248,7 @@
   DESTINATION ${LIB_INSTALL_DIR}/cmake/ProtonCpp)
 
 set(testdata "${CMAKE_CURRENT_BINARY_DIR}/testdata")
-set(test_env ${TEST_ENV})
+set(test_env "")
 
 # SASL configuration for tests
 if(CyrusSASL_Saslpasswd_EXECUTABLE)
@@ -272,8 +272,12 @@
 macro(add_cpp_test test)
   add_executable (${test} src/${test}.cpp)
   target_link_libraries (${test} qpid-proton-cpp ${PLATFORM_LIBS})
-  add_test (NAME cpp-${test}
-    COMMAND ${PN_ENV_SCRIPT} -- ${test_env} ${TEST_EXE_PREFIX_CMD} $<TARGET_FILE:${test}> ${ARGN})
+  pn_add_test(
+    EXECUTABLE
+    NAME cpp-${test}
+    APPEND_ENVIRONMENT ${test_env}
+    COMMAND $<TARGET_FILE:${test}>
+    ${ARGN})
 endmacro(add_cpp_test)
 
 add_cpp_test(codec_test)
@@ -305,11 +309,11 @@
 target_link_libraries(cpp-test qpid-proton-cpp ${PLATFORM_LIBS})
 
 macro(add_catch_test tag)
-  add_test (
+  pn_add_test(
+    EXECUTABLE
     NAME cpp-${tag}-test
-    COMMAND ${PN_ENV_SCRIPT} -- ${test_env}
-    ${TEST_EXE_PREFIX_CMD} $<TARGET_FILE:cpp-test> "[${tag}]"
-    )
+    APPEND_ENVIRONMENT ${test_env}
+    COMMAND $<TARGET_FILE:cpp-test> "[${tag}]")
 endmacro(add_catch_test)
 
 add_catch_test(url)
diff --git a/cpp/examples/CMakeLists.txt b/cpp/examples/CMakeLists.txt
index 226f6b2..4c6dc9f 100644
--- a/cpp/examples/CMakeLists.txt
+++ b/cpp/examples/CMakeLists.txt
@@ -115,18 +115,21 @@
   set(test_env
     "PATH=${test_path}"
     "PYTHONPATH=../../tests/py"
-    "HAS_CPP11=$<$<BOOL:${HAS_ENOUGH_CPP11}>:1>"
-    ${TEST_ENV})
+    "HAS_CPP11=$<$<BOOL:${HAS_ENOUGH_CPP11}>:1>")
 
-  add_test(
+  pn_add_test(
+    UNWRAPPED
     NAME cpp-example-container
+    PREPEND_ENVIRONMENT "${test_env}"
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-    COMMAND ${PN_ENV_SCRIPT} -- ${test_env} ${PYTHON_EXECUTABLE} testme -v ContainerExampleTest)
+    COMMAND ${PYTHON_EXECUTABLE} testme -v ContainerExampleTest)
 
   if (NOT SSL_IMPL STREQUAL none)
-    add_test(
+    pn_add_test(
+      UNWRAPPED
       NAME cpp-example-container-ssl
+      PREPEND_ENVIRONMENT "${test_env}"
       WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-      COMMAND ${PN_ENV_SCRIPT} -- ${test_env} ${PYTHON_EXECUTABLE}  testme -v ContainerExampleSSLTest)
+      COMMAND ${PYTHON_EXECUTABLE} testme -v ContainerExampleSSLTest)
   endif()
 endif()
diff --git a/go/CMakeLists.txt b/go/CMakeLists.txt
index 4c61eb8..e252212 100644
--- a/go/CMakeLists.txt
+++ b/go/CMakeLists.txt
@@ -58,7 +58,7 @@
           COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/../go.mod ${GOPATH}/../go.mod)
 
   # Following are CACHE INTERNAL so examples/CMakeLists.txt can see them.
-  set(GO_ENV ${PN_ENV_SCRIPT} --
+  set(GO_ENV
     "GOPATH=${GOPATH}"
     "CGO_CFLAGS=-I${PN_C_INCLUDE_DIR}"
     "CGO_LDFLAGS=-L${PN_C_LIBRARY_DIR}"
@@ -66,7 +66,7 @@
     "SASLPASSWD=${CyrusSASL_Saslpasswd_EXECUTABLE}"
     CACHE INTERNAL "Run a command with Go environment variables")
 
-  set(GO ${GO_ENV} ${GO_EXE} CACHE INTERNAL "Run go with environment set")
+  set(GO ${PN_ENV_SCRIPT} -- ${GO_ENV} ${GO_EXE} CACHE INTERNAL "Run go with environment set")
 
   set(GO_BUILD ${GO} build ${GO_BUILD_FLAGS} ${GO_RPATH_FLAGS} CACHE INTERNAL "Run go build")
   set(GO_INSTALL ${GO} install ${GO_BUILD_FLAGS} CACHE INTERNAL "Run go install" )
@@ -81,7 +81,8 @@
     WORKING_DIRECTORY $ENV{PWD})
 
   add_test(
-    NAME go-test COMMAND ${GO_TEST} $ENV{PWD}/go/pkg/...
+    NAME go-test
+    COMMAND ${GO_TEST} $ENV{PWD}/go/pkg/...
     WORKING_DIRECTORY $ENV{PWD})
 
   # Clean up go output directories.
diff --git a/go/examples/CMakeLists.txt b/go/examples/CMakeLists.txt
index c9aba01..7f4bd2a 100644
--- a/go/examples/CMakeLists.txt
+++ b/go/examples/CMakeLists.txt
@@ -42,13 +42,16 @@
     COMMAND ${GO_TEST} -c -o ${test_exe} ${CMAKE_CURRENT_SOURCE_DIR}/example_test.go
     WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
 
-  add_test(
+  pn_add_test(
+    UNWRAPPED
     NAME go-example-electron
-    COMMAND ${GO_ENV} ${test_exe} -dir ${CMAKE_CURRENT_BINARY_DIR}/electron -broker broker)
+    PREPEND_ENVIRONMENT ${GO_ENV}
+    COMMAND ${test_exe} -dir ${CMAKE_CURRENT_BINARY_DIR}/electron -broker broker)
 
-  add_test(
+  pn_add_test(
+    UNWRAPPED
     NAME go-example-proton
-    COMMAND ${GO_ENV} ${test_exe} -dir ${CMAKE_CURRENT_BINARY_DIR}/electron -broker ../proton/broker)
-
+    PREPEND_ENVIRONMENT ${GO_ENV}
+    COMMAND ${test_exe} -dir ${CMAKE_CURRENT_BINARY_DIR}/electron -broker ../proton/broker)
   list(APPEND ADDITIONAL_MAKE_CLEAN_FILES ${examples})
 endif()
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index 942d55b..87057d8 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -237,12 +237,14 @@
   set (python_coverage_options -m coverage run)
 endif(CMAKE_BUILD_TYPE MATCHES "Coverage")
 
-add_test (NAME python-test
-  COMMAND ${PN_ENV_SCRIPT}
-  "PATH=${py_path}" "PYTHONPATH=${py_pythonpath}"
-  "SASLPASSWD=${CyrusSASL_Saslpasswd_EXECUTABLE}"
-  ${TEST_ENV}
-  ${TEST_WRAP_PREFIX_CMD} ${PYTHON_EXECUTABLE} -- ${python_coverage_options} "${py_tests}/proton-test")
+pn_add_test(
+  INTERPRETED
+  NAME python-test
+  PREPEND_ENVIRONMENT
+    "PATH=${py_path}"
+    "PYTHONPATH=${py_pythonpath}"
+    "SASLPASSWD=${CyrusSASL_Saslpasswd_EXECUTABLE}"
+  COMMAND ${PYTHON_EXECUTABLE} ${python_coverage_options} -- "${py_tests}/proton-test")
 set_tests_properties(python-test PROPERTIES PASS_REGULAR_EXPRESSION "Totals: .* 0 failed")
 
 check_python_module("tox" TOX_MODULE_FOUND)
@@ -265,13 +267,14 @@
       configure_file(
         "${CMAKE_CURRENT_SOURCE_DIR}/tox.ini.in"
         "${CMAKE_CURRENT_BINARY_DIR}/tox.ini")
-      add_test (NAME python-tox-test
-        COMMAND ${PN_ENV_SCRIPT} --
-        "PATH=${py_path}"
-        "SASLPASSWD=${CyrusSASL_Saslpasswd_EXECUTABLE}"
-        "SWIG=${SWIG_EXECUTABLE}"
-        ${TEST_ENV}
-        ${TEST_WRAP_PREFIX_CMD} ${PYTHON_EXECUTABLE} -m tox)
+      pn_add_test(
+        INTERPRETED
+        NAME python-tox-test
+        PREPEND_ENVIRONMENT
+          "PATH=${py_path}"
+          "SASLPASSWD=${CyrusSASL_Saslpasswd_EXECUTABLE}"
+          "SWIG=${SWIG_EXECUTABLE}"
+        COMMAND ${PYTHON_EXECUTABLE} -m tox)
       set_tests_properties(python-tox-test
         PROPERTIES
         PASS_REGULAR_EXPRESSION "Totals: .* ignored, 0 failed"
diff --git a/ruby/CMakeLists.txt b/ruby/CMakeLists.txt
index cd03305..79e7dcd 100644
--- a/ruby/CMakeLists.txt
+++ b/ruby/CMakeLists.txt
@@ -124,21 +124,24 @@
   set(test_env
     "PATH=${PATH}"
     "RUBYLIB=${RUBYLIB}"
-    "SASLPASSWD=${CyrusSASL_Saslpasswd_EXECUTABLE}"
-    ${TEST_ENV})
+    "SASLPASSWD=${CyrusSASL_Saslpasswd_EXECUTABLE}")
 
   macro(add_ruby_test script)
     get_filename_component(name ${script} NAME_WE)
     string(REPLACE "_" "-" name "ruby-${name}")
-    add_test(
+    pn_add_test(
+      INTERPRETED
       NAME ${name}
-      COMMAND ${PN_ENV_SCRIPT} -- ${test_env} ${TEST_WRAP_PREFIX_CMD} ${RUBY_EXECUTABLE} ${script} -v
+      PREPEND_ENVIRONMENT ${test_env}
+      COMMAND ${RUBY_EXECUTABLE} ${script} -v
       ${ARGN})
   endmacro()
 
-  add_test(
+  pn_add_test(
+    UNWRAPPED
     NAME ruby-example-test
-    COMMAND ${PN_ENV_SCRIPT} -- ${test_env} ${RUBY_EXECUTABLE} testme -v
+    PREPEND_ENVIRONMENT ${test_env}
+    COMMAND ${RUBY_EXECUTABLE} testme -v
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/examples)
 
   file(GLOB TESTS tests/test_*.rb)
diff --git a/tests/PNAddTest.cmake b/tests/PNAddTest.cmake
new file mode 100644
index 0000000..a4c2257
--- /dev/null
+++ b/tests/PNAddTest.cmake
@@ -0,0 +1,62 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# Helper function to define execution environment for ctest test targets
+
+include(CMakeParseArguments)
+include(CTest)
+
+function(pn_add_test)
+  set(options EXECUTABLE INTERPRETED UNWRAPPED IGNORE_ENVIRONMENT)
+  set(oneValueArgs NAME COMMAND WORKING_DIRECTORY)
+  set(multiValueArgs PREPEND_ENVIRONMENT APPEND_ENVIRONMENT)
+
+  # Semicolon is CMake list separator and path separator on Windows; cmake_parse_arguments flattens nested lists!
+  # Replace \; to /////, call cmake_parse_arguments, then replace back where it matters; ///// is unlikely to appear
+  STRING(REPLACE \\\; ///// escaped_ARGN "${ARGN}")
+  cmake_parse_arguments(pn_add_test "${options}" "${oneValueArgs}" "${multiValueArgs}" "${escaped_ARGN}")
+
+  set(escaped_environment ${pn_add_test_PREPEND_ENVIRONMENT} ${TEST_ENV} ${pn_add_test_APPEND_ENVIRONMENT})
+  STRING(REPLACE ///// \\\; environment "${escaped_environment}")
+
+  if (pn_add_test_IGNORE_ENVIRONMENT)
+    set (ignore_environment "--ignore_environment")
+  else(pn_add_test_IGNORE_ENVIRONMENT)
+    set (ignore_environment "")
+  endif(pn_add_test_IGNORE_ENVIRONMENT)
+
+  if (pn_add_test_UNWRAPPED)
+    set (wrapper "")
+  elseif(pn_add_test_INTERPRETED)
+    set (wrapper "${TEST_WRAP_PREFIX_CMD}")
+  elseif(pn_add_test_EXECUTABLE)
+    set (wrapper "${TEST_EXE_PREFIX_CMD}")
+  else()
+    message(FATAL_ERROR "pn_add_test requires one of EXECUTABLE INTERPRETED UNWRAPPED")
+  endif()
+
+  add_test (
+    NAME "${pn_add_test_NAME}"
+    COMMAND ${PN_ENV_SCRIPT} ${ignore_environment} -- ${environment} ${wrapper} ${pn_add_test_COMMAND} ${pn_add_test_UNPARSED_ARGUMENTS}
+    WORKING_DIRECTORY "${pn_add_test_WORKING_DIRECTORY}"
+  )
+
+  # TODO jdanek 2020-01-17: this could be used instead of env.py, it looks CMake 2.8.12 compatible
+  #set_tests_properties("${pn_add_test_NAME}" PROPERTIES ENVIRONMENT "${environment}")
+endfunction(pn_add_test)
diff --git a/tests/RuntimeCheck.cmake b/tests/RuntimeCheck.cmake
index 2259691..aed4900 100644
--- a/tests/RuntimeCheck.cmake
+++ b/tests/RuntimeCheck.cmake
@@ -117,7 +117,7 @@
 if(TEST_EXE_PREFIX)
   # Add TEST_EXE_PREFIX to TEST_ENV so test runner scripts can use it.
   list(APPEND TEST_ENV "TEST_EXE_PREFIX=${TEST_EXE_PREFIX}")
-  # Make a CMake-list form of TEST_EXE_PREFIX for add_test() commands
+  # Make a CMake-list form of TEST_EXE_PREFIX for (pn_)add_test() commands
   separate_arguments(TEST_EXE_PREFIX_CMD UNIX_COMMAND "${TEST_EXE_PREFIX}")
 endif()
 separate_arguments(TEST_WRAP_PREFIX_CMD UNIX_COMMAND "${TEST_WRAP_PREFIX}")
diff --git a/tests/share/CMakeLists.txt b/tests/share/CMakeLists.txt
index 924ce37..ad14306 100644
--- a/tests/share/CMakeLists.txt
+++ b/tests/share/CMakeLists.txt
@@ -24,7 +24,7 @@
 enable_testing()
 include("tests/RuntimeCheck.cmake")
 
-# ind example sub-directories that contain "CMakeLists.txt" or "testme"
+# find example sub-directories that contain "CMakeLists.txt" or "testme"
 set(ex_dir "${CMAKE_SOURCE_DIR}/examples")
 file(GLOB subs ${ex_dir}/*)
 foreach(dir ${subs})
@@ -34,7 +34,8 @@
     add_subdirectory(${dir})
   elseif(EXISTS ${dir}/testme)
     # Has a "testme" script to run example tests.
-    add_test(
+    pn_add_test(
+      UNWRAPPED
       NAME ${ex}-example-tests
       COMMAND ${dir}/testme
       WORKING_DIRECTORY ${dir})
