<testcase>
<info>
<keywords>
strerror
verbose logs
</keywords>
</info>

#
# Server-side
<reply>
</reply>

# Client-side
<client>
<server>
none
</server>
<tool>
lib%TESTNUMBER
</tool>

<name>
libcurl strerror API call tests
</name>
<command>
nothing
</command>
</client>

#
# Verify data after the test has been "shot"
<verify>
<stdout>
e0: No error
e1: Unsupported protocol
e2: Failed initialization
e3: URL using bad/illegal format or missing URL
e4: A requested feature, protocol or option was not found built-in in this libcurl due to a build-time decision.
e5: Couldn't resolve proxy name
e6: Couldn't resolve host name
e7: Couldn't connect to server
e8: Weird server reply
e9: Access denied to remote resource
e10: FTP: The server failed to connect to data port
e11: FTP: unknown PASS reply
e12: FTP: Accepting server connect has timed out
e13: FTP: unknown PASV reply
e14: FTP: unknown 227 response format
e15: FTP: can't figure out the host in the PASV response
e16: Error in the HTTP2 framing layer
e17: FTP: couldn't set file type
e18: Transferred a partial file
e19: FTP: couldn't retrieve (RETR failed) the specified file
e20: Unknown error
e21: Quote command returned error
e22: HTTP response code said error
e23: Failed writing received data to disk/application
e24: Unknown error
e25: Upload failed (at start/before it took off)
e26: Failed to open/read local data from file/application
e27: Out of memory
e28: Timeout was reached
e29: Unknown error
e30: FTP: command PORT failed
e31: FTP: command REST failed
e32: Unknown error
e33: Requested range was not delivered by the server
e34: Internal problem setting up the POST
e35: SSL connect error
e36: Couldn't resume download
e37: Couldn't read a file:// file
e38: LDAP: cannot bind
e39: LDAP: search failed
e40: Unknown error
e41: A required function in the library was not found
e42: Operation was aborted by an application callback
e43: A libcurl function was given a bad argument
e44: Unknown error
e45: Failed binding local connection end
e46: Unknown error
e47: Number of redirects hit maximum amount
e48: An unknown option was passed in to libcurl
e49: Malformed option provided in a setopt
e50: Unknown error
e51: Unknown error
e52: Server returned nothing (no headers, no data)
e53: SSL crypto engine not found
e54: Can not set SSL crypto engine as default
e55: Failed sending data to the peer
e56: Failure when receiving data from the peer
e57: Unknown error
e58: Problem with the local SSL certificate
e59: Couldn't use specified SSL cipher
e60: SSL peer certificate or SSH remote key was not OK
e61: Unrecognized or bad HTTP Content or Transfer-Encoding
e62: Unknown error
e63: Maximum file size exceeded
e64: Requested SSL level failed
e65: Send failed since rewinding of the data stream failed
e66: Failed to initialise SSL crypto engine
e67: Login denied
e68: TFTP: File Not Found
e69: TFTP: Access Violation
e70: Disk full or allocation exceeded
e71: TFTP: Illegal operation
e72: TFTP: Unknown transfer ID
e73: Remote file already exists
e74: TFTP: No such user
e75: Unknown error
e76: Unknown error
e77: Problem with the SSL CA cert (path? access rights?)
e78: Remote file not found
e79: Error in the SSH layer
e80: Failed to shut down the SSL connection
e81: Socket not ready for send/recv
e82: Failed to load CRL file (path? access rights?, format?)
e83: Issuer check against peer certificate failed
e84: FTP: The server did not accept the PRET command.
e85: RTSP CSeq mismatch or invalid CSeq
e86: RTSP session error
e87: Unable to parse FTP file list
e88: Chunk callback failed
e89: The max connection limit is reached
e90: SSL public key does not match pinned public key
e91: SSL server certificate status verification FAILED
e92: Stream error in the HTTP/2 framing layer
e93: API function called from within callback
e94: An authentication function returned an error
e95: HTTP/3 error
e96: QUIC connection error
e97: proxy handshake error
e98: SSL Client Certificate required
e99: Unrecoverable error in select/poll
e100: A value or data field grew larger than allowed
e101: Unknown error
m-1: Please call curl_multi_perform() soon
m0: No error
m1: Invalid multi handle
m2: Invalid easy handle
m3: Out of memory
m4: Internal error
m5: Invalid socket argument
m6: Unknown option
m7: The easy handle is already added to a multi handle
m8: API function called from within callback
m9: Wakeup is unavailable or failed
m10: A libcurl function was given a bad argument
m11: Operation was aborted by an application callback
m12: Unrecoverable error in select/poll
m13: Unknown error
s0: No error
s1: Unknown share option
s2: Share currently in use
s3: Invalid share handle
s4: Out of memory
s5: Feature not enabled in this library
s6: CURLSHcode unknown
u0: No error
u1: An invalid CURLU pointer was passed as argument
u2: An invalid 'part' argument was passed as argument
u3: Malformed input to a URL function
u4: Port number was not a decimal number between 0 and 65535
u5: Unsupported URL scheme
u6: URL decode error, most likely because of rubbish in the input
u7: A memory function failed
u8: Credentials was passed in the URL when prohibited
u9: An unknown part ID was passed to a URL API function
u10: No scheme part in the URL
u11: No user part in the URL
u12: No password part in the URL
u13: No options part in the URL
u14: No host part in the URL
u15: No port part in the URL
u16: No query part in the URL
u17: No fragment part in the URL
u18: No zoneid part in the URL
u19: Bad file:// URL
u20: Bad fragment
u21: Bad hostname
u22: Bad IPv6 address
u23: Bad login part
u24: Bad password
u25: Bad path
u26: Bad query
u27: Bad scheme
u28: Unsupported number of slashes following scheme
u29: Bad user
u30: libcurl lacks IDN support
u31: A value or data field is larger than allowed
u32: CURLUcode unknown
</stdout>
</verify>

</testcase>
