TEST_START
TEST_START("fuzz generic header");
TEST_START("fuzz skf_1of1 payload");
TEST_START("fuzz sa payload");
TEST_START("fuzz sa and xform payload");
TEST_START("fuzz ke payload");
TEST_START("fuzz nonce payload");
TEST_START("fuzz notify payload");
TEST_START("fuzz id payload");
TEST_START("fuzz cert payload");
TEST_START("fuzz certreq payload");
TEST_START("fuzz auth payload");
TEST_START("fuzz delete notify payload");
TEST_START("fuzz vendor id payload");
TEST_START("fuzz traffic selector initiator payload");
TEST_START("fuzz traffic selector responder payload");
TEST_START("fuzz configuration payload");
TEST_START("fuzz eap payload");
TEST_START("fuzz full valid packet");
TEST_START("sshauthopt_parse invalid " label); \
TEST_START("sshauthopt_parse empty");
TEST_START("sshauthopt_parse trailing whitespace");
TEST_START("sshauthopt_parse restrict");
TEST_START("sshauthopt_parse tunnel explicit");
TEST_START("sshauthopt_parse tunnel any");
TEST_START("sshauthopt_parse " keyword); \
TEST_START("sshauthopt_parse " keyword); \
TEST_START("sshauthopt_parse " label); \
TEST_START("sshauthopt_from_cert no_" keybase); \
TEST_START("sshauthopt_from_cert only_" keybase); \
TEST_START("sshauthopt_from_cert all permitted");
TEST_START("sshauthopt_from_cert nothing permitted");
TEST_START("sshauthopt_from_cert force-command");
TEST_START("sshauthopt_from_cert source-address");
TEST_START("sshauthopt_from_cert " keybase); \
TEST_START("sshauthopt_merge " label); \
TEST_START("bitmap_new");
TEST_START("bitmap_set_bit / bitmap_test_bit");
TEST_START("conversion_convtime");
TEST_START("Ed25519 keypair from seed");
TEST_START("Ed25519 sign/verify KAT");
TEST_START("ML-DSA 44 KATs");
TEST_START("MLDSA44-Ed25519-SHA512 load test vectors");
TEST_START("MLDSA44-Ed25519-SHA512 raw self-consistency");
TEST_START("MLDSA44-Ed25519-SHA512 raw KAT key expansion");
TEST_START("MLDSA44-Ed25519-SHA512 raw KAT verify (no context)");
TEST_START("MLDSA44-Ed25519-SHA512 raw KAT verify (with context)");
TEST_START("MLDSA44-Ed25519-SHA512 raw round-trip (no context)");
TEST_START("MLDSA44-Ed25519-SHA512 raw round-trip (with context)");
TEST_START("MLDSA44-Ed25519-SHA512 raw KAT verify (no context)");
TEST_START("MLDSA44-Ed25519-SHA512 fuzz raw verify (with context)");
TEST_START("MLDSA44-Ed25519-SHA512 fuzz raw verify (with context)");
TEST_START("ML-KEM 768 KATs");
TEST_START("hostkeys_iterate all with key parse");
TEST_START("hostkeys_iterate all without key parse");
TEST_START("hostkeys_iterate specify host 1");
TEST_START("hostkeys_iterate specify host 2");
TEST_START("hostkeys_iterate match host 1");
TEST_START("hostkeys_iterate match host 2");
TEST_START("hostkeys_iterate specify host missing");
TEST_START("hostkeys_iterate match host missing");
TEST_START("hostkeys_iterate specify IPv4");
TEST_START("hostkeys_iterate specify IPv6");
TEST_START("hostkeys_iterate match IPv4");
TEST_START("hostkeys_iterate match IPv6");
TEST_START("hostkeys_iterate specify addr missing");
TEST_START("hostkeys_iterate match addr missing");
TEST_START("hostkeys_iterate specify host 2 and IPv4");
TEST_START("hostkeys_iterate match host 1 and IPv6");
TEST_START("hostkeys_iterate specify host 2 and IPv4 w/ key parse");
TEST_START("hostkeys_iterate match host 1 and IPv6 w/ key parse");
TEST_START("ssh_add_hostkey");
TEST_START("kex");
TEST_START("rekeying client");
TEST_START("rekeying server");
TEST_START("ssh_packet_get_state");
TEST_START("ssh_packet_set_state");
TEST_START("rekeying server2");
TEST_START("cleanup");
TEST_START(name);
TEST_START("sshkey_generate");
TEST_START("sshkey_from_private");
TEST_START("ssh_init");
TEST_START("compat_kex_proposal");
TEST_START("compat_kex_proposal_populate");
TEST_START("match_pattern");
TEST_START("match_pattern wildcard");
TEST_START("match_pattern exhaustive original");
TEST_START("match_pattern_list");
TEST_START("match_pattern_list lowercase");
TEST_START("addr_match_list");
TEST_START("match_filter_list");
TEST_START("quoted escaped");
TEST_START("comments");
TEST_START("empty args");
TEST_START("trivial args");
TEST_START("quoted");
TEST_START("escaped");
TEST_START("misc_convtime");
TEST_START("misc_convtime_double");
TEST_START("misc_parse_absolute_time");
TEST_START("dollar_expand");
TEST_START("percent_expand");
TEST_START("percent_dollar_expand");
TEST_START("hpdelim host only");
TEST_START("hpdelim :port");
TEST_START("hpdelim host:port");
TEST_START("hpdelim [host]:port");
TEST_START("hpdelim missing ] error");
TEST_START("rtrim trailing mixed whitespace");
TEST_START("rtrim no trailing whitespace");
TEST_START("rtrim whitespace in middle");
TEST_START("rtrim empty string");
TEST_START("rtrim only whitespace");
TEST_START("strprefix basic match");
TEST_START("strprefix no match");
TEST_START("strprefix full match");
TEST_START("strprefix empty string");
TEST_START("strprefix empty prefix");
TEST_START("strprefix case sensitive no match");
TEST_START("strprefix case insensitive match");
TEST_START("strprefix case insensitive full match");
TEST_START("fmt_timeframe seconds");
TEST_START("fmt_timeframe days");
TEST_START("fmt_timeframe weeks");
TEST_START("addargs initial");
TEST_START("addargs second");
TEST_START("addargs with format");
TEST_START("replacearg middle");
TEST_START("replacearg first");
TEST_START("chop newline");
TEST_START("replacearg last");
TEST_START("replacearg with format");
TEST_START("addargs reallocation");
TEST_START("freeargs");
TEST_START("freeargs on NULL");
TEST_START("freeargs on empty");
TEST_START("tohex simple");
TEST_START("chop carriage return");
TEST_START("tohex with null");
TEST_START("tohex empty");
TEST_START("lowercase mixed");
TEST_START("lowercase empty");
TEST_START("path_absolute absolute");
TEST_START("path_absolute relative");
TEST_START("path_absolute empty");
TEST_START("stringlist_append initial");
TEST_START("chop CRLF");
TEST_START("stringlist_append second");
TEST_START("stringlist_append third");
TEST_START("stringlist_free");
TEST_START("stringlist_free NULL");
TEST_START("skip_space leading spaces");
TEST_START("skip_space leading tabs");
TEST_START("skip_space leading mixed whitespace");
TEST_START("skip_space no leading whitespace");
TEST_START("chop newline in middle");
TEST_START("skip_space empty string");
TEST_START("skip_space only whitespace");
TEST_START("chop no newline");
TEST_START("chop empty string");
TEST_START("chop only newline");
TEST_START("chop only CR");
TEST_START("chop only CRLF");
TEST_START("rtrim trailing space");
TEST_START("rtrim trailing tab");
TEST_START("misc_parse_user_host_path");
TEST_START("misc_parse_user_ipv4_path");
TEST_START("misc_parse_user_[ipv4]_path");
TEST_START("misc_parse_user_[ipv4]_nopath");
TEST_START("misc_parse_user_ipv6_path");
TEST_START("misc_parse_uri");
TEST_START("ptimeout_init");
TEST_START("ptimeout_deadline_sec");
TEST_START("ptimeout_deadline_ms");
TEST_START("ptimeout zero");
TEST_START("ptimeout_deadline_monotime");
TEST_START("ptimeout_deadline_monotime past");
TEST_START("multi too many equals");
TEST_START("multi equals strdelimw");
TEST_START("quoted");
TEST_START("quoted multi");
TEST_START("quoted multi reverse");
TEST_START("quoted multi middle");
TEST_START("badquote");
TEST_START("oops quote");
TEST_START("empty");
TEST_START("whitespace");
TEST_START("trivial");
TEST_START("trivial whitespace");
TEST_START("multi");
TEST_START("multi whitespace");
TEST_START("multi equals");
TEST_START("xextendf NULL string");
TEST_START("xextendf empty string");
TEST_START("xextendf append to string");
TEST_START("xextendf append with NULL separator");
TEST_START("xextendf append with empty separator");
TEST_START("xextendf with format string");
TEST_START("xextendf multiple appends");
TEST_START("server options round trip preserves nullable state");
TEST_START("server options reject trailing data");
TEST_START("server options reject unsupported version");
TEST_START("server options reject bad port count");
TEST_START("server options round trip signed limits");
TEST_START("server options deserialise fuzz");
TEST_START("consume on filled buffer");
TEST_START("consume_end on filled buffer");
TEST_START("fill limited buffer");
TEST_START("consume and force compaction");
TEST_START("resize full buffer");
TEST_START("alloc chunking");
TEST_START("reset buffer");
TEST_START("sshbuf_consume_upto_child");
TEST_START("allocate sshbuf");
TEST_START("max size on fresh buffer");
TEST_START("available on fresh buffer");
TEST_START("len = 0 on empty buffer");
TEST_START("set valid max size");
TEST_START("available on limited buffer");
TEST_START("free");
TEST_START("consume on empty buffer");
TEST_START("consume_end on empty buffer");
TEST_START("reserve space");
TEST_START("sshbuf_len on filled buffer");
TEST_START("sshbuf_ptr on filled buffer");
TEST_START("sshbuf_from");
TEST_START("sshbuf_from data");
TEST_START("sshbuf_fromb ");
TEST_START("sshbuf_froms");
TEST_START("fuzz alloc/dealloc");
TEST_START("sshbuf_put truncated");
TEST_START("sshbuf_get_u64");
TEST_START("sshbuf_get_u64 truncated");
TEST_START("sshbuf_get_u32");
TEST_START("sshbuf_get_u32 truncated");
TEST_START("sshbuf_get_u16");
TEST_START("sshbuf_get_u16 truncated");
TEST_START("sshbuf_get_u8");
TEST_START("sshbuf_get_u8 truncated");
TEST_START("sshbuf_put_u64");
TEST_START("sshbuf_put_u64 exact");
TEST_START("sshbuf_put_u64 limited");
TEST_START("sshbuf_put_u32");
TEST_START("sshbuf_put_u32 exact");
TEST_START("sshbuf_put_u32 limited");
TEST_START("sshbuf_put_u16");
TEST_START("sshbuf_put_u16");
TEST_START("sshbuf_put_u16 limited");
TEST_START("sshbuf_get_string");
TEST_START("sshbuf_get_string exact");
TEST_START("sshbuf_get_string truncated");
TEST_START("sshbuf_get_string giant");
TEST_START("sshbuf_get_cstring giant");
TEST_START("sshbuf_get_cstring embedded \\0");
TEST_START("sshbuf_get_cstring trailing \\0");
TEST_START("sshbuf_put_string");
TEST_START("sshbuf_put_string limited");
TEST_START("sshbuf_put_string giant");
TEST_START("sshbuf_putf");
TEST_START("sshbuf_putb");
TEST_START("PEEK_U64");
TEST_START("sshbuf_put_bignum2_bytes empty buf");
TEST_START("sshbuf_put_bignum2_bytes all zeroes");
TEST_START("sshbuf_put_bignum2_bytes simple");
TEST_START("sshbuf_put_bignum2_bytes leading zero");
TEST_START("PEEK_U32");
TEST_START("sshbuf_put_bignum2_bytes neg");
TEST_START("sshbuf_put_bignum2_bytes neg and leading zero");
TEST_START("sshbuf_peek_u64");
TEST_START("sshbuf_peek_u32");
TEST_START("PEEK_U16");
TEST_START("sshbuf_peek_u16");
TEST_START("sshbuf_peek_u8");
TEST_START("POKE_U64");
TEST_START("sshbuf_poke_u64");
TEST_START("sshbuf_poke_u32");
TEST_START("POKE_U32");
TEST_START("sshbuf_poke_u16");
TEST_START("sshbuf_poke_u8");
TEST_START("POKE_U16");
TEST_START("sshbuf_poke");
TEST_START("sshbuf_get_nulterminated_string");
TEST_START("sshbuf_put");
TEST_START("sshbuf_get_nulterminated_string un-terminated string");
TEST_START("sshbuf_get_nulterminated_string subsequent strings");
TEST_START("sshbuf_get_nulterminated_string empty buffer");
TEST_START("sshbuf_get_nulterminated_string: single nul byte");
TEST_START("sshbuf_get_nulterminated_string starts with nul");
TEST_START("sshbuf_get");
TEST_START("sshbuf_get truncated");
TEST_START("sshbuf_put_bignum2 bn2 limited");
TEST_START("sshbuf_get_bignum2");
TEST_START("sshbuf_get_bignum2 truncated");
TEST_START("sshbuf_get_bignum2 giant");
TEST_START("sshbuf_get_bignum2 bn2");
TEST_START("sshbuf_get_bignum2 bn2 truncated");
TEST_START("sshbuf_get_bignum2 bn2 negative");
TEST_START("sshbuf_put_ec");
TEST_START("sshbuf_get_ec");
TEST_START("sshbuf_put_bignum2");
TEST_START("sshbuf_put_bignum2 limited");
TEST_START("sshbuf_put_bignum2 bn2");
TEST_START("fuzz blob parsing");
TEST_START("sshbuf_dtob64_string len 8191");
TEST_START("sshbuf_b64tod len 1");
TEST_START("sshbuf_b64tod len 2");
TEST_START("sshbuf_b64tod len 4");
TEST_START("sshbuf_dup_string");
TEST_START("sshbuf_cmp");
TEST_START("sshbuf_find");
TEST_START("sshbuf_equals identical");
TEST_START("sshbuf_equals different content");
TEST_START("sshbuf_equals different length");
TEST_START("sshbuf_dump");
TEST_START("sshbuf_equals empty buffers");
TEST_START("sshbuf_equals one empty buffer");
TEST_START("sshbuf_equals buffer to self");
TEST_START("sshbuf_dtourlb64 empty");
TEST_START("sshbuf_dtourlb64 no special chars");
TEST_START("sshbuf_dtourlb64 with '+' char");
TEST_START("sshbuf_dtourlb64 with '/' char");
TEST_START("sshbuf_dtourlb64 with padding removed");
TEST_START("sshbuf_dtob16");
TEST_START("sshbuf_dtob64_string len 1");
TEST_START("sshbuf_dtob64_string len 2");
TEST_START("sshbuf_dtob64_string len 3");
TEST_START("load RSA cert with SHA1 signature");
TEST_START("load RSA cert with SHA512 signature");
TEST_START("load RSA cert");
TEST_START("RSA key hex fingerprint");
TEST_START("RSA cert hex fingerprint");
TEST_START("RSA key bubblebabble fingerprint");
TEST_START("parse ECDSA from private");
TEST_START("parse ECDSA from private w/ passphrase");
TEST_START("parse ECDSA from new-format");
TEST_START("parse ECDSA from new-format w/ passphrase");
TEST_START("load ECDSA from public");
TEST_START("load ECDSA cert");
TEST_START("ECDSA key hex fingerprint");
TEST_START("ECDSA cert hex fingerprint");
TEST_START("ECDSA key bubblebabble fingerprint");
TEST_START("parse Ed25519 from private");
TEST_START("parse Ed25519 from private w/ passphrase");
TEST_START("load Ed25519 from public");
TEST_START("load Ed25519 cert");
TEST_START("Ed25519 key hex fingerprint");
TEST_START("Ed25519 cert hex fingerprint");
TEST_START("Ed25519 key bubblebabble fingerprint");
TEST_START("parse MLDSA44-ED25519 from private");
TEST_START("parse MLDSA44-ED25519 from private w/ passphrase");
TEST_START("load MLDSA44-ED25519 from public");
TEST_START("load MLDSA44-ED25519 cert");
TEST_START("MLDSA44-ED25519 key hex fingerprint");
TEST_START("MLDSA44-ED25519 cert hex fingerprint");
TEST_START("MLDSA44-ED25519 key bubblebabble fingerprint");
TEST_START("parse ECDSA-SK from private");
TEST_START("parse ECDSA-SK from private w/ passphrase");
TEST_START("load ECDSA-SK from public");
TEST_START("load ECDSA-SK cert");
TEST_START("ECDSA-SK key hex fingerprint");
TEST_START("load passphrase");
TEST_START("ECDSA-SK cert hex fingerprint");
TEST_START("ECDSA-SK key bubblebabble fingerprint");
TEST_START("parse Ed25519-SK from private");
TEST_START("parse Ed25519-SK from private w/ passphrase");
TEST_START("load Ed25519-SK from public");
TEST_START("parse RSA from private");
TEST_START("load Ed25519-SK cert");
TEST_START("Ed25519-SK key hex fingerprint");
TEST_START("Ed25519-SK cert hex fingerprint");
TEST_START("Ed25519-SK key bubblebabble fingerprint");
TEST_START("parse RSA from private w/ passphrase");
TEST_START("parse RSA from new-format");
TEST_START("parse RSA from new-format w/ passphrase");
TEST_START("load RSA from public");
TEST_START("fuzz RSA private");
TEST_START("fuzz RSA new-format private");
TEST_START("fuzz ECDSA private");
TEST_START("fuzz ECDSA new-format private");
TEST_START("fuzz Ed25519 private");
TEST_START("fuzz MLDSA44-ED25519 private");
TEST_START("fuzz RSA public");
TEST_START("fuzz RSA cert");
TEST_START("fuzz ECDSA public");
TEST_START("fuzz ECDSA cert");
TEST_START("fuzz Ed25519 public");
TEST_START("fuzz Ed25519 cert");
TEST_START("fuzz MLDSA44-ED25519 public");
TEST_START("fuzz MLDSA44-ED25519 cert");
TEST_START("fuzz RSA sig");
TEST_START("fuzz RSA SHA256 sig");
TEST_START("fuzz RSA SHA512 sig");
TEST_START("fuzz ECDSA sig");
TEST_START("fuzz Ed25519 sig");
TEST_START("fuzz MLDSA44-ED25519 sig");
TEST_START(testname);
TEST_START(testname);
TEST_START("new invalid");
TEST_START("new/free KEY_UNSPEC");
TEST_START("new/free KEY_RSA");
TEST_START("new/free KEY_ECDSA");
TEST_START("new/free KEY_ED25519");
TEST_START("new/free KEY_MLDSA44_ED25519");
TEST_START("generate KEY_RSA too small modulus");
TEST_START("generate KEY_RSA too large modulus");
TEST_START("generate KEY_ECDSA wrong bits");
TEST_START("generate KEY_RSA");
TEST_START("generate KEY_ECDSA");
TEST_START("generate KEY_ED25519");
TEST_START("generate KEY_MLDSA44_ED25519");
TEST_START("demote KEY_RSA");
TEST_START("equal KEY_RSA/demoted KEY_RSA");
TEST_START("demote KEY_ECDSA");
TEST_START("equal KEY_ECDSA/demoted KEY_ECDSA");
TEST_START("demote KEY_ED25519");
TEST_START("equal KEY_ED25519/demoted KEY_ED25519");
TEST_START("demote KEY_MLDSA44_ED25519");
TEST_START("equal KEY_MLDSA44_ED25519/demoted KEY_MLDSA44_ED25519");
TEST_START("equal mismatched key types");
TEST_START("equal different keys");
TEST_START("certify key");
TEST_START("certify key MLDSA44-ED25519");
TEST_START("sign and verify RSA");
TEST_START("sign and verify RSA-SHA256");
TEST_START("sign and verify RSA-SHA512");
TEST_START("sign and verify ECDSA");
TEST_START("sign and verify ED25519");
TEST_START("sign and verify MLDSA44-ED25519");
TEST_START("nested certificate");
TEST_START("generate KEY_RSA");
TEST_START("generate KEY_RSA");
TEST_START("generate KEY_ECDSA");
TEST_START("generate KEY_ECDSA");
TEST_START("generate KEY_ECDSA");
TEST_START("generate KEY_ED25519");
TEST_START("generate KEY_MLDSA44_ED25519");
TEST_START("check ED25519 signature");
TEST_START("check MLDSA44-ED25519 signature");
TEST_START("check ECDSA-SK signature");
TEST_START("check ED25519-SK signature");
TEST_START("check ECDSA-SK webauthn signature");
TEST_START("load data");
TEST_START("check RSA signature");
TEST_START("check ECDSA signature");
TEST_START("utf8_badarg");
TEST_START(buf);
TEST_START("utf8_setlocale");
TEST_START("C_setlocale");