aboutsummaryrefslogtreecommitdiffstats
path: root/tests/asicworld/code_hdl_models_misc1.v
blob: e3d9d5d64305928952802339fb2f19e65d5a75df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
module misc1 (a,b,c,d,y);
input a, b,c,d;
output y;

wire net1,net2,net3;

supply1 vdd;
supply0 vss;

// y = !((a+b+c).d)

pmos p1 (vdd,net1,a);
pmos p2 (net1,net2,b);
pmos p3 (net2,y,c);
pmos p4 (vdd,y,d);

nmos n1 (vss,net3,a);
nmos n2 (vss,net3,b);
nmos n3 (vss,net3,c);
nmos n4 (net3,y,d);

endmodule
ss="kn">import absolute_import, division, print_function import pytest from cryptography.exceptions import AlreadyFinalized from cryptography.hazmat.primitives import padding class TestPKCS7(object): @pytest.mark.parametrize("size", [127, 4096, -2]) def test_invalid_block_size(self, size): with pytest.raises(ValueError): padding.PKCS7(size) @pytest.mark.parametrize(("size", "padded"), [ (128, b"1111"), (128, b"1111111111111111"), (128, b"111111111111111\x06"), (128, b""), (128, b"\x06" * 6), (128, b"\x00" * 16), ]) def test_invalid_padding(self, size, padded): unpadder = padding.PKCS7(size).unpadder() with pytest.raises(ValueError): unpadder.update(padded) unpadder.finalize() def test_non_bytes(self): padder = padding.PKCS7(128).padder() with pytest.raises(TypeError): padder.update(u"abc") unpadder = padding.PKCS7(128).unpadder() with pytest.raises(TypeError): unpadder.update(u"abc") @pytest.mark.parametrize(("size", "unpadded", "padded"), [ ( 128, b"1111111111", b"1111111111\x06\x06\x06\x06\x06\x06", ), ( 128, b"111111111111111122222222222222", b"111111111111111122222222222222\x02\x02", ), ( 128, b"1" * 16, b"1" * 16 + b"\x10" * 16, ), ( 128, b"1" * 17, b"1" * 17 + b"\x0F" * 15, ) ]) def test_pad(self, size, unpadded, padded): padder = padding.PKCS7(size).padder() result = padder.update(unpadded) result += padder.finalize() assert result == padded @pytest.mark.parametrize(("size", "unpadded", "padded"), [ ( 128, b"1111111111", b"1111111111\x06\x06\x06\x06\x06\x06", ), ( 128, b"111111111111111122222222222222", b"111111111111111122222222222222\x02\x02", ), ]) def test_unpad(self, size, unpadded, padded): unpadder = padding.PKCS7(size).unpadder() result = unpadder.update(padded) result += unpadder.finalize() assert result == unpadded def test_use_after_finalize(self): padder = padding.PKCS7(128).padder() b = padder.finalize() with pytest.raises(AlreadyFinalized): padder.update(b"") with pytest.raises(AlreadyFinalized): padder.finalize() unpadder = padding.PKCS7(128).unpadder() unpadder.update(b) unpadder.finalize() with pytest.raises(AlreadyFinalized): unpadder.update(b"") with pytest.raises(AlreadyFinalized): unpadder.finalize()