Simon Glass
ad1c9b26a8
buildman: Specify the output directory in tests
...
The default output directory is generally '../' in tests so we end up
trying to create '../.bm-work'. This does not work with azure, so update
these tests to use the temporary directory instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-25 11:39:38 -04:00
Simon Glass
407a1413e3
buildman: Enable test coverage
...
Enable measuring test coverage for buildman so we can see the gaps. It is
currently at 68%.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
ba8d099b95
buildman: Add an option to check maintainers and targets
...
In poking around it seems that many boards don't define a CONFIG_TARGET
Kconfig variable. This is not strictly necessary, but add an option to
buildman so these can be viewed.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
39dbcaa1ad
buildman: Use -D for --debug
...
Change -D to mean --debug for consistency with other tools. This is not a
commonly used option, so the impact should be minimal.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
ad0378748e
buildman: Add a way to print the architecture for a board
...
This is useful for some tools and is easily available for buildman. Add
a new --print-arch option.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
2ecc5805ac
buildman: Move copy_files() out ot BuilderThread class
...
This does not need to be in the class. Move it out to avoid a pylint
warning.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
236f959386
buildman: Tidy up some comments in builderthread
...
Make sure all functions have full argument documentation.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
57686d3379
buildman: Tidy up reporting of a toolchain error
...
Provide the text of the exception when something goes wrong.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
5e5044b04c
buildman: Avoid passing result into _read_done_file()
...
Move the creating of the result object into the function which sets it
up, to simplify the code.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
335c1b9f81
buildman: Create a function to handle config and build
...
Move this code into a _config_and_build() function, so reduce the size of
run_commit().
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
ad7181c797
buildman: Move checkout code to a separate function
...
Put this in its own function to reduce the size of the run_commit()
function
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
9bdf02389c
buildman: Move code to decide output dirs
...
Put this in its own function to reduce the size of the run_commit()
function.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
e5490b7f46
buildman: Move code to remove old outputs
...
Put this in its own function to reduce the size of the run_commit()
function.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
4981bd3dda
buildman: Move reading of the done file into a function
...
Move this logic into its own function to reduce the size of the
run_commt() function.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
14c152336f
buildman: Move bulid code into its own function
...
Split this into its own function so reduce the size of run_commit().
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
ec2f492e78
buildman: Move reconfigure code into its own function
...
Split this into its own function so reduce the size of run_commit().
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
dab3a4a0e3
buildman: Convert config_out to string IO
...
This is probably a little more efficient and it allows passing the object
to another function to write data. Convert config_out to use a string I/O
device.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
ed007bfa2f
buildman: Move more things into _build_args()
...
Move more of the argument-building code into this function. Fix a missing
assignment for out_rel_dir too.
Rename the function since it now builds all the arguments.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
a06ed7fbef
buildman: Move setting of toolchain arguments to _build_args()
...
Move a few more pieces to this new function.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
7524700061
buildman: Start a function to set up the make arguments
...
Move some of this code into a new funciion, to help reduce the size of the
run_commits() function.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
8926025eab
buildman: Drop unnecessary assignment of config_out
...
This is already set up earlier in the function, so drop the extra
assignment.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
cc923fafbc
buildman: Correct invalid use of out_dir variable
...
This variable has a different meaning in the outer scope. Use a different
name to avoid confusion, or bugs.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
4a7419bfbb
buildman: Export _get_output_dir() to avoid warnings
...
Make this a public memory since it is used outside the class.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
606e54357f
buildman: Correct most pylint warnings in builderthread
...
Fix the easy warnings in this file.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
f06d333dc9
buildman: Convert camel case in builderthread.py
...
Convert this file to snake case and update all files which use it.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
17a75b9100
buildman: Split parser creation in two
...
Split this into two functions to avoid a warning about too many
statements.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
37edf5fc03
buildman: Convert camel case in builder.py
...
Convert this file to snake case and update all files which use it.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
42d42cf1d9
buildman: Convert camel case in bsettings.py
...
Convert this file to snake case and update all files which use it.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
529957c315
buildman: Convert to argparse
...
Use argparse to parse the arguments, since OptionParser is deprecated now.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
6a0c7b4a5e
buildman: Add a test for --boards
...
Add a simple functional test for the --boards option. Fix the example in
the docs while we are here. Also improve the docs for Builder.count so it
is clearer what it contains.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
988b91687d
buildman: Correct most pylint warnings in cmdline
...
Tidu up warnings in this file.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
ae042fd801
buildman: Convert camel case in cmdline.py
...
Convert this file to snake case and update all files which use it.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
1d0c55d83a
buildman: Create a function to get number of built commits
...
Move this code into a function. This removes the last pylint error in
the control module.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
f6df5edc8d
buildman: Use get_alow_missing() directly to avoid var
...
Avoid an unnecessary local variable by moving this code to a function.
This fixes the pylint warning about too many local variables.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
75584e1fa7
buildman: Move getting the adjust_cfg into run_builder()
...
Move this into its own function to reduce the size of do_buildman().
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
a659b8dcd4
buildman: Move checking for make into run_builder()
...
This is not needed until the builder is run. Move it there to reduce the
size of the do_buildman() function.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
ea78233d87
buildman: Adjust show_toolchain_prefix() to not return
...
This function does not need to return. Simplify the code by exiting
immediately.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
985d7ae4de
buildman: Drop some unnecessary variables
...
Drop some variables at the end of the do_bulidman() function.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
68f917c0b1
buildman: Moving running of the builder into a function
...
Move this code into a new function. This removes the pylint warning about
too many branches.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
4ec7682274
buildman: Tweak commits and show_bloat
...
Move setting of show_bloat to adjust_options() and adjust how the commits
variable is set. Together these remove the pylint warning about too many
statements.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
ffd06d3d8d
buildman: Move remaining builder properties to constructor
...
Do these all in the constructor, so it is consistent.
Move the stray builder comment into the correct place.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
573b30377d
buildman: Avoid too many returns in do_buildman()
...
Fix the pylint warning by using a variable instead of lots of 'return'
statements.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
6378bad385
buildman: Move commit numbering into determine_series()
...
Commits are numbered for use in tests. Do this in determine_series() since
it is already dealing with the series.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
e48b946b93
buildman: Move setting up the output dir into a function
...
Move this code into a separate function to reduce the size of the main
do_buildman() directory.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
aeb2381b27
buildman: Move counting of commits into a function
...
Move this code into a separate function to avoid a pylint warning in
determine_series().
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
168d792ffa
buildman: Build option-adjusting into a function
...
Create a separate function to adjust options. Also move show_actions() up
as far as we can in the function.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
1b820ee1c4
buildman: Pass option values to show_actions()
...
Pass in the individual values rather than the whole options object, so we
can see what is needed.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
1d3a5a5229
buildman: Pass option values to get_action_summary()
...
Pass in the individual values rather than the whole options object, so we
can see what is needed.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
081c34ccdc
buildman: Move output-file setup into one place
...
Collect the two parts of the output-file handling into single place.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00
Simon Glass
372b44589f
bulldman: Set up output_dir earlier
...
Set up output_dir at the start of the main function, instead of updating
the options.output_dir option.
Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24 09:34:11 -06:00