Skip to content

Commit 7b57965

Browse files
committed
added curl share test
1 parent 5c9d18a commit 7b57965

File tree

1 file changed

+53
-2
lines changed

1 file changed

+53
-2
lines changed

ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt

Lines changed: 53 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,54 @@ do {
5858
curl_multi_exec($cmh,$running);
5959
} while ($running>0);
6060

61-
foreach([$ch1, $ch2] as $ch) {
61+
foreach([$ch1, $ch2] as $key => $ch) {
6262
$result = curl_multi_getcontent($ch);
6363
$info = curl_getinfo($ch);
6464
var_dump(isset($info['conn_id']));
6565
var_dump(is_int($info['conn_id']));
6666
var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $info['conn_id']);
67-
var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === 0);
67+
var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $key);
6868
}
6969

70+
$csh = curl_share_init();
71+
72+
curl_share_setopt($csh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
73+
curl_share_setopt($csh, CURLSHOPT_SHARE, CURL_LOCK_DATA_CONNECT);
74+
curl_share_setopt($csh, CURLSHOPT_SHARE, CURL_LOCK_DATA_DNS);
75+
curl_share_setopt($csh, CURLSHOPT_SHARE, CURL_LOCK_DATA_SSL_SESSION);
76+
77+
78+
$ch1=curl_init();
79+
$ch2=curl_init();
80+
81+
foreach([$ch1, $ch2] as $ch) {
82+
curl_setopt($ch, CURLOPT_URL, "{$host}/get.inc?test=getpost&get_param=Curl%20Handle");
83+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
84+
$info = curl_getinfo($ch);
85+
var_dump(isset($info['conn_id']));
86+
var_dump($info['conn_id'] === -1);
87+
}
88+
89+
90+
curl_setopt($ch1, CURLOPT_SHARE, $csh);
91+
92+
$result = curl_exec($ch1);
93+
94+
$info = curl_getinfo($ch1);
95+
var_dump(isset($info['conn_id']));
96+
var_dump(is_int($info['conn_id']));
97+
var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $info['conn_id']);
98+
var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === 0);
99+
100+
curl_setopt($ch2, CURLOPT_SHARE, $csh);
101+
102+
$result = curl_exec($ch2);
103+
104+
$info = curl_getinfo($ch2);
105+
var_dump(isset($info['conn_id']));
106+
var_dump(is_int($info['conn_id']));
107+
var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $info['conn_id']);
108+
var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === 0);
70109

71110
?>
72111
--EXPECT--
@@ -88,4 +127,16 @@ bool(true)
88127
bool(true)
89128
bool(true)
90129
bool(true)
130+
bool(true)
131+
bool(true)
132+
bool(true)
133+
bool(true)
134+
bool(true)
135+
bool(true)
136+
bool(true)
137+
bool(true)
138+
bool(true)
139+
bool(true)
140+
bool(true)
141+
bool(true)
91142

0 commit comments

Comments
 (0)