Lines Matching full:test
25 class Test:
27 Represents a tlsfuzzer test script.
51 return "<Test: %s tls12_args: %s tls13_args: %s>" % (
56 """ A group of Test objects to be run by TestRunner."""
75 # test-tls13-finished.py has 70 failing tests that expect a "decode_error"
78 # in the test instead of the library.
167 Test("test-tls13-ccs.py"),
168 Test("test-tls13-conversation.py"),
169 Test("test-tls13-count-tickets.py"),
170 Test("test-tls13-empty-alert.py"),
171 Test("test-tls13-finished.py", generate_test_tls13_finished_args()),
172 Test("test-tls13-finished-plaintext.py"),
173 Test("test-tls13-hrr.py"),
174 Test("test-tls13-keyshare-omitted.py"),
175 Test("test-tls13-legacy-version.py"),
176 Test("test-tls13-nociphers.py"),
177 Test("test-tls13-record-padding.py"),
179 Test("test-tls13-shuffled-extentions.py", [ "--exc", "57" ]),
180 Test("test-tls13-zero-content-type.py"),
185 Test("test-tls13-zero-length-data.py", [
192 Test("test-tls13-connection-abort.py", ["-e", "After NewSessionTicket"]),
199 Test("test-tls13-dhe-shared-secret-padding.py", tls13_unsupported_ciphers),
201 Test("test-tls13-invalid-ciphers.py"),
202 Test("test-tls13-serverhello-random.py", tls13_unsupported_ciphers),
206 Test("test-tls13-record-layer-limits.py", [
213 # uncompressed point format. Exclude this extension type from the test.
214 Test(
215 "test-tls13-large-number-of-extensions.py",
222 Test("test-tls13-certificate-request.py"),
223 Test("test-tls13-certificate-verify.py"),
224 Test("test-tls13-ecdsa-in-certificate-verify.py"),
225 Test("test-tls13-eddsa-in-certificate-verify.py"),
227 # Test expects the server to have installed three certificates:
230 Test("test-tls13-ecdsa-support.py"),
238 Test("test-tls13-crfg-curves.py", [
248 Test("test-tls13-ecdhe-curves.py", [
256 # The test sends records with protocol version 0x0300 instead of 0x0303
261 Test("test-tls13-multiple-ccs-messages.py"),
264 Test("test-tls13-obsolete-curves.py"),
267 Test("test-tls13-rsa-signatures.py"),
270 Test("test-tls13-version-negotiation.py"),
274 # Other test failures bugs in keyshare/tlsext negotiation?
275 Test("test-tls13-unrecognised-groups.py"), # unexpected closure
283 Test("test-tls13-keyupdate.py"),
285 Test("test-tls13-symetric-ciphers.py"), # unexpected message from peer
288 # We send server hello, but the test expects handshake_failure
289 Test("test-tls13-pkcs-signature.py"),
291 Test("test-tls13-rsapss-signatures.py"),
296 Test("test-tls13-0rtt-garbage.py"),
297 Test("test-tls13-ffdhe-groups.py"),
298 Test("test-tls13-ffdhe-sanity.py"),
299 Test("test-tls13-psk_dhe_ke.py"),
300 Test("test-tls13-psk_ke.py"),
303 Test("test-tls13-keyupdate-from-server.py"),
306 Test("test-tls13-lengths.py"),
308 # Weird test: tests servers that don't support 1.3
309 Test("test-tls13-non-support.py"),
311 # broken test script
313 Test("test-tls13-post-handshake-auth.py"),
316 Test("test-tls13-session-resumption.py"),
319 Test("test-tls13-signature-algorithms.py"),
348 Test("test-aes-gcm-nonces.py"),
349 Test("test-connection-abort.py"),
350 Test("test-conversation.py"),
351 Test("test-cve-2016-2107.py"),
352 Test("test-cve-2016-6309.py"),
353 Test("test-dhe-rsa-key-exchange.py"),
354 Test("test-early-application-data.py"),
355 Test("test-empty-extensions.py"),
356 Test("test-extensions.py"),
357 Test("test-fuzzed-MAC.py"),
358 Test("test-fuzzed-ciphertext.py"),
359 Test("test-fuzzed-finished.py"),
360 Test("test-fuzzed-padding.py"),
361 Test("test-fuzzed-plaintext.py"), # fails once in a while
362 Test("test-hello-request-by-client.py"),
363 Test("test-invalid-cipher-suites.py"),
364 Test("test-invalid-content-type.py"),
365 Test("test-invalid-session-id.py"),
366 Test("test-invalid-version.py"),
367 Test("test-large-number-of-extensions.py"),
368 Test("test-lucky13.py"),
369 Test("test-message-skipping.py"),
370 Test("test-no-heartbeat.py"),
371 Test("test-record-layer-fragmentation.py"),
372 Test("test-sslv2-connection.py"),
373 Test("test-truncating-of-finished.py"),
374 Test("test-truncating-of-kRSA-client-key-exchange.py"),
375 Test("test-unsupported-curve-fallback.py"),
376 Test("test-version-numbers.py"),
377 Test("test-zero-length-data.py"),
380 Test(
381 "test-atypical-padding.py", [
386 Test(
387 "test-ccs.py", [
392 Test(
393 "test-dhe-rsa-key-exchange-signatures.py", [
401 Test("test-dhe-rsa-key-exchange-with-bad-messages.py", [
405 Test("test-dhe-key-share-random.py", tls12_exclude_legacy_protocols),
406 Test("test-export-ciphers-rejected.py", ["--min-ver", "TLSv1.2"]),
407 Test(
408 "test-downgrade-protection.py",
416 Test(
417 "test-fallback-scsv.py",
431 Test("test-invalid-compression-methods.py", [
438 # Skip extended_master_secret test. Since we don't support this
440 Test("test-renegotiation-changed-clienthello.py", [
444 Test("test-sessionID-resumption.py", [
451 Test("test-sig-algs-renegotiation-resumption.py", ["--sig-algs-drop-ok"]),
453 Test("test-serverhello-random.py", args = tls12_exclude_legacy_protocols),
455 Test("test-chacha20.py", [ "-e", "Chacha20 in TLS1.1" ]),
459 Test("test-cve-2016-7054.py"),
460 Test("test-dhe-no-shared-secret-padding.py", tls12_exclude_legacy_protocols),
461 Test("test-ecdhe-padded-shared-secret.py", tls12_exclude_legacy_protocols),
462 Test("test-ecdhe-rsa-key-share-random.py", tls12_exclude_legacy_protocols),
464 Test("test-large-hello.py", [ "-m", "58" ]),
469 Test("test-aesccm.py"),
471 Test("test-alpn-negotiation.py"),
473 Test("test-bleichenbacher-timing-pregenerate.py"),
475 Test("test-bleichenbacher-workaround.py"),
478 Test("test-certificate-malformed.py"),
479 Test("test-certificate-request.py"),
480 Test("test-certificate-verify-malformed-sig.py"),
481 Test("test-certificate-verify-malformed.py"),
482 Test("test-certificate-verify.py"),
483 Test("test-ecdsa-in-certificate-verify.py"),
484 Test("test-eddsa-in-certificate-verify.py"),
485 Test("test-renegotiation-disabled-client-cert.py"),
486 Test("test-rsa-pss-sigs-on-certificate-verify.py"),
487 Test("test-rsa-sigs-on-certificate-verify.py"),
489 # test doesn't expect session ticket
490 Test("test-client-compatibility.py"),
492 Test("test-client-hello-max-size.py"),
494 Test("test-clienthello-md5.py"),
498 Test("test-ecdhe-rsa-key-exchange-with-bad-messages.py"),
501 # test expects to succeed.
502 Test("test-ecdhe-rsa-key-exchange.py"),
505 Test("test-ecdsa-sig-flexibility.py"),
511 Test("test-interleaved-application-data-and-fragmented-handshakes-in-renegotiation.py"),
516 Test("test-interleaved-application-data-in-renegotiation.py"),
518 # broken test script
520 Test("test-invalid-client-hello-w-record-overflow.py"),
523 Test("test-invalid-client-hello.py"),
527 Test("test-invalid-rsa-key-exchange-messages.py"),
529 # test expects illegal_parameter, we send unrecognized_name (which seems
531 Test("test-invalid-server-name-extension-resumption.py"),
534 Test("test-invalid-server-name-extension.py"),
541 Test("test-legacy-renegotiation.py"),
545 Test("test-message-duplication.py"),
548 Test("test-ocsp-stapling.py"),
551 Test("test-openssl-3712.py"),
557 Test("test-renegotiation-disabled.py"),
561 Test("test-resumption-with-wrong-ciphers.py"),
567 Test("test-session-ticket-resumption.py"),
575 Test("test-sig-algs.py"),
584 Test("test-signature-algorithms.py"),
587 Test("test-ssl-death-alert.py"),
590 Test("test-truncating-of-client-hello.py"),
593 Test("test-x25519.py"),
596 Test("test-TLSv1_2-rejected-without-TLSv1_2.py"),
601 Test("test-SSLv3-padding.py"),
603 Test("test-bleichenbacher-timing.py"),
605 Test("test-encrypt-then-mac-renegotiation.py"),
606 Test("test-encrypt-then-mac.py"),
608 Test("test-extended-master-secret-extension-with-client-cert.py"),
609 Test("test-extended-master-secret-extension.py"),
611 Test("test-ffdhe-expected-params.py"),
612 Test("test-ffdhe-negotiation.py"),
614 Test("test-record-size-limit.py"),
616 Test("test-heartbeat.py"),
618 Test("test-lengths.py"),
624 Test("test-sslv2-force-cipher-3des.py"),
625 Test("test-sslv2-force-cipher-non3des.py"),
626 Test("test-sslv2-force-cipher.py"),
627 Test("test-sslv2-force-export-cipher.py"),
628 Test("test-sslv2hello-protocol.py"),
674 # tests.sort(key=lambda test: test.name)
680 def run_script(self, test):
681 script = test.name
682 args = ["-h"] + [self.host] + ["-p"] + [self.port] + test.args(self.use_tls1_3)
701 test = subprocess.run(
708 if test.returncode == 0:
717 print('\n'.join(test.stdout.split("Test end\n", 1)[1:]), end="")
722 for test in group:
723 self.run_script(test)
810 (test for group in all_groups for test in group if test.name == script),
811 Test()
815 tests = [test.name for group in all_groups for test in group]
831 print("Usage: python3 tlsfuzzer.py [-flmnstv] [-p port] [script [test...]]")
885 failing = [test.name for group in failing_groups for test in group]
905 tests.add("test from command line", [Test(script, testargs + args[1:])])