Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: [OMPI devel] Check for show_help errors: contrib/check-help-strings.pl
From: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2014-04-07 11:51:47


I have just committed a script named contrib/check-help-strings.pl.

It can be used to check for simple show_help errors and warnings. I used it to find/fix a bunch of warnings and errors in the opal tree and usnic BTL, but it still find 181 warnings and 60 errors in the orte, ompi, and oshmem trees.

==> Developers: please run this script on your portion of the code base and fix all warnings / errors.

Here's some examples of the warnings/errors that are still in the tree:

-----
*** WARNING: Empty help file (no topics)
  Help file: help-ompi-crcp-base.txt
*** ERROR: Help file name collision:
  File 1: ./orte/mca/oob/usock/help-oob-tcp.txt
  File 2: ./orte/mca/oob/tcp/help-oob-tcp.txt
*** ERROR: Source-referenced help topic does not exist
  Source file: ./ompi/mca/bcol/iboffload/bcol_iboffload_component.c
  Help file referenced: help-mpi-btl-openib.txt
  Help topic referenced: no-nics
*** WARNING: Possibly unused help topic
  Help file: help-mca-op-base.txt
  Help topic: op-unselect:failed-finalize
*** WARNING: Possibly unused help file (no topics used from this file)
  Help file: help-mca-op-base.txt
-----

This script can be run from any sub-tree in the OMPI code base. It does several things:

* Find all help-*txt files and index all the topics found in the sub-tree.
* Find all C/C++ source files (.c, .cc, .h) in the sub-tree, and look
  for various flavors of the opal_show_help() function (e.g.,
  including orte_show_help()) and search for hard-coded filenames and
  topics.
* Also look for special tokens (in comments) in the source code for
  help topics that are not necessarily hard-coded (e.g., topics that
  are snprintf'ed).
* For each filename/topic found, output a warning if a) the file does
  not exist, or b) that the topic does not exist in that file.
* Output a warning for any topic that is not referenced in the source
  code (i.e., orphaned/now-unused help messages).
* Output a warning for any help file that appears to be empty.
* Output a warning for any help file that appears to be unused (i.e.,
  no topics in the help file are referenced in code).

It finds simple hard-coded filenames and topics from calls to opal_show_help() (and friends). You can use special comments to if you use variadic help filenames or topics. For example, here's one I put in the usnic BTL (because we use a variadic topic):

// For the show_help topic checker script
// SHOW_HELP:"help-mpi-btl-usnic.txt","connectivity error: small ok, large bad"

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/