| 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 ...
|
| 86ae1358 | 27-Jun-2022 |
Nan Zhou <nanzhoumails@gmail.com> |
build-qemu-robot-docker: update to jammy
The HEAD of the OpenBMC now builds the QEMU binary with GLIbc_2.33. But this QEMU-Robot-docker still uses GLIbc_2.31, which causes run-qemu-robot to fail.
T
build-qemu-robot-docker: update to jammy
The HEAD of the OpenBMC now builds the QEMU binary with GLIbc_2.33. But this QEMU-Robot-docker still uses GLIbc_2.31, which causes run-qemu-robot to fail.
The fix is to simply update the base image to jammy which has a newer version of glibc.
This commit also fixed imcompatible packages in the build script: python2.
Tested: run-robot-test-qemu worked on the Romulus image built from HEAD
Signed-off-by: Nan Zhou <nanzhoumails@gmail.com> Change-Id: I4d8b63dddced1e33eb4073b4f4471220ed7e76da
show more ...
|
| 0ff14b2a | 20-Jun-2022 |
Jian Zhang <zhangjian.3032@bytedance.com> |
Upgrade clang-tidy version to 14.0.0
Fix a clang issue appearing in clang-tidy-13.0.1 Details refer to: https://reviews.llvm.org/rG1f2d40c47f5f8fd01d91d73a1f52044fe1c83225 [clang-tidy] fix duplicate
Upgrade clang-tidy version to 14.0.0
Fix a clang issue appearing in clang-tidy-13.0.1 Details refer to: https://reviews.llvm.org/rG1f2d40c47f5f8fd01d91d73a1f52044fe1c83225 [clang-tidy] fix duplicate '{}' in cppcoreguidelines-pro-type-member-init
Issue: The overload of the constructor will repeatedly fix the member variables that need to be initialized, Removed the duplicate '{}'.
In current ubuntu:jammy, clang version 14.0.0 is available, so we can use clang-tidy 14.0.0 to fix the clang issue.
Change-Id: I312888b13ed0ed39e0edf502eca46b11b9e9a62f Signed-off-by: Jian Zhang <zhangjian.3032@bytedance.com>
show more ...
|
| 37052418 | 20-May-2022 |
Andrew Geissler <geissonator@yahoo.com> |
move all build scripts to gerrit.openbmc.org
OpenBMC has transitioned the gerrit server to the openbmc.org domain
Change-Id: Ia65d5f968a4ffcf3bc65536148e90e42725c86aa Signed-off-by: Andrew Geissler
move all build scripts to gerrit.openbmc.org
OpenBMC has transitioned the gerrit server to the openbmc.org domain
Change-Id: Ia65d5f968a4ffcf3bc65536148e90e42725c86aa Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
| 08d2b929 | 24-Apr-2022 |
Lei YU <yulei.sh@bytedance.com> |
unit-test.py: Format with autopep8
Signed-off-by: Lei YU <yulei.sh@bytedance.com> Change-Id: If2af9b695ec6325aebf7fafb9f5ef17e43a52c40 |
| 4fe87776 | 11-Feb-2022 |
William A. Kennington III <wak@google.com> |
build-unit-test-docker: Don't generate markdown for PDI
Not used in the unit test container.
Change-Id: I19c053bf73cd08b19f30c855191f1f087f8bca1c Signed-off-by: William A. Kennington III <wak@googl
build-unit-test-docker: Don't generate markdown for PDI
Not used in the unit test container.
Change-Id: I19c053bf73cd08b19f30c855191f1f087f8bca1c Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| d9062c48 | 05-May-2022 |
William A. Kennington III <wak@google.com> |
scripts/unit-test: Leverage meson log output
Instead of trying to find the logs ourselves, just leverage meson to print the logs directly.
Change-Id: Iab8b54936efb6c5230e538a06e045f9f23733017 Signe
scripts/unit-test: Leverage meson log output
Instead of trying to find the logs ourselves, just leverage meson to print the logs directly.
Change-Id: Iab8b54936efb6c5230e538a06e045f9f23733017 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| 7d2c27fd | 01-May-2022 |
Andrew Jeffery <andrew@aj.id.au> |
test-qemu: Account for new Jenkins constraints and configuration
Recent (?) Jenkins releases have disabled traversal of symlinks, which breaks the mechanism the script was using to avoid constructin
test-qemu: Account for new Jenkins constraints and configuration
Recent (?) Jenkins releases have disabled traversal of symlinks, which breaks the mechanism the script was using to avoid constructing file paths containing date- and time- stamps. Instead, switch to downloading and extracting the artifact zip for each platform locally, and glob our way through the paths.
Further, the Jenkins configuration has been rearranged in the intervening time between when I first wrote this script and now. Update the script to account for the new job names and platforms.
On the subject of platforms, witherspoon-tacoma was replaced in CI with rainier[1], which was subsequently renamed to p10bmc[2].
Finally, regarding the AST2600 and p10bmc, openbmc/qemu master contains a patch that expects a customised eMMC layout that can describe boot partitions as well as the user partition. Integrate support for generating an eMMC image in this manner and drop the use of -kernel/-dtb/-initrd from the qemu commandline, as the eMMC image must be formatted in this manner regardless.
[1] https://lore.kernel.org/openbmc/3309719B-0B3F-44AC-BF30-7E7745A4BA67@gmail.com/ [2] https://gerrit.openbmc-project.xyz/c/openbmc/openbmc/+/41799/2
Change-Id: Ie2668420ab9c572d173116d587cc7ac861051ad2 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
show more ...
|
| 7d6ee0b4 | 01-May-2022 |
Andrew Jeffery <andrew@aj.id.au> |
test-qemu: Extend timeouts to 300 seconds (5 minutes)
Be a bit more tolerant of slow boot processes.
Change-Id: I2c1afd48768c33e049f14ac65645364aedc77e1d Signed-off-by: Andrew Jeffery <andrew@aj.id
test-qemu: Extend timeouts to 300 seconds (5 minutes)
Be a bit more tolerant of slow boot processes.
Change-Id: I2c1afd48768c33e049f14ac65645364aedc77e1d Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
show more ...
|
| 0e47d123 | 01-May-2022 |
Andrew Jeffery <andrew@aj.id.au> |
test-qemu: Re-join lines of broken ssh invocation
Change-Id: I49ff248e57d48b79e11811ef60413f632c2e02e0 Signed-off-by: Andrew Jeffery <andrew@aj.id.au> |
| 8949d3c3 | 27-Apr-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: update to ubuntu-jammy
Jammy was released on April 21st, 2022. Major changes impacting our Docker container were:
- native support of OpenSSL3. - python3.10 - libu
build-unit-test-docker: update to ubuntu-jammy
Jammy was released on April 21st, 2022. Major changes impacting our Docker container were:
- native support of OpenSSL3. - python3.10 - liburing2
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I8ae6f1cf85367e3a545973c502bfc47f4b1ba95b
show more ...
|
| b58bf155 | 29-Apr-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: remove span-lite
There are no uses of span-lite within the openbmc org anymore and everyone should be using `std::span` now. Remove it from the Docker container.
Signed-off
build-unit-test-docker: remove span-lite
There are no uses of span-lite within the openbmc org anymore and everyone should be using `std::span` now. Remove it from the Docker container.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I09ceea13678c364ecd331c243aa4476bd0cf2ee4
show more ...
|