mirror of
https://github.com/danog/phpseclib.git
synced 2024-12-13 09:37:37 +01:00
ba46db1758
Various fixes to fopen mode handling in SFTP Stream * bantu/SFTPStreamTest: Explicitly set size to 0 when creating or truncating. mode[0] of 'c' is not supposed to truncate. Need to create the file when it does not exist and mode[0] is not 'r'. Add SFTPStreamTest::testFopenFcloseCreatesFile() Conflicts: tests/Functional/Net/SFTPLargeFileTest.php
44 lines
1.2 KiB
PHP
44 lines
1.2 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @author Andreas Fischer <bantu@phpbb.com>
|
|
* @copyright 2014 Andreas Fischer
|
|
* @license http://www.opensource.org/licenses/mit-license.html MIT License
|
|
*/
|
|
|
|
use phpseclib\Crypt\Base;
|
|
use phpseclib\Net\SFTP;
|
|
|
|
class Functional_Net_SFTPLargeFileTest extends Functional_Net_SFTPTestCase
|
|
{
|
|
static public function setUpBeforeClass()
|
|
{
|
|
if (!extension_loaded('mcrypt') && !extension_loaded('openssl')) {
|
|
self::markTestSkipped('This test depends on mcrypt or openssl for performance.');
|
|
}
|
|
parent::setUpBeforeClass();
|
|
}
|
|
|
|
/**
|
|
* @group github298
|
|
* @group github455
|
|
* @group github457
|
|
*/
|
|
public function testPutSizeLocalFile()
|
|
{
|
|
$tmp_filename = $this->createTempFile(128, 1024 * 1024);
|
|
$filename = 'file-large-from-local.txt';
|
|
|
|
$this->assertTrue(
|
|
$this->sftp->put($filename, $tmp_filename, SFTP::SOURCE_LOCAL_FILE),
|
|
'Failed asserting that local file could be successfully put().'
|
|
);
|
|
|
|
$this->assertSame(
|
|
128 * 1024 * 1024,
|
|
$this->sftp->size($filename),
|
|
'Failed asserting that uploaded local file has the expected length.'
|
|
);
|
|
}
|
|
}
|