eg if you build in a vm that doesnt have a display and intend to run bitcoin-qt on another host (or just intend to build bitcoind, but have qt installed and so build bitcoin-qt), make check raise()s in test_bitcoin-qt. This should likely be a warning instead.
QApplication app(argc, argv);
    app.setApplicationName("Bitcoin-Qt-test");
    SSL_library_init();
    URITests test1;
    if (QTest::qExec(&test1) != 0) {
        fInvalid = true;
    }
#ifdef ENABLE_WALLET
    PaymentServerTests test2;
    if (QTest::qExec(&test2) != 0) {
        fInvalid = true;
    }
#endif
    RPCNestedTests test3;
    if (QTest::qExec(&test3) != 0) {
        fInvalid = true;
    }
    CompatTests test4;
    if (QTest::qExec(&test4) != 0) {
        fInvalid = true;
    }
#ifdef ENABLE_WALLET
    WalletTests test5;
    if (QTest::qExec(&test5) != 0) {
        fInvalid = true;
    }
#endif
    return fInvalid;
}