Ejemplo n.º 1
0
    def doit(data, pkt_len=2048):

        from hashlib import sha256
        import os

        for pos in range(0, len(data), pkt_len):
            v = dev.send_recv(
                CCProtocolPacker.upload(pos, len(data),
                                        data[pos:pos + pkt_len]))
            assert v == pos
            chk = dev.send_recv(CCProtocolPacker.sha256())
            assert chk == sha256(data[0:pos + pkt_len]).digest(), 'bad hash'
Ejemplo n.º 2
0
def test_upload_short(dev, data_len):
    # upload a few really short files

    from hashlib import sha256

    data = b'a' * data_len

    v = dev.send_recv(CCProtocolPacker.upload(0, len(data), data))
    assert v == 0
    chk = dev.send_recv(CCProtocolPacker.sha256())

    assert chk == sha256(data).digest(), 'bad hash'

    # clear screen / test a degerate case
    dev.send_recv(CCProtocolPacker.upload(256, 256, b''))
Ejemplo n.º 3
0
def test_upload_long(dev, pkt_len, count=5, data=None):
    # upload a larger "file"
    
    from hashlib import sha256
    import os

    data = data or os.urandom(pkt_len * count)

    for pos in range(0, len(data), pkt_len):
        v = dev.send_recv(CCProtocolPacker.upload(pos, len(data), data[pos:pos+pkt_len]))
        assert v == pos
        chk = dev.send_recv(CCProtocolPacker.sha256())
        assert chk == sha256(data[0:pos+pkt_len]).digest(), 'bad hash'

    # clear screen / test a degerate case
    dev.send_recv(CCProtocolPacker.upload(256, 256, b''))