# This file can be used to specify test cases that should not run when all
# test cases are run by runtests.pl. Just add the plain test case numbers, one
# per line.
# Lines starting with '#' letters are treated as comments.
#
# Uses SRP to "a server not supporting it" but modern stunnel versions
# will silently accept it and remain happy
323
#
594
836
882
938
1209
1211
# fnmatch differences are just too common to make testing them sensible
1307
1316
# test 1510 causes problems on the CI on github
# example: https://travis-ci.org/curl/curl/builds/81633600
1510
1512
# test 1801 causes problems on Mac OS X and github
# https://github.com/curl/curl/issues/380
1801
