IntlTest has parallel sets of error functions, errln() and dataerrln(), to try to make it clearer when failures may be caused by missing data. There are some problems with these, however:
Tests that could fail from missing data can also fail for other reasons, making the "are you missing data?" notice confusing, and, after a while, annoying. No, I am not missing data.
The parallel sets of functions complicate the test framework code. Coverage of the variants of assert() is incomplete.
I propose that we remove the data error specific functions and overloads, and instead add a new data sanity check test. It could be set to run early, and for any ICU module that isn't configured away, could check that some basic data was loadable. When data is missing, it could output a longer message explaining that additional errors are likely, and perhaps abort further testing altogether.