We develop a novel stress-test framework to monitor systemic risk in financial systems. The modular structure of the framework allows to accommodate for a variety of shock scenarios, methods to estimate interbank exposures and mechanisms of distress propagation. The main features are as follows. First, the framework allows to estimate and disentangle not only first-round effects (i.e. shock on external assets) and second-round effects (i.e. distress induced in the interbank network), but also third-round effects induced by possible fire sales. Second, it allows to monitor at the same time the impact of shocks on individual or groups of financial institutions as well as their vulnerability to shocks on counterparties or certain asset classes. Third, it includes estimates for loss distributions, thus combining network effects with familiar risk measures such as VaR and CVaR. Fourth, in order to perform robustness analyses and cope with incomplete data, the framework features a module for the generation of sets of networks of interbank exposures that are coherent with the total lending and borrowing of each bank. As an illustration, we carry out a stress--test exercise on a dataset of listed European banks over the years 2008-2013. We find that second-round and third-round effects dominate first-round effects, therefore suggesting that most current stress-test frameworks might lead to a severe underestimation of systemic risk.