Changeset 48bcc031


Ignore:
Timestamp:
Jul 27, 2015 2:57:33 AM (5 years ago)
Author:
str4d <str4d@…>
Branches:
master
Children:
b19866c
Parents:
f1998e6
Message:

Refactor tests

Location:
apps/streaming/java/test/junit/net/i2p/client/streaming/impl
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • apps/streaming/java/test/junit/net/i2p/client/streaming/impl/MessageInputStreamTest.java

    rf1998e6 r48bcc031  
    2222    private Log _log;
    2323    private ConnectionOptions _options;
    24    
     24
    2525    @Before
    2626    public void setUp() {
     
    2929        _options = new ConnectionOptions();
    3030    }
    31    
     31
    3232    @Test
    33     public void testInOrder() {
     33    public void testInOrder() throws IOException {
    3434        byte orig[] = new byte[256*1024];
    3535        _context.random().nextBytes(orig);
    36        
     36
    3737        MessageInputStream in = new MessageInputStream(_context, _options.getMaxMessageSize(),
    38                                                        _options.getMaxWindowSize(), _options.getInboundBufferSize());
     38                _options.getMaxWindowSize(), _options.getInboundBufferSize());
    3939        for (int i = 0; i < orig.length / 1024; i++) {
    4040            byte msg[] = new byte[1024];
     
    4242            in.messageReceived(i, new ByteArray(msg));
    4343        }
    44        
     44
    4545        byte read[] = new byte[orig.length];
    46         try {
    47             int howMany = DataHelper.read(in, read);
    48             if (howMany != orig.length)
    49                 throw new RuntimeException("Failed test: not enough bytes read [" + howMany + "]");
    50             if (!DataHelper.eq(orig, read))
    51                 throw new RuntimeException("Failed test: data read is not equal");
    52            
    53             _log.info("Passed test: in order");
    54         } catch (IOException ioe) {
    55             throw new RuntimeException("IOError reading: " + ioe.getMessage());
    56         }
     46        int howMany = DataHelper.read(in, read);
     47        if (howMany != orig.length)
     48            fail("not enough bytes read [" + howMany + "]");
     49        if (!DataHelper.eq(orig, read))
     50            fail("data read is not equal");
     51
     52        _log.info("Passed test: in order");
    5753    }
    58    
     54
    5955    @Test
    60     public void testRandomOrder() {
     56    public void testRandomOrder() throws IOException {
    6157        byte orig[] = new byte[256*1024];
    6258        _context.random().nextBytes(orig);
    63        
     59
    6460        MessageInputStream in = new MessageInputStream(_context, _options.getMaxMessageSize(),
    65                                                        _options.getMaxWindowSize(), _options.getInboundBufferSize());
     61                _options.getMaxWindowSize(), _options.getInboundBufferSize());
    6662        ArrayList<Integer> order = new ArrayList<Integer>(32);
    6763        for (int i = 0; i < orig.length / 1024; i++)
     
    7571            _log.debug("Injecting " + cur);
    7672        }
    77        
     73
    7874        byte read[] = new byte[orig.length];
    79         try {
    80             int howMany = DataHelper.read(in, read);
    81             if (howMany != orig.length)
    82                 throw new RuntimeException("Failed test: not enough bytes read [" + howMany + "]");
    83             if (!DataHelper.eq(orig, read))
    84                 throw new RuntimeException("Failed test: data read is not equal");
    85            
    86             _log.info("Passed test: random order");
    87         } catch (IOException ioe) {
    88             throw new RuntimeException("IOError reading: " + ioe.getMessage());
    89         }
     75        int howMany = DataHelper.read(in, read);
     76        if (howMany != orig.length)
     77            fail("not enough bytes read [" + howMany + "]");
     78        if (!DataHelper.eq(orig, read))
     79            fail("data read is not equal");
     80
     81        _log.info("Passed test: random order");
    9082    }
    91    
     83
    9284    @Test
    93     public void testRandomDups() {
     85    public void testRandomDups() throws IOException {
    9486        byte orig[] = new byte[256*1024];
    9587        _context.random().nextBytes(orig);
    96        
     88
    9789        MessageInputStream in = new MessageInputStream(_context, _options.getMaxMessageSize(),
    98                                                        _options.getMaxWindowSize(), _options.getInboundBufferSize());
     90                _options.getMaxWindowSize(), _options.getInboundBufferSize());
    9991        for (int n = 0; n < 3; n++) {
    10092            ArrayList<Integer> order = new ArrayList<Integer>(32);
     
    110102            }
    111103        }
    112        
     104
    113105        byte read[] = new byte[orig.length];
    114         try {
    115             int howMany = DataHelper.read(in, read);
    116             if (howMany != orig.length)
    117                 throw new RuntimeException("Failed test: not enough bytes read [" + howMany + "]");
    118             if (!DataHelper.eq(orig, read))
    119                 throw new RuntimeException("Failed test: data read is not equal");
    120            
    121             _log.info("Passed test: random dups");
    122         } catch (IOException ioe) {
    123             throw new RuntimeException("IOError reading: " + ioe.getMessage());
    124         }
     106        int howMany = DataHelper.read(in, read);
     107        if (howMany != orig.length)
     108            fail("not enough bytes read [" + howMany + "]");
     109        if (!DataHelper.eq(orig, read))
     110            fail("data read is not equal");
     111
     112        _log.info("Passed test: random dups");
    125113    }
    126    
     114
    127115    @Test
    128     public void testStaggered() {
     116    public void testStaggered() throws IOException {
    129117        byte orig[] = new byte[256*1024];
    130118        byte read[] = new byte[orig.length];
    131119        _context.random().nextBytes(orig);
    132        
     120
    133121        MessageInputStream in = new MessageInputStream(_context, _options.getMaxMessageSize(),
    134                                                        _options.getMaxWindowSize(), _options.getInboundBufferSize());
     122                _options.getMaxWindowSize(), _options.getInboundBufferSize());
    135123        ArrayList<Integer> order = new ArrayList<Integer>(32);
    136124        for (int i = 0; i < orig.length / 1024; i++)
    137125            order.add(new Integer(i));
    138126        Collections.shuffle(order);
    139        
     127
    140128        int offset = 0;
    141         for (int i = 0; i < orig.length / 1024; i++) {
    142             byte msg[] = new byte[1024];
    143             Integer cur = (Integer)order.get(i);
    144             System.arraycopy(orig, cur.intValue()*1024, msg, 0, 1024);
    145             in.messageReceived(cur.intValue(), new ByteArray(msg));
    146             _log.debug("Injecting " + cur);
    147            
    148             try {
     129        try {
     130            for (int i = 0; i < orig.length / 1024; i++) {
     131                byte msg[] = new byte[1024];
     132                Integer cur = (Integer)order.get(i);
     133                System.arraycopy(orig, cur.intValue()*1024, msg, 0, 1024);
     134                in.messageReceived(cur.intValue(), new ByteArray(msg));
     135                _log.debug("Injecting " + cur);
     136
    149137                if (in.available() > 0) {
    150138                    int curRead = in.read(read, offset, read.length-offset);
    151139                    _log.debug("read " + curRead);
    152140                    if (curRead == -1)
    153                         throw new RuntimeException("EOF with offset " + offset);
     141                        fail("EOF with offset " + offset);
    154142                    else
    155143                        offset += curRead;
    156144                }
    157             } catch (IOException ioe) {
    158                 throw new RuntimeException("IOE: " + ioe.getMessage());
    159145            }
     146        } finally {
     147            in.close();
    160148        }
    161        
     149
    162150        if (!DataHelper.eq(orig, read))
    163             throw new RuntimeException("Failed test: data read is not equal");
     151            fail("data read is not equal");
    164152
    165153        _log.info("Passed test: staggered");
  • apps/streaming/java/test/junit/net/i2p/client/streaming/impl/MessageOutputStreamTest.java

    rf1998e6 r48bcc031  
    1515    private I2PAppContext _context;
    1616    private SimpleTimer2 _st2;
    17    
     17
    1818    @Before
    1919    public void setUp() {
     
    2121        _st2 = _context.simpleTimer2();
    2222    }
    23    
     23
    2424    @Test
    2525    public void test() throws Exception {
     
    4040        assertTrue(
    4141                "read does not match (first off = " + firstOff + "): \n"
    42                     + Base64.encode(buf) + "\n"
    43                     + Base64.encode(read)
    44                 ,
    45                 firstOff < 0);
     42                        + Base64.encode(buf) + "\n"
     43                        + Base64.encode(read)
     44                        ,
     45                        firstOff < 0);
    4646    }
    47    
     47
    4848    private class Receiver implements MessageOutputStream.DataReceiver {
    4949        private ByteArrayOutputStream _data;
     
    5353        public MessageOutputStream.WriteStatus writeData(byte[] buf, int off, int size) {
    5454            _data.write(buf, off, size);
    55                         return new DummyWriteStatus();
     55            return new DummyWriteStatus();
    5656        }
    5757        public boolean writeInProcess() { return false; }
Note: See TracChangeset for help on using the changeset viewer.