Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release: Code Testing #1829

Closed
flatcap opened this issue Sep 6, 2019 · 0 comments
Closed

Release: Code Testing #1829

flatcap opened this issue Sep 6, 2019 · 0 comments

Comments

@flatcap
Copy link
Member

flatcap commented Sep 6, 2019

Before making a release, it's important to perform a wide variety of test builds.

Repos needed:

[release]

The simplest way to test the code is to create a [release] branch in the neomutt repo.

../management/travis/release-install.sh
git push --force --set-upstream origin release

Tests performed:

  • Build Source:
    • Using defaults
    • Include everything
    • Using slang
    • Using curses
  • Test install
  • Test uninstall
  • Translations:
    • Check POTFILES
    • Check po files for validity
    • Test make update-po
  • Test docs are valid
  • Test config variables:
    • Check for new/deleted config
    • Check for changed default values
  • Run unit tests
  • Test Doxygen docs build
  • Test whitespace
    • Check for trailing whitespace
    • Check for tabs in code
    • Check for space-tab
  • Test out-of-tree
    • Build using curses
    • Test install
    • Test uninstall

Running locally

To run this script locally, you'll need to define a few functions.
These are part of Travis' machinery.

function travis_fold() { echo -e "\\e[1;32m================================================================================\\e[0m"; }
function travis_time_start() { :; }
function travis_time_finish() { :; }
export -f travis_fold travis_time_start travis_time_finish  

Extra tests

  • Tidy the source code (but not the header files)
    clang-format

  • Static analysis of the code
    scan-build

  • Check the #includes are correct (and minimal)
    iwyu

  • Check the spelling in the source
    codespell

  • Parallel builds
    parallel ../management/build/build-parallel.sh gcc {} :::: ../management/build/build-parallel.txt

For more details, see: Analyze NeoMutt

@flatcap flatcap mentioned this issue Sep 7, 2019
@flatcap flatcap closed this as completed Sep 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant