/usr/share/doc/junit4/api/src-html/org/junit/runners/model/MultipleFailureException.html is in junit4-doc 4.12-6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>Source code</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<div class="sourceContainer">
<pre><span class="sourceLineNo">001</span>package org.junit.runners.model;<a name="line.1"></a>
<span class="sourceLineNo">002</span><a name="line.2"></a>
<span class="sourceLineNo">003</span>import java.util.ArrayList;<a name="line.3"></a>
<span class="sourceLineNo">004</span>import java.util.Collections;<a name="line.4"></a>
<span class="sourceLineNo">005</span>import java.util.List;<a name="line.5"></a>
<span class="sourceLineNo">006</span><a name="line.6"></a>
<span class="sourceLineNo">007</span>import org.junit.internal.Throwables;<a name="line.7"></a>
<span class="sourceLineNo">008</span><a name="line.8"></a>
<span class="sourceLineNo">009</span>/**<a name="line.9"></a>
<span class="sourceLineNo">010</span> * Collects multiple {@code Throwable}s into one exception.<a name="line.10"></a>
<span class="sourceLineNo">011</span> *<a name="line.11"></a>
<span class="sourceLineNo">012</span> * @since 4.9<a name="line.12"></a>
<span class="sourceLineNo">013</span> */<a name="line.13"></a>
<span class="sourceLineNo">014</span>public class MultipleFailureException extends Exception {<a name="line.14"></a>
<span class="sourceLineNo">015</span> private static final long serialVersionUID = 1L;<a name="line.15"></a>
<span class="sourceLineNo">016</span><a name="line.16"></a>
<span class="sourceLineNo">017</span> /*<a name="line.17"></a>
<span class="sourceLineNo">018</span> * We have to use the f prefix until the next major release to ensure<a name="line.18"></a>
<span class="sourceLineNo">019</span> * serialization compatibility. <a name="line.19"></a>
<span class="sourceLineNo">020</span> * See https://github.com/junit-team/junit/issues/976<a name="line.20"></a>
<span class="sourceLineNo">021</span> */<a name="line.21"></a>
<span class="sourceLineNo">022</span> private final List<Throwable> fErrors;<a name="line.22"></a>
<span class="sourceLineNo">023</span><a name="line.23"></a>
<span class="sourceLineNo">024</span> public MultipleFailureException(List<Throwable> errors) {<a name="line.24"></a>
<span class="sourceLineNo">025</span> this.fErrors = new ArrayList<Throwable>(errors);<a name="line.25"></a>
<span class="sourceLineNo">026</span> }<a name="line.26"></a>
<span class="sourceLineNo">027</span><a name="line.27"></a>
<span class="sourceLineNo">028</span> public List<Throwable> getFailures() {<a name="line.28"></a>
<span class="sourceLineNo">029</span> return Collections.unmodifiableList(fErrors);<a name="line.29"></a>
<span class="sourceLineNo">030</span> }<a name="line.30"></a>
<span class="sourceLineNo">031</span><a name="line.31"></a>
<span class="sourceLineNo">032</span> @Override<a name="line.32"></a>
<span class="sourceLineNo">033</span> public String getMessage() {<a name="line.33"></a>
<span class="sourceLineNo">034</span> StringBuilder sb = new StringBuilder(<a name="line.34"></a>
<span class="sourceLineNo">035</span> String.format("There were %d errors:", fErrors.size()));<a name="line.35"></a>
<span class="sourceLineNo">036</span> for (Throwable e : fErrors) {<a name="line.36"></a>
<span class="sourceLineNo">037</span> sb.append(String.format("\n %s(%s)", e.getClass().getName(), e.getMessage()));<a name="line.37"></a>
<span class="sourceLineNo">038</span> }<a name="line.38"></a>
<span class="sourceLineNo">039</span> return sb.toString();<a name="line.39"></a>
<span class="sourceLineNo">040</span> }<a name="line.40"></a>
<span class="sourceLineNo">041</span><a name="line.41"></a>
<span class="sourceLineNo">042</span> /**<a name="line.42"></a>
<span class="sourceLineNo">043</span> * Asserts that a list of throwables is empty. If it isn't empty,<a name="line.43"></a>
<span class="sourceLineNo">044</span> * will throw {@link MultipleFailureException} (if there are<a name="line.44"></a>
<span class="sourceLineNo">045</span> * multiple throwables in the list) or the first element in the list<a name="line.45"></a>
<span class="sourceLineNo">046</span> * (if there is only one element).<a name="line.46"></a>
<span class="sourceLineNo">047</span> *<a name="line.47"></a>
<span class="sourceLineNo">048</span> * @param errors list to check<a name="line.48"></a>
<span class="sourceLineNo">049</span> * @throws Exception or Error if the list is not empty<a name="line.49"></a>
<span class="sourceLineNo">050</span> */<a name="line.50"></a>
<span class="sourceLineNo">051</span> @SuppressWarnings("deprecation")<a name="line.51"></a>
<span class="sourceLineNo">052</span> public static void assertEmpty(List<Throwable> errors) throws Exception {<a name="line.52"></a>
<span class="sourceLineNo">053</span> if (errors.isEmpty()) {<a name="line.53"></a>
<span class="sourceLineNo">054</span> return;<a name="line.54"></a>
<span class="sourceLineNo">055</span> }<a name="line.55"></a>
<span class="sourceLineNo">056</span> if (errors.size() == 1) {<a name="line.56"></a>
<span class="sourceLineNo">057</span> throw Throwables.rethrowAsException(errors.get(0));<a name="line.57"></a>
<span class="sourceLineNo">058</span> }<a name="line.58"></a>
<span class="sourceLineNo">059</span><a name="line.59"></a>
<span class="sourceLineNo">060</span> /*<a name="line.60"></a>
<span class="sourceLineNo">061</span> * Many places in the code are documented to throw<a name="line.61"></a>
<span class="sourceLineNo">062</span> * org.junit.internal.runners.model.MultipleFailureException.<a name="line.62"></a>
<span class="sourceLineNo">063</span> * That class now extends this one, so we throw the internal<a name="line.63"></a>
<span class="sourceLineNo">064</span> * exception in case developers have tests that catch<a name="line.64"></a>
<span class="sourceLineNo">065</span> * MultipleFailureException.<a name="line.65"></a>
<span class="sourceLineNo">066</span> */<a name="line.66"></a>
<span class="sourceLineNo">067</span> throw new org.junit.internal.runners.model.MultipleFailureException(errors);<a name="line.67"></a>
<span class="sourceLineNo">068</span> }<a name="line.68"></a>
<span class="sourceLineNo">069</span>}<a name="line.69"></a>
</pre>
</div>
</body>
</html>
|