From 98560c80ea18df3629f374caa036221dadcb25f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Julius=20H=C3=A4rtl?= <jus@bitgrid.net>
Date: Tue, 5 Jan 2021 09:12:11 +0100
Subject: [PATCH] Properly handle result when copying with failure and throw in
 tests
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Julius Härtl <jus@bitgrid.net>
---
 lib/private/Files/Storage/Common.php | 4 ++--
 tests/lib/Files/ViewTest.php         | 3 ++-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/private/Files/Storage/Common.php b/lib/private/Files/Storage/Common.php
index bddb1f4a294..aa2aeee403b 100644
--- a/lib/private/Files/Storage/Common.php
+++ b/lib/private/Files/Storage/Common.php
@@ -689,9 +689,9 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage {
 		$result = $this->copyFromStorage($sourceStorage, $sourceInternalPath, $targetInternalPath, true);
 		if ($result) {
 			if ($sourceStorage->is_dir($sourceInternalPath)) {
-				$result &= $sourceStorage->rmdir($sourceInternalPath);
+				$result = $result && $sourceStorage->rmdir($sourceInternalPath);
 			} else {
-				$result &= $sourceStorage->unlink($sourceInternalPath);
+				$result = $result && $sourceStorage->unlink($sourceInternalPath);
 			}
 		}
 		return $result;
diff --git a/tests/lib/Files/ViewTest.php b/tests/lib/Files/ViewTest.php
index 90decd20a99..eed8bca957f 100644
--- a/tests/lib/Files/ViewTest.php
+++ b/tests/lib/Files/ViewTest.php
@@ -17,6 +17,7 @@ use OC\Files\View;
 use OCP\Constants;
 use OCP\Files\Config\IMountProvider;
 use OCP\Files\FileInfo;
+use OCP\Files\GenericFileException;
 use OCP\Files\Storage\IStorage;
 use OCP\Lock\ILockingProvider;
 use OCP\Lock\LockedException;
@@ -1167,7 +1168,7 @@ class ViewTest extends \Test\TestCase {
 			->getMock();
 
 		$storage2->method('writeStream')
-			->willReturn(0);
+			->willThrowException(new GenericFileException("Failed to copy stream"));
 
 		$storage1->mkdir('sub');
 		$storage1->file_put_contents('foo.txt', '0123456789ABCDEFGH');
-- 
GitLab