curl/tests/libtest
Patrick Monnerat e44ddfd477 mime: clone mime tree upon easy handle duplication.
A mime tree attached to an easy handle using CURLOPT_MIMEPOST is
strongly bound to the handle: there is a pointer to the easy handle in
each item of the mime tree and following the parent pointer list
of mime items ends in a dummy part stored within the handle.

Because of this binding, a mime tree cannot be shared between different
easy handles, thus it needs to be cloned upon easy handle duplication.

There is no way for the caller to get the duplicated mime tree
handle: it is then set to be automatically destroyed upon freeing the
new easy handle.

New test 654 checks proper mime structure duplication/release.

Add a warning note in curl_mime_data_cb() documentation about sharing
user data between duplicated handles.

Closes #2235
2018-01-14 19:43:12 +01:00
..
.gitignore tests: update .gitignore for libtests 2017-12-10 22:35:16 +01:00
CMakeLists.txt libtest/make: generate lib1521.c 2017-06-27 17:27:25 +02:00
Makefile.am tests: add initial gssapi test using stub implementation 2017-09-15 14:09:08 +02:00
Makefile.inc mime: clone mime tree upon easy handle duplication. 2018-01-14 19:43:12 +01:00
chkhostname.c tests/libtest: follow our code style guidelines better 2016-04-03 11:57:34 +02:00
first.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib500.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib501.c CURLOPT_MAXREDIRS: allow -1 as a value 2017-11-01 11:56:19 +01:00
lib502.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib503.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib504.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib505.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib506.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib507.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib508.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib509.c tests: declare TU-local variables static 2017-05-01 12:55:09 +02:00
lib510.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib511.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib512.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
lib513.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib514.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib515.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib516.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib517.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib518.c build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
lib519.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib520.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib521.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib523.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib524.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib525.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib526.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib530.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib533.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib536.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib537.c build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
lib539.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib540.c build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
lib541.c strerror: Preserve Windows error code in some functions 2017-07-11 01:53:23 -04:00
lib542.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib543.c tests: Make sure libtests call curl_global_cleanup() 2017-08-19 21:42:47 +02:00
lib544.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib547.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib549.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib552.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib553.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib554.c mime: keep "text/plain" content type if user-specified. 2017-10-12 19:36:16 +01:00
lib555.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib556.c tests: Fixed torture tests on tests 556 and 650 2017-11-01 14:37:01 +01:00
lib557.c build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
lib558.c code: style updates 2016-04-03 22:38:36 +02:00
lib559.c test559: verify use of minimum CURLOPT_BUFFERSIZE 2017-05-04 15:39:04 +02:00
lib560.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib562.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib564.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib566.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib567.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib568.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib569.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib570.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib571.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib572.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib573.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib574.c libtest/lib574.c: use correct callback proto 2017-05-31 11:56:53 +02:00
lib575.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib576.c code: style updates 2016-04-03 22:38:36 +02:00
lib578.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib579.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib582.c lib582: do not verify host for SFTP 2017-12-01 17:40:14 +01:00
lib583.c lib583: fix compiler warning 2017-05-31 19:05:50 +02:00
lib586.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib589.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib590.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib591.c build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
lib597.c build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
lib598.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib599.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib643.c test643: verify curl_mime_subparts() rejects cyclic additions. 2017-10-08 19:05:59 +01:00
lib650.c tests: Fixed torture tests on tests 556 and 650 2017-11-01 14:37:01 +01:00
lib651.c test651: curl_formadd with huge COPYCONTENTS 2017-10-13 07:55:47 +02:00
lib652.c test652: curl_mime_data + base64 encoder with large contents 2017-10-19 18:37:19 +01:00
lib653.c test653: check reuse of easy handle after mime data change 2017-10-20 14:01:14 +01:00
lib654.c mime: clone mime tree upon easy handle duplication. 2018-01-14 19:43:12 +01:00
lib1500.c checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00
lib1501.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib1502.c build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
lib1506.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib1507.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib1508.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
lib1509.c tests: declare TU-local variables static 2017-05-01 12:55:09 +02:00
lib1510.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib1511.c checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00
lib1512.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib1513.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib1514.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
lib1515.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib1517.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib1520.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib1525.c libtest: fix MinGW-w64 warnings 2017-05-08 19:59:46 +02:00
lib1526.c libtest: fix MinGW-w64 warnings 2017-05-08 19:59:46 +02:00
lib1527.c libtest: fix MinGW-w64 warnings 2017-05-08 19:59:46 +02:00
lib1528.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib1529.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib1530.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib1531.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
lib1532.c easy: Reset all statistical session info in curl_easy_reset 2016-09-20 01:14:01 -04:00
lib1533.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
lib1534.c easy: Initialize info variables on easy init and duphandle 2016-11-05 23:06:28 -04:00
lib1535.c tests: Add some testcases for recent new features. 2016-11-26 17:04:55 +01:00
lib1536.c lib1536: checksrc compliance 2016-11-28 03:06:04 -05:00
lib1537.c test1537: fixed memory leak on OOM 2017-06-25 22:59:55 +02:00
lib1538.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
lib1540.c pause: handle mixed types of data when paused 2017-03-28 13:27:49 +02:00
lib1550.c tests: Make sure libtests call curl_global_cleanup() 2017-08-19 21:42:47 +02:00
lib1551.c tests: Make sure libtests call curl_global_cleanup() 2017-08-19 21:42:47 +02:00
lib1552.c multi_cleanup: call DONE on handles that never got that 2017-10-06 16:48:39 +02:00
lib1553.c pingpong: return error when trying to send without connection 2017-10-07 00:20:31 +02:00
lib1554.c test1554: improve the error handling 2017-12-30 16:52:51 +01:00
lib1900.c code style: use space after semicolon 2017-09-12 09:50:24 +02:00
libauthretry.c tests: fix the authretry tests 2017-03-11 20:21:56 +01:00
libntlmconnect.c build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
mk-lib1521.pl scripts: allow all perl scripts to be run directly 2018-01-07 15:42:11 -05:00
notexists.pl tests 1334 to 1363 revisited. 2012-06-05 20:20:40 +02:00
sethostname.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
sethostname.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
stub_gssapi.c tests: add initial gssapi test using stub implementation 2017-09-15 14:09:08 +02:00
stub_gssapi.h tests: add initial gssapi test using stub implementation 2017-09-15 14:09:08 +02:00
test.h tests: fix -Wcast-qual warnings 2017-05-05 21:29:50 +02:00
test75.pl replaced tabs with spaces 2010-02-16 13:32:45 +00:00
test307.pl replaced tabs with spaces 2010-02-16 13:32:45 +00:00
test610.pl replaced tabs with spaces 2010-02-16 13:32:45 +00:00
test613.pl tests: added --remote-time tests for remaining protocols that support it 2017-04-29 10:16:06 +02:00
test1013.pl test1013.pl: GSS-Negotiate doesn't exist as a feature anymore 2014-07-24 23:46:11 +02:00
test1022.pl Fixed test 1023 when using daily snapshots 2011-04-21 14:47:35 -07:00
testtrace.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
testtrace.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
testutil.c time: fix type conversions and compiler warnings 2017-05-24 22:56:22 +02:00
testutil.h time: fix type conversions and compiler warnings 2017-05-24 22:56:22 +02:00