When upgrading or making changes to a port that many other ports depend on, like for instance libraries, it is important to test not only that the port itself builds, but also that those that depend on it will build (if it's a build dependency) or run (if it's a run or lib dependency).
Bugzilla has a flag for requesting an exp-run (where all ports will be built), but there is no reason to wait for that when we can relatively easily do our own mini exp-run without building everything, thanks to FreshPorts.
FreshPorts has an advanced search function where we can search for ports with Depends Build/Lib/Run
containing the port we are upgrading. Furthermore, it can output the result in plain text, such that a Build/Lib/Run search for
unrar will yield the following list:
archivers/deco archivers/py-rarfile archivers/unfoo deskutils/recoll games/d2x-xl graphics/cbview graphics/cbviewer graphics/comical mail/mailscanner multimedia/py-periscope net/kwooty news/hellanzb news/nzbget news/sabnzbdplus security/amavisd-new security/maia sysutils/fusefs-rar2fs x11-fm/doublecmd
Notice the format of the output -- we can feed this list to poudriere to verify that all these ports build:
poudriere bulk -t -j fbsd11-1 -p portsvn -i -f <filename where we saved the output>
In this case it ended up telling me the following, but 525 is still a lot less than a full build of all 32128 (and counting) ports in the tree:
[00:00:42] Building 525 packages using 4 builders
This method might not hit every affected port, but it won't be far off in most cases. And as an alternative to a full exp-run, it is quite affordable in terms of time and resource usage.