01: package org.apache.lucene.util;
02:
03: /**
04: * Licensed to the Apache Software Foundation (ASF) under one or more
05: * contributor license agreements. See the NOTICE file distributed with
06: * this work for additional information regarding copyright ownership.
07: * The ASF licenses this file to You under the Apache License, Version 2.0
08: * (the "License"); you may not use this file except in compliance with
09: * the License. You may obtain a copy of the License at
10: *
11: * http://www.apache.org/licenses/LICENSE-2.0
12: *
13: * Unless required by applicable law or agreed to in writing, software
14: * distributed under the License is distributed on an "AS IS" BASIS,
15: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16: * See the License for the specific language governing permissions and
17: * limitations under the License.
18: */
19:
20: import org.apache.lucene.index.ConcurrentMergeScheduler;
21: import junit.framework.TestCase;
22:
23: /** Base class for all Lucene unit tests. Currently the
24: * only added functionality over JUnit's TestCase is
25: * asserting that no unhandled exceptions occurred in
26: * threads launched by ConcurrentMergeScheduler. If you
27: * override either <code>setUp()</code> or
28: * <code>tearDown()</code> in your unit test, make sure you
29: * call <code>super.setUp()</code> and
30: * <code>super.tearDown()</code>.
31: */
32:
33: public abstract class LuceneTestCase extends TestCase {
34:
35: public LuceneTestCase() {
36: super ();
37: }
38:
39: public LuceneTestCase(String name) {
40: super (name);
41: }
42:
43: protected void setUp() throws Exception {
44: ConcurrentMergeScheduler.setTestMode();
45: }
46:
47: protected void tearDown() throws Exception {
48: if (ConcurrentMergeScheduler.anyUnhandledExceptions()) {
49: fail("ConcurrentMergeScheduler hit unhandled exceptions");
50: }
51: }
52: }
|