| 49d4e594 | 06-Feb-2019 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: meson: Support custom valgrind setup
This makes it possible for the build to specify custom wrapper parameters and timeout values using the add_test_setup('valgrind', ...) infrast
scripts/unit-test: meson: Support custom valgrind setup
This makes it possible for the build to specify custom wrapper parameters and timeout values using the add_test_setup('valgrind', ...) infrastructure in meson.
Tested: Using the meson enabled sdeventplus build and manually added special parameters for the test suite.
Change-Id: I25df040463433cf2d91b416eaaa159cef9ba8235 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| eaff24a6 | 06-Feb-2019 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Rename maybe_run* to maybe_make*
This will be nice to distinguish between a make execution and the possible execution of valgrind enabled tests under meson.
Change-Id: Ice35abdcf
scripts/unit-test: Rename maybe_run* to maybe_make*
This will be nice to distinguish between a make execution and the possible execution of valgrind enabled tests under meson.
Change-Id: Ice35abdcf95bc96d4adb50e3a996688e57619f5a Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| 90b106a0 | 06-Feb-2019 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Remove confusing directory references
Many of the directory references passed around during make stages are confusing because some of the logic uses the passed directory but execu
scripts/unit-test: Remove confusing directory references
Many of the directory references passed around during make stages are confusing because some of the logic uses the passed directory but executed commands are using the current working directory. This change makes the behavior of using the current working directory consistent for executions of make and cppcheck.
Tested: Ran through unit tests for an automake project (phosphor-networkd) and a recently converted meson project (sdeventplus) to make sure it still executes the commands as expected.
Change-Id: I2160bbc1f5f94e460192a43c82663225286539b9 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| 1fddb973 | 06-Feb-2019 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: check_call_cmd: Remove directory argument
This argument is purely confusing the an end user as all it is used for is printing out the current directory the command is being run in
scripts/unit-test: check_call_cmd: Remove directory argument
This argument is purely confusing the an end user as all it is used for is printing out the current directory the command is being run in. Unfortunately that can actually be mismatched from the real current directory as the current directoy is not actually set to the passed argument. Just pull the current working directory directly instead.
Tested: Ran through unit tests for an automake project (phosphor-networkd) and a recently converted meson project (sdeventplus) to make sure it still executes the commands as expected.
Change-Id: Ic1b04c780804ef10264848f1c1c3d759d8ada81b Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| 993ab33e | 07-Feb-2019 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Update for new ipmi libs
Two new libraries were created into phosphor-host-ipmid to support the functionality of ipmi daemon modules. We need to recognize their package config so
scripts/unit-test: Update for new ipmi libs
Two new libraries were created into phosphor-host-ipmid to support the functionality of ipmi daemon modules. We need to recognize their package config so that phospohr-host-ipmid is pulled in correctly.
Change-Id: I23c612edc80b53dd6c3b3c4caf1c1c7c8541ef22 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| 282e3301 | 04-Feb-2019 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Don't run ub+asan on ppc64
Currently broken in Ubuntu 18.04 + gcc8
==362==Shadow memory range interleaves with an existing memory mapping. ASan cannot proceed correctly. ABORTING
scripts/unit-test: Don't run ub+asan on ppc64
Currently broken in Ubuntu 18.04 + gcc8
==362==Shadow memory range interleaves with an existing memory mapping. ASan cannot proceed correctly. ABORTING. ==362==ASan shadow was supposed to be located in the [0x01ffffff0000-0x11ffffffffff] range. ==362==Process memory map follows: 0x0f37ea840000-0x0f37ea870000 /home/wak/google-src/stdplus/build/test/signal 0x0f37ea870000-0x0f37ea880000 /home/wak/google-src/stdplus/build/test/signal 0x0f37ea880000-0x0f37ea8a0000 /home/wak/google-src/stdplus/build/test/signal 0x73b972fe0000-0x73b973020000 0x73b973030000-0x73b9733c0000 0x73b9733c0000-0x73b9734f0000 /lib/powerpc64le-linux-gnu/libm-2.27.so 0x73b9734f0000-0x73b973500000 /lib/powerpc64le-linux-gnu/libm-2.27.so 0x73b973500000-0x73b973510000 /lib/powerpc64le-linux-gnu/libm-2.27.so 0x73b973510000-0x73b973540000 /lib/powerpc64le-linux-gnu/libpthread-2.27.so 0x73b973540000-0x73b973550000 /lib/powerpc64le-linux-gnu/libpthread-2.27.so 0x73b973550000-0x73b973560000 /lib/powerpc64le-linux-gnu/libpthread-2.27.so 0x73b973560000-0x73b973570000 /lib/powerpc64le-linux-gnu/librt-2.27.so 0x73b973570000-0x73b973580000 /lib/powerpc64le-linux-gnu/librt-2.27.so 0x73b973580000-0x73b973590000 /lib/powerpc64le-linux-gnu/librt-2.27.so 0x73b973590000-0x73b9735a0000 /lib/powerpc64le-linux-gnu/libdl-2.27.so 0x73b9735a0000-0x73b9735b0000 /lib/powerpc64le-linux-gnu/libdl-2.27.so 0x73b9735b0000-0x73b9735c0000 /lib/powerpc64le-linux-gnu/libdl-2.27.so 0x73b9735c0000-0x73b9737d0000 /lib/powerpc64le-linux-gnu/libc-2.27.so 0x73b9737d0000-0x73b9737e0000 /lib/powerpc64le-linux-gnu/libc-2.27.so 0x73b9737e0000-0x73b9737f0000 /lib/powerpc64le-linux-gnu/libc-2.27.so 0x73b9737f0000-0x73b973810000 /lib/powerpc64le-linux-gnu/libgcc_s.so.1 0x73b973810000-0x73b973820000 /lib/powerpc64le-linux-gnu/libgcc_s.so.1 0x73b973820000-0x73b973830000 /lib/powerpc64le-linux-gnu/libgcc_s.so.1 0x73b973830000-0x73b973890000 /usr/lib/powerpc64le-linux-gnu/libubsan.so.1.0.0 0x73b973890000-0x73b9738a0000 /usr/lib/powerpc64le-linux-gnu/libubsan.so.1.0.0 0x73b9738a0000-0x73b9738b0000 /usr/lib/powerpc64le-linux-gnu/libubsan.so.1.0.0 0x73b9738b0000-0x73b9738c0000 /usr/lib/powerpc64le-linux-gnu/libubsan.so.1.0.0 0x73b9738c0000-0x73b974390000 0x73b974390000-0x73b9745a0000 /usr/lib/powerpc64le-linux-gnu/libstdc++.so.6.0.25 0x73b9745a0000-0x73b9745b0000 /usr/lib/powerpc64le-linux-gnu/libstdc++.so.6.0.25 0x73b9745b0000-0x73b9745c0000 /usr/lib/powerpc64le-linux-gnu/libstdc++.so.6.0.25 0x73b9745c0000-0x73b974630000 /usr/local/lib/libgtest.so 0x73b974630000-0x73b974640000 /usr/local/lib/libgtest.so 0x73b974640000-0x73b974650000 /usr/local/lib/libgtest.so 0x73b974650000-0x73b974660000 /usr/local/lib/libgtest_main.so 0x73b974660000-0x73b974670000 /usr/local/lib/libgtest_main.so 0x73b974670000-0x73b974680000 /usr/local/lib/libgtest_main.so 0x73b974680000-0x73b9746a0000 /home/wak/google-src/stdplus/build/src/libstdplus.so 0x73b9746a0000-0x73b9746b0000 /home/wak/google-src/stdplus/build/src/libstdplus.so 0x73b9746b0000-0x73b9746c0000 /home/wak/google-src/stdplus/build/src/libstdplus.so 0x73b9746c0000-0x73b974890000 /usr/lib/powerpc64le-linux-gnu/libasan.so.5.0.0 0x73b974890000-0x73b9748a0000 /usr/lib/powerpc64le-linux-gnu/libasan.so.5.0.0 0x73b9748a0000-0x73b9748b0000 /usr/lib/powerpc64le-linux-gnu/libasan.so.5.0.0 0x73b9748b0000-0x73b975520000 0x73b975520000-0x73b975540000 [vdso] 0x73b975540000-0x73b975580000 /lib/powerpc64le-linux-gnu/ld-2.27.so 0x73b975580000-0x73b975590000 /lib/powerpc64le-linux-gnu/ld-2.27.so 0x73b975590000-0x73b9755a0000 /lib/powerpc64le-linux-gnu/ld-2.27.so 0x7fffd5b70000-0x7fffd5ba0000 [stack] ==362==End of process memory map. -------
Tested: Ran on x86 and verified that ub+asan is running and passing as expected. Ran on ppc64 and verified that ub+asan is not run and the build still passes.
Change-Id: If22ad1fe10da479b1e91a8e746cd2cbcf5c270d6 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| 73b0d6e9 | 17-Jan-2019 |
William A. Kennington III <wak@google.com> |
scripts/unit-test(meson): Enforce stricter build requirements
Since meson allows us to easily provide stricter warning levels and treating warnings as errors as build options, we should require that
scripts/unit-test(meson): Enforce stricter build requirements
Since meson allows us to easily provide stricter warning levels and treating warnings as errors as build options, we should require that our builds meet those requirements. This does tighter verification on the meson build file itself and enables -Wall -Wpedantic -Werror on C / C++ builds.
This is only done for meson since it has almost no adoption yet, making it easy to enforce early.
Tested: Ran against meson enabled projects and they still build as expected.
Change-Id: I5ecbeedeb753a6b855cceabe45238e95deed98db Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| 65b37faf | 31-Jan-2019 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Support running tests only
By default we will still run all of the checks so that our CI coverage is still sane. However, this will make it possible for developers to trivially ru
scripts/unit-test: Support running tests only
By default we will still run all of the checks so that our CI coverage is still sane. However, this will make it possible for developers to trivially run just the test cases of the project for faster turnaround time for developing. Just set TEST_ONLY=1 in your environment to skip all of the slow checks like valgrind / coverage / clang-tidy.
Tested: Ran under an autotools build and meson build to verify that the behavior is still as expected.
Change-Id: I0b420e1c3e779863b90288ce72fc056400226734 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| c5c46920 | 23-Jan-2019 |
Andrew Geissler <geissonator@yahoo.com> |
Default to using robot directly
The docker containers are configured to have all dependencies installed so no need for tox. Just use robot directly.
Tested: Cherry picked this into our jenkins job
Default to using robot directly
The docker containers are configured to have all dependencies installed so no need for tox. Just use robot directly.
Tested: Cherry picked this into our jenkins job and verified all ran as expected.
Change-Id: Ie7105a1ed500fe246b01b520f3d66722e3b0739f Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
| fafef894 | 11-Dec-2018 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Add clang-tidy support if configuration is provided
This enables clang tidy support for cmake and meson based builds. This does not yet enforce that clang tidy passes for the proj
scripts/unit-test: Add clang-tidy support if configuration is provided
This enables clang tidy support for cmake and meson based builds. This does not yet enforce that clang tidy passes for the projects which have it enabled.
Tested: Ran against a clang tidy enabled sdeventplus. Does not reject the build for errors. Once fixed the output looks as expected.
Change-Id: If4a970f7319aaaa44fe28f87e6bbd8d45aecd71e Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| 17d5c353 | 13-Dec-2018 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Run ub+asan for meson
Meson supports trivially enabling undefined behavior sanitizer and address sanitizer support. All tests should be run through these analyzers.
This also add
scripts/unit-test: Run ub+asan for meson
Meson supports trivially enabling undefined behavior sanitizer and address sanitizer support. All tests should be run through these analyzers.
This also adds a TODO for memory sanitizer support which is not in gcc7 so we can't trivially support that yet.
Change-Id: Ib9e8c4a668f07bcc44733b691c17345e3ed276c4 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| 9fe58328 | 13-Dec-2018 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Only build coverage output if coverage run
If our project has no test cases run then no coverage data will be produced. This results in a lack of .gcda files which causes the cove
scripts/unit-test: Only build coverage output if coverage run
If our project has no test cases run then no coverage data will be produced. This results in a lack of .gcda files which causes the coverage-html target to fail being built. Just avoid running the coverage-html generation if we don't have coverage data.
Change-Id: If4342798c6bfaa4fd2eed77fe510fa6a70546fa4 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| 40d5c7ce | 13-Dec-2018 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Only export coverage data for coverage checking
Running binaries built with b_coverage=true will always output coverage data so it can be collected later. We don't want our memche
scripts/unit-test: Only export coverage data for coverage checking
Running binaries built with b_coverage=true will always output coverage data so it can be collected later. We don't want our memcheck and sanitizer code to run over these code paths. Only enable them for the final coverage run.
Change-Id: I192089623f2b01ba17beea6ba14bc433a13a6497 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| 37a89a2a | 13-Dec-2018 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Don't run valgrind on ppc64
When implementing meson support I forgot to include the check to make sure we don't run valgrind for ppc64 builds. This adds the check that is used in
scripts/unit-test: Don't run valgrind on ppc64
When implementing meson support I forgot to include the check to make sure we don't run valgrind for ppc64 builds. This adds the check that is used in our autotools and cmake builds already.
Change-Id: I70390c415da2b381714f0374630b9a595aa299a5 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| 25e5814d | 13-Dec-2018 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Set meson build type
We want to make sure the build we are testing is producing debug output and that our dependencies have debug symbols but are optimized for speed.
Change-Id:
scripts/unit-test: Set meson build type
We want to make sure the build we are testing is producing debug output and that our dependencies have debug symbols but are optimized for speed.
Change-Id: Id8606f3906a796c65600f54b28e76690a1b569be Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| 6764d5fd | 13-Dec-2018 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Only use defined meson options
Currently, our meson configuration assumes that some package specific options are defined for all packages. This parses the options file and only in
scripts/unit-test: Only use defined meson options
Currently, our meson configuration assumes that some package specific options are defined for all packages. This parses the options file and only includes options which are defined.
Tested: Ran against sdeventplus and phosphor-host-ipmid to verify that both flags were passed to sdeventplus and only the test flag was passed to host-ipmid.
Change-Id: Ia0c7ee4ee025658c46484dcfaa119dec39c1e249 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| a61acb50 | 03-Jan-2019 |
Andrew Geissler <geissonator@yahoo.com> |
Support branch option in unit-test script
Building on the support of the branch option within the docker container, add it to unit-test for any dependent repositories that do not get built into the
Support branch option in unit-test script
Building on the support of the branch option within the docker container, add it to unit-test for any dependent repositories that do not get built into the docker container
Testing: - Verified with no branch input, worked as expected - Verified with invalid branch, master was still used
Change-Id: I4f57d6165287ffe3b4e2f0377292128474199ca3 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
| 3f1d1201 | 06-Dec-2018 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Add meson support
Tested: Converted sdeventplus to meson as a demo to make sure this works as expected.
Change-Id: I5a518cf6e7d574468c4a6529780ec1d91e9bf7df Signed-off-by
scripts/unit-test: Add meson support
Tested: Converted sdeventplus to meson as a demo to make sure this works as expected.
Change-Id: I5a518cf6e7d574468c4a6529780ec1d91e9bf7df Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| 54d4fafa | 06-Dec-2018 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: ldconfig should be run before each build
We need to make sure our ld.so.cache is updated for each of the builds in case a dependency was just installed before running the next one
scripts/unit-test: ldconfig should be run before each build
We need to make sure our ld.so.cache is updated for each of the builds in case a dependency was just installed before running the next one.
Tested: Ran on phosphor-net-ipmid and the build still passes.
Change-Id: I1481218a23ed895a8b254f2d18f9973bb498c40d Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| e67f5fc2 | 06-Dec-2018 |
William A. Kennington III <wak@google.com> |
script/unit-test: Fix autoconf detection
Instead of parsing the autoconf file by hand, let autoconf do all of the heavy lifting. This change rewrite the get_autoconf_deps function to invoke autoconf
script/unit-test: Fix autoconf detection
Instead of parsing the autoconf file by hand, let autoconf do all of the heavy lifting. This change rewrite the get_autoconf_deps function to invoke autoconf, and parse the resulting strings out. This has the benefit of not needing to understand any of the m4 formatting in our own python code.
Tested: Against sdeventplus which has no dependencies and against phosphor-net-ipmid which requires phosphor-host-ipmid to build. Dependencies were detected and built successfully.
Change-Id: I33d6db730cc0b6b896464fc22bed6ff77af85d5b Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| 9a32d5ee | 06-Dec-2018 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Prevent duplicate deps from being checked
Our code will treat this as a cycle if duplicate dependencies are passed into our dependency builder loop. In the future if we support mu
scripts/unit-test: Prevent duplicate deps from being checked
Our code will treat this as a cycle if duplicate dependencies are passed into our dependency builder loop. In the future if we support multiple build systems it is possible that we will find duplicate dependencies and need to handle that.
Change-Id: I3b52d6ce646d2ebf0ba1b23b85eb940408d5b9e8 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| c048cc0f | 06-Dec-2018 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: build_dep_tree cleanup autotools specific code
This will make it easy to support getting the dependencies from other build system types.
Change-Id: I5d405acdaeee4b149ced271cfdd49
scripts/unit-test: build_dep_tree cleanup autotools specific code
This will make it easy to support getting the dependencies from other build system types.
Change-Id: I5d405acdaeee4b149ced271cfdd49398dab1611c Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| d61316dc | 06-Dec-2018 |
William A. Kennington III <wak@google.com> |
scripts/unit-tests: Don't build superfluous code for dependencies
Tested: Built phosphor-net-ipmid which passes the expected disable flags to the phosphor-host-ipmid dependency but passes th
scripts/unit-tests: Don't build superfluous code for dependencies
Tested: Built phosphor-net-ipmid which passes the expected disable flags to the phosphor-host-ipmid dependency but passes the expected enable flags to phosphor-net-ipmid.
Change-Id: I7c2d28404bfbdd06035629a15443d8316f6496b5 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| 4e3818dd | 07-Dec-2018 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Add common configure option for examples
Change-Id: I0e369add4245891ff12a2fafc312d44d4b667677 Signed-off-by: William A. Kennington III <wak@google.com> |
| a0454915 | 06-Dec-2018 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Allow for dependencies to be built without tests
This preserves the current behavior but will allow us to disable unneeded components for all of the dependencies we are not testin
scripts/unit-test: Allow for dependencies to be built without tests
This preserves the current behavior but will allow us to disable unneeded components for all of the dependencies we are not testing.
Change-Id: I94df56aea4987a6a698361b76874e08ade287fd6 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|