Make fi_info a little more general:

./simple/fi_info -h
usage: ./simple/fi_info
  -n, --node=NAME               node name or address
  -p, --port=PNUM               port number
  -c, --caps=CAP1|CAP2..        one or more capabilities: FI_MSG|FI_RMA...
  -m, --mode=MOD1|MOD2..        one or more modes, default all modes
  -e, --ep_type=EPTYPE          specify single endpoint type: FI_EP_MSG, FI_EP_DGRAM...

Use like:

$ # display proivders' fi_info structure which match criteria:
$ fi_info -e FI_EP_MSG -c "FI_MSG|FI_RMA"
...
Moving hints, node, and port to function local variables seem like a net loss.

The generic way that the hints are being set looks like something that could be usable by most of the test apps, including future ones.