samples/deadlock/test/org/apidesign/deadlock/startuplock/CLIHandlerBlockingTest.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 18:51:38 +0200
changeset 263 7e8e995065c5
parent 181 81d72f69fa42
permissions -rw-r--r--
Tests of all modules are executed and can fail the build
     1 package org.apidesign.deadlock.startuplock;
     2 
     3 import java.io.File;
     4 import java.util.logging.Handler;
     5 import java.util.logging.Level;
     6 import java.util.logging.LogRecord;
     7 import java.util.logging.Logger;
     8 import org.junit.After;
     9 import org.junit.AfterClass;
    10 import org.junit.Before;
    11 import org.junit.BeforeClass;
    12 import org.junit.Test;
    13 import static org.junit.Assert.*;
    14 
    15 // BEGIN: test.capture.logs
    16 public class CLIHandlerBlockingTest {
    17 
    18     public CLIHandlerBlockingTest() {
    19     }
    20     
    21     @BeforeClass
    22     public static void initHandler() {
    23         Logger.getLogger("").addHandler(new H());
    24         Logger.getLogger("").setLevel(Level.ALL);
    25     }
    26 
    27     @Before
    28     public void setUp() {
    29         H.sb.setLength(0);
    30     }
    31 
    32     @Test
    33     public void start() throws Exception {
    34         File lockFile = File.createTempFile("pref", ".tmp");
    35         int result = CLIHandlerBlocking.start(lockFile);
    36         if (Boolean.getBoolean("no.failures")) return;
    37         assertEquals("Show a failure" + H.sb, -10, result);
    38     }
    39 
    40     private static final class H extends Handler {
    41         static StringBuffer sb = new StringBuffer();
    42         
    43         @Override
    44         public void publish(LogRecord record) {
    45             sb.append(record.getMessage()).append('\n');
    46         }
    47 
    48         @Override
    49         public void flush() {
    50         }
    51 
    52         @Override
    53         public void close() throws SecurityException {
    54         }
    55     } // end of H
    56 }
    57 // END: test.capture.logs