Quick Start

Overview

Typically, these scripts are run in the following order for full setup and testing.

  • See Full User Guide for more details.
  • Note that projects may have additional scripts needed for that particular project.
  • See doc/test_process.md in the individual projects for information specific to that project.
# clean it
./do_clean # start from scratch

# install it
./do_subm_update full # first time for submodules
./do_subm_update      # ... thereafter
./do_install full     # first time for OS and pip modules
./do_install          # ...thereafter

# doc it
./do_doc # generate doxygen html and PDF

# check it
./do_check # check configs and files are okay
./do_lint  # pylint or clint-tidy

# publish it
./do_publish # for python modules, publish to Pypi
./do_update  # update local python modules in venv

# run it
./doit   # run the app or sample code to run the module/library
./do_ver # run verification (if implemented)
./do_ut  # run unit tests (if implemented)

do_clean

Clean up all local files, python virtual environment, output files, etc. for the project. In general, the repo should be equivalent to a fresh clone (roughly speaking).

Note: does NOT uninstall OS packages.

do_subm_update

After a fresh git clone is done, the submodules are not automatically created/cloned.

  • Use ./do_subm_update full to do an initial creation of the submodules.
  • Use ./do_subm_update to get any git updates for the submodules.

do_install

  • Use ./do_install to update all Python pip modules needed for these scripts and project.
  • Use ./do_install full to install all OS packages needed for the project.
    • This is normally only done once, but can be used to refresh/update the OS packages if necessary.
    • This also installs Python pip modules.

do_doc

Runs doxygen. See out/ directory for the PDF. See out/doc/html/index.html for web version.

do_check

Checks various aspects of the current setup e.g. package versions, existence of config files, contents of config files, etc.

do_lint

Run pylint & pycodestyle for python projects or clang-tidy for C/C++ projects.

do_publish

Publish a Python module to PyPi. Does not exist or not implemented for applications or for C/C++ projects.

do_update

Updates/refreshes Python modules as needed for testing or running.

do_build

Builds C/C++ projects using cmake.

doit

Run the app or sample code to run the module/library.

Note: doit runs do_build for C/C++ projects.

do_ver

Run verification (if implemented) scripts. This uses medver-pytest or equivalent.

do_ut

Run unit tests (if implemented). This uses pytest for python projects and GTest for C/C++ projects.

- John Arrizza