27a646b6 | 27-Sep-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: update to clang-15
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Id5532b96a7067ea831c3fcd67418a85314a3e840 |
5b08dc6b | 27-Sep-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: update ubuntu to kinetic
The clang-15 packages are only going to be available in kinetic or later. Switch the docker base to that distro version. That version already has t
build-unit-test-docker: update ubuntu to kinetic
The clang-15 packages are only going to be available in kinetic or later. Switch the docker base to that distro version. That version already has the autoconf-archive required for C++20 and it has gcc-12 by default, so we can remove (or comment for the time being) some workarounds we had.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I6eb7fd7218027941af949522e043ed5dd6ea4f9b
show more ...
|
70af95ca | 27-Sep-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: minor dependency tweaks
Add explicit dependency for objmgr -> phosphor-dbus-interfaces. Make formatting more consistent. Remove googletest dependencies when '-Dtests=disabled
build-unit-test-docker: minor dependency tweaks
Add explicit dependency for objmgr -> phosphor-dbus-interfaces. Make formatting more consistent. Remove googletest dependencies when '-Dtests=disabled' is passed.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I3a3d7aa290c850181a6c2edaeed1af7df8c44d26
show more ...
|
c1977839 | 27-Sep-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: refresh package versions
Update various package versions based on the current Yocto recipe equivalents for these packages.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz
build-unit-test-docker: refresh package versions
Update various package versions based on the current Yocto recipe equivalents for these packages.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I12773a06d4d589285bb1477013278a9eae5b5901
show more ...
|
942235cd | 26-Sep-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: use alternative for cpp
We added an 'alternative' for GCC but not for the preprocessor. It seems potentially problematic to use an older preprocessor, which came with the dis
build-unit-test-docker: use alternative for cpp
We added an 'alternative' for GCC but not for the preprocessor. It seems potentially problematic to use an older preprocessor, which came with the distro, but a newer compiler, so set the preprocessor as the same version as GCC. The preprocessor is required to be installed as a separate alternative and not with the "--slave" option.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I3a3e17b93ab7ea1aad0e5ac3677ec463e0c5b5ed
show more ...
|
5278efb6 | 26-Sep-2022 |
Ed Tanous <edtanous@google.com> |
Add python3 packaging module
As part of the effort to standardize our version comparison scheme, https://gerrit.openbmc.org/c/openbmc/bmcweb/+/57407 needs this package to be able to sort redfish sch
Add python3 packaging module
As part of the effort to standardize our version comparison scheme, https://gerrit.openbmc.org/c/openbmc/bmcweb/+/57407 needs this package to be able to sort redfish schemas at build time. This seems like a pretty common and well supported package.
Add it to the docker image.
Tested: the aformentioned review passes CI when run locally.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Ifdb49cfacf4c6bf27fee882d08bdf469d32cc7a6
show more ...
|
8b36256f | 22-Sep-2022 |
Jian Zhang <zhangjian.3032@bytedance.com> |
qemu-docker: Update redfish version
The DMTF/python-redfish-library is updated and it raises SessionCreationError for login errors with HTTP code 400, and only raises InvalidCredentialError for HTTP
qemu-docker: Update redfish version
The DMTF/python-redfish-library is updated and it raises SessionCreationError for login errors with HTTP code 400, and only raises InvalidCredentialError for HTTP code 401.
The cases when user enter "empty" username or password will return 400 and thus change the expected exception to SessionCreationError.
This commit was released with `redfish` version 3.1.7. [0]: https://github.com/DMTF/python-redfish-library/commit/9a32d80c1c0858f0360e8d1f5f322278de79a20f
Update the redfish version to trigger docker rebuild.
Tested: Clean docker image and rebuild docker image, or use this commit to update docker, make sure the redfish version update.
Use https://gerrit.openbmc.org/c/openbmc/openbmc-test-automation/+/57366, the case `Redfish_Login_With_Invalid_Credentials` passed.
Change-Id: I946f6f71c56ccc2af8648ebcd4e7ae42ceacad5f Signed-off-by: Jian Zhang <zhangjian.3032@bytedance.com>
show more ...
|
d342ed5e | 21-Sep-2022 |
William A. Kennington III <wak@google.com> |
build-unit-test-docker: Add function2 to stdplus
Header only upgrade for uses of std::function that can be converted.
Change-Id: I5f43a461c0446258c5456055569a6ed8c3c4d229 Signed-off-by: William A.
build-unit-test-docker: Add function2 to stdplus
Header only upgrade for uses of std::function that can be converted.
Change-Id: I5f43a461c0446258c5456055569a6ed8c3c4d229 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
82aaba03 | 15-Sep-2022 |
Nan Zhou <nanzhoumails@gmail.com> |
clang-tidy: use TemporaryDirectory
This patch changes clang-tidy build of cmake and meson to use TemporaryDirectory. So that no need to explicitly delete the build directory. There is no need to har
clang-tidy: use TemporaryDirectory
This patch changes clang-tidy build of cmake and meson to use TemporaryDirectory. So that no need to explicitly delete the build directory. There is no need to hardcode the name as well. I kept the prefix of the temp folder to be "build". This is to make gitignore of most repos still work.
Tested: 1. used phosphor-user-manager as a typical meson repo. Tested with/without clang-tidy. Both worked 2. used peci-pcie as a typical CMakeList repo. Tested with/without clang-tidy. Both worked (but the repo itself doesn't pass clang build bacause of its own reason)
Signed-off-by: Nan Zhou <nanzhoumails@gmail.com> Change-Id: Ic355e390db7349ded73ad3d17a03a40b83460249
show more ...
|
524ebee8 | 27-Aug-2022 |
Nan Zhou <nanzhoumails@gmail.com> |
clang-tidy: try to remove old directories
Just like the existing meson build codes, this patch tries to delete old clang-tidy build directories before making a new one.
Tested: Tested both cmake an
clang-tidy: try to remove old directories
Just like the existing meson build codes, this patch tries to delete old clang-tidy build directories before making a new one.
Tested: Tested both cmake and meson repos, old directories are deleted as expected before making a new one.
Signed-off-by: Nan Zhou <nanzhoumails@gmail.com> Change-Id: I36a484d5832a1f427ef0e1b9b1f28183ccdc387e
show more ...
|
11e5762c | 14-Sep-2022 |
Brad Bishop <bradleyb@fuzziesquirrel.com> |
build-unit-test-docker: add cli11 to mapper
One of the applications in the mapper repository is adding a dependency on cli11.
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com> Change-Id: Id5
build-unit-test-docker: add cli11 to mapper
One of the applications in the mapper repository is adding a dependency on cli11.
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com> Change-Id: Id50b701bf94f46b08927beb0fc9d7e187e1f0c47
show more ...
|
274e3a9e | 08-Sep-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: update GCC to 12
Yocto is already using GCC 12. Upgrade for compatibility.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I0ab6e39efba280e4bf60305c9909ad35e
build-unit-test-docker: update GCC to 12
Yocto is already using GCC 12. Upgrade for compatibility.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I0ab6e39efba280e4bf60305c9909ad35e71caec1
show more ...
|
ed9414e8 | 08-Sep-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: upgrade googletest to 1.12.1
This is the same version used in Yocto now.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I843a9da46b87ecc9363c2a9bbddfa22daab6
build-unit-test-docker: upgrade googletest to 1.12.1
This is the same version used in Yocto now.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I843a9da46b87ecc9363c2a9bbddfa22daab60b99
show more ...
|
43742f97 | 29-Aug-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: remove libunifex
Most of the original authors of libunifex have moved in another direction, so sdbusplus will not be using it anymore.
Signed-off-by: Patrick Williams <patri
build-unit-test-docker: remove libunifex
Most of the original authors of libunifex have moved in another direction, so sdbusplus will not be using it anymore.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I22df03eb6ced5bfbd481aa2eb1eb76b750a06d9c
show more ...
|
0c4153be | 17-Aug-2022 |
Ed Tanous <edtanous@google.com> |
Change eslint output to human readable
Today in the build logs, eslint prints a json payload of every file it checked, regardless of whether there are errors present, which isn't really human readab
Change eslint output to human readable
Today in the build logs, eslint prints a json payload of every file it checked, regardless of whether there are errors present, which isn't really human readable and clogs up log space.
This commit changes to the "stylish" output which is human readable. Examples of which are in the eslint docs[1].
Tested: ran a build, and observed the json gone, and a much more readable log present.
``` eslint . --ignore-path .gitignore --no-eslintrc -c /build/eslint-global-config.json --ext .json --format=stylish --resolve-plugins-relative-to /usr/local/lib/node_modules --no-error-on-unmatched-pattern ```
[1]: https://eslint.org/docs/latest/user-guide/formatters/#stylish
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Ib13630bdce65351215324add4c9c3233fff06c61
show more ...
|
310d66eb | 24-Aug-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: remove catch2
Based on searching the org in Github[1], there do not appear to be anymore usages of Catch2. Remove it from our Docker image.
1. https://github.com/search?q=o
build-unit-test-docker: remove catch2
Based on searching the org in Github[1], there do not appear to be anymore usages of Catch2. Remove it from our Docker image.
1. https://github.com/search?q=org%3Aopenbmc+catch2&type=code
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I2cf89c533149266aa908a15bd825bfdbcd450c55
show more ...
|
485a0923 | 12-Aug-2022 |
Patrick Williams <patrick@stwcx.xyz> |
unit-test: cppcheck: use temporary directory
The previous code would create a directory named `cppcheck-temp` in the root of the repository under test as the cppcheck cache but never cleaned it up.
unit-test: cppcheck: use temporary directory
The previous code would create a directory named `cppcheck-temp` in the root of the repository under test as the cppcheck cache but never cleaned it up. This left stray directories around when using the unit test locally.
Switch the mechanism to use tempfile.TemporaryDirectory so that the directory is automatically cleaned up when the testing is complete.
Tested: Ran unit-test locally and observed cppcheck-temp directory no longer remains[1].
1. https://github.com/williamspatrick/dotfiles/blob/840250f0c56b299a8de47cc2ea7c558a14eeb517/env/30_linux/lfopenbmc.zsh#L76
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Idde8feb28bef663d156c5d1d1f21a3d8c629c72d
show more ...
|
fb612a51 | 04-Aug-2022 |
Michael Shen <gpgpgp@google.com> |
Update meson to 0.63.0
Reason: meson 0.63.0 provides a new feature which allows user to apply diff file on a subproject. This gives user a flexibility to have code changes in subprojects while runni
Update meson to 0.63.0
Reason: meson 0.63.0 provides a new feature which allows user to apply diff file on a subproject. This gives user a flexibility to have code changes in subprojects while running the unit test.
Reference: https://mesonbuild.com/Wrap-dependency-system-manual.html#diff-files
Tested: Locally ran unit test and confirmed that the subproject applied the diff files correctly.
Signed-off-by: Michael Shen <gpgpgp@google.com> Change-Id: Icb1ad03d28496120f5afe8010cfa3a3b855975c8
show more ...
|
fb9948a3 | 21-Jun-2022 |
Ed Tanous <edtanous@google.com> |
Enforce commit message style
Throughout the project, it is a manual human process to enforce the idea of commit message formatting, and leads to more conflict than would ideally be required for some
Enforce commit message style
Throughout the project, it is a manual human process to enforce the idea of commit message formatting, and leads to more conflict than would ideally be required for something that's relatively algorithmic, and able to be enforced by CI. Jenkins is able to give faster response times to users, thus ensuring that committers are more likely to be able to resolve their commit message issues in a timely manner.
This commit adds the gitlint[1] application to our builds, and integrates its checks with CI in the format-code.sh script. Gitlint appears to be a relatively active project with a number of releases, relatively up to date commits on its github, and by the documentation as well as this authors testing, appears to do exactly what the project needs in terms of checks.
gitlint has a number of configuration options[2], of which the defaults appear to be ok for OpenBMCs style requirements. This commit checks in a .gitlint file that was generated via 'gitlint generate-config' to use as a starting point.
To avoid impacting the entire project at this time, this commit checks for the existence of a .openbmc-enforce-gitlint file in the root of the directory, and uses that to gate its scanning. At some point in the future, once we've determined this meets our needs, this check will be removed so that we can enforce this project-wide.
This commit makes use of the gitlint plugin system to support one important feature that OpenBMC requires for block line length. The custom line length rule allows: 1. Block comments to exceed the line length limit 2. Signed-Off-By sections to exceed the line length limit 3. Tabbed in sections to exceed the line length limit
Presumably this same mechanism could be used to handle openbmc/openbmc commits, to allow meta-<name> to precede the title and go over the allowed limit, but for the moment, format-code.sh does not apply to openbmc/openbmc, so this would be for a future change to repotest
When these fails, it attempts to give the user a message that conveys these allowals to let them fix their commit message quickly.
Tested: Created a commit with a title that was too long, as well as added a .openbmc-enforce-gitlint file in bmcweb. Ran openbmc-build-scripts and observed.
''' -: UC1 Line exceeds max length (101>72). It's possible you intended to use one of the following exceptions: 1. Put logs or bash lines in a quoted section with triple quotes (''') before and after the section 2. Put a long link at the bottom in a footnote. example: [1] https://my_long_link.com Line that was too long: : "VERY LONG LOG LINE THAT TAKES WAY TOO MUCH SPACE AND GOES OVER 72 CHARACTERS, which is a problem" '''
[1] https://jorisroovers.com/gitlint/ [2] https://jorisroovers.com/gitlint/configuration/ [3] https://jorisroovers.com/gitlint/user_defined_rules/ [4] https://github.com/jorisroovers/gitlint/issues/255#issuecomment-1063494186
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: If42a22bfeca223fd5bc8f35ed937aa5f60713f2a
show more ...
|
09dcd89b | 02-Aug-2022 |
George Keishing <gkeishin@in.ibm.com> |
Update robotframework-requests package
Changes: - Requires this build script changes and code from test code https://gerrit.openbmc.org/c/openbmc/openbmc-test-automation/+/56052 - Github
Update robotframework-requests package
Changes: - Requires this build script changes and code from test code https://gerrit.openbmc.org/c/openbmc/openbmc-test-automation/+/56052 - Github task openbmc/openbmc-test-automation#2105 - add robotframework-jsonlibrary package to replace deprecated keyword To JSON in test suites and resource files.
Tested: HW Jenkins test CI, code update, ffdc and few other test suites which are impacted due to this changes.
Change-Id: I73634fc3fd12ddd817d6016ebf156118d407fb24 Signed-off-by: George Keishing <gkeishin@in.ibm.com>
show more ...
|
81692c05 | 04-Aug-2022 |
Patrick Williams <patrick@stwcx.xyz> |
spelling: add ignore list
Thu Ba reported that their name is getting rejected as a spelling mistake in their Signed-off-by. Add capability to ignore words from the primary dictionaries and add 'ba'
spelling: add ignore list
Thu Ba reported that their name is getting rejected as a spelling mistake in their Signed-off-by. Add capability to ignore words from the primary dictionaries and add 'ba' to the ignore list.
Tested:
Before change, manually running codespell results in: ``` ./config/openbmc-spelling-ignore.txt:1: Ba ==> By, be ``` Manually running codespell with ignore-list option removes this.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I33134e519e28024926b6da00340d2d52e2e884bd
show more ...
|
dbd7cd62 | 19-Jul-2022 |
Lei YU <yulei.sh@bytedance.com> |
scripts/unit-test.py: Fix an indent issue
The indent is incorrect and is fixed by autopep8
Signed-off-by: Lei YU <yulei.sh@bytedance.com> Change-Id: I2d91c2bd3c32e2fc495eca137406fe234726a105 |
ce5f495a | 14-Jul-2022 |
William A. Kennington III <wak@google.com> |
stdplus: Depend on googletest for support lib
This now provides some additional test case routines that require googletest to build
Change-Id: I191705fa1b65e731308946c1eb72edc09b189bee Signed-off-b
stdplus: Depend on googletest for support lib
This now provides some additional test case routines that require googletest to build
Change-Id: I191705fa1b65e731308946c1eb72edc09b189bee Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
c7198558 | 01-Jul-2022 |
Ed Tanous <edtanous@google.com> |
Improve cppcheck results and calling code
In the ideal case, cppcheck would have an option where it could be enforcing in the future. This commit works toward that goal, but doesn't quite get there
Improve cppcheck results and calling code
In the ideal case, cppcheck would have an option where it could be enforcing in the future. This commit works toward that goal, but doesn't quite get there.
First, it updates cppcheck to the latest copy from github, instead of pulling through apt sources. This is done because the current cppcheck has an issue with std::string_view, and erroneously believes that it should be passed by reference. The master branch has a fix for this.
Next, it modifies the call of cppcheck in a couple ways, first, to rely on compile_commands.json from the build step, rather than attempting to build a list of files itself. This is less error prone, and allows "whole binary" scans with cppcheck, which leads to fewer false positives. On the negative side, this means that non-meson/non-cmake projects will no longer get scanned, which, considering that meson is what we're converging on, and for any given project a meson port should probably take priority over cppcheck improvements, this seems reasonable.
Because of the previous change, the use of popen and communicate() can be replaced with our more normal methods for calling commands, which cleans up the code quite a bit.
Adds a cppcheck-temp folder as recommended by the cppcheck docs for storing intermediate results. This decreases the amount of time cppcheck takes to run when scanning the same code multiple times.
After that, some argument changes are done to suppress checks that are noisy, and the project doesn't currently have a way to make pass.
useStlAlgorithm this is just a suggestion, and not always correct, so it's difficult to make it enforcing. Also, as a project, we tend to not optimize for std::algorithms as much as we could. At some point in the future we could turn this back on and make the project have a stronger opinion on this style, but for the moment, this seems like something to tackle later. unusedStructMember this appears to either have bugs, or not understand when a public struct member is used outside of the compile unit. It leads to significant noise for things that are actually used, but get marked unused because they're not used in every compile unit. postfixOperator use of prefix increment indead of postfix on iterators is not generally something we enforce on the project, and doesn't seem like it improves in either the readability or the code, as well as leads to a lot of noise. Disable for the moment. unreadVariable Similar to unusedStructMember, this check seems to not be able to see all possible ifdefs in a section of code, and leads to many false positives. knownConditionTrueFalse is supressed because apparently cppcheck isn't able to read macros, so this flags significant portions of code behind ifdefs. More investigation is warranted here, but for the moment, disabling the check gets us closer to the goal
A patch series getting bmcweb code to the point where it's 100% passing is here, if you want to see the types of changes that cppcheck proposes. For all the non-disabled checks, cppcheck seems accurate, with no false positives that I could find, although some slightly pedantic suggestions.
https://gerrit.openbmc.org/c/openbmc/bmcweb/+/55001
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I7730cc69ad1817cb7d75c04be3b7d1da6c1030d4
show more ...
|
6c55c580 | 08-Jul-2022 |
Ed Tanous <edtanous@google.com> |
Update boost to 1.79
Same as yocto is using.
Tested: Built dbus-sensors uring patches (which require 1.79) and they built correctly.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Ic83a
Update boost to 1.79
Same as yocto is using.
Tested: Built dbus-sensors uring patches (which require 1.79) and they built correctly.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Ic83a5ccb940fbc3bce4f8abedce1087e5cdfc102
show more ...
|