[PHP tests] Remove non-standard PHP memory leak test (#34257)

This test is not giving us good signals while adding some long term
maintenance cost. The way the test is set up and run was not standard.
There are other sanitizer tests to test for memory leaks.
pull/34266/head
Stanley Cheung 1 year ago committed by GitHub
parent a5e9feeb04
commit 2c574ed771
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 19
      src/php/bin/run_tests.sh
  2. 78
      src/php/tests/MemoryLeakTest/MemoryLeakTest.php

@ -38,22 +38,3 @@ if [[ "$SKIP_PERSISTENT_CHANNEL_TESTS" != "true" ]]; then
$(which php) $extension_dir -d max_execution_time=300 $(which phpunit) -v --debug \ $(which php) $extension_dir -d max_execution_time=300 $(which phpunit) -v --debug \
../tests/unit_tests/PersistentChannelTests ../tests/unit_tests/PersistentChannelTests
fi fi
export ZEND_DONT_UNLOAD_MODULES=1
export USE_ZEND_ALLOC=0
# Detect whether valgrind is executable
if [ -x "$(command -v valgrind)" ]; then
# skip the memory leak test on ARM64
# TODO(jtattermusch): reenable the test once https://github.com/grpc/grpc/issues/29098 is fixed.
if [ "$(uname -m)" != "aarch64" ]; then
$(which valgrind) --error-exitcode=10 --leak-check=yes \
--errors-for-leak-kinds=definite \
-v \
--num-callers=30 \
--suppressions=../tests/MemoryLeakTest/ignore_leaks.supp \
$VALGRIND_UNDEF_VALUE_ERRORS \
$(which php) $extension_dir -d max_execution_time=300 \
../tests/MemoryLeakTest/MemoryLeakTest.php
fi
fi

@ -1,78 +0,0 @@
<?php
/*
*
* Copyright 2015 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
//==============Channel Test====================
function callbackFunc($context)
{
return [];
}
function callbackFunc2($context)
{
return ["k1" => "v1"];
}
function assertConnecting($state)
{
assert(($state == GRPC\CHANNEL_CONNECTING || $state == GRPC\CHANNEL_TRANSIENT_FAILURE) == true);
}
function waitUntilNotIdle($channel) {
for ($i = 0; $i < 10; $i++) {
$now = Grpc\Timeval::now();
$deadline = $now->add(new Grpc\Timeval(10000));
if ($channel->watchConnectivityState(GRPC\CHANNEL_IDLE,
$deadline)) {
return true;
}
}
assert(true == false);
}
// Set up
$channel = new Grpc\Channel('localhost:50101', ['credentials' => Grpc\ChannelCredentials::createInsecure()]);
// Test InsecureCredentials
assert('Grpc\Channel' == get_class($channel));
// Test ConnectivityState
$state = $channel->getConnectivityState();
assert(0 == $state);
$channel->close();
// Test GetTarget
$channel = new Grpc\Channel('localhost:50102', ['credentials' => Grpc\ChannelCredentials::createInsecure()]);
$target = $channel->getTarget();
assert(is_string($target) == true);
$channel->close();
// Test WatchConnectivityState
$channel = new Grpc\Channel('localhost:50103', ['credentials' => Grpc\ChannelCredentials::createInsecure()]);
$now = Grpc\Timeval::now();
$deadline = $now->add(new Grpc\Timeval(100*1000));
$state = $channel->watchConnectivityState(1, $deadline);
assert($state == true);
unset($now);
unset($deadline);
$channel->close();
Loading…
Cancel
Save