From fd9ced6350b8ce41ffe8ee83dd648e15ea602027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Wed, 26 Aug 2020 16:35:21 +0200 Subject: [PATCH] Match any non-whitespace character in filesystem pattern MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- lib/OperatingSystems/DefaultOs.php | 2 +- tests/data/df_tp | 1 + tests/lib/DefaultOsTest.php | 8 ++++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/OperatingSystems/DefaultOs.php b/lib/OperatingSystems/DefaultOs.php index 4ba800e9..297940bd 100644 --- a/lib/OperatingSystems/DefaultOs.php +++ b/lib/OperatingSystems/DefaultOs.php @@ -212,7 +212,7 @@ public function getDiskInfo(): array { } $matches = []; - $pattern = '/^(?[\w\/-]+)\s*(?\w+)\s*(?\d+)\s*(?\d+)\s*(?\d+)\s*(?\d+%)\s*(?[\w\/-]+)$/m'; + $pattern = '/^(?[\S]+)\s*(?\w+)\s*(?\d+)\s*(?\d+)\s*(?\d+)\s*(?\d+%)\s*(?[\w\/-]+)$/m'; $result = preg_match_all($pattern, $disks, $matches); if ($result === 0 || $result === false) { diff --git a/tests/data/df_tp b/tests/data/df_tp index 4eaf3b41..4d9cbb36 100644 --- a/tests/data/df_tp +++ b/tests/data/df_tp @@ -9,3 +9,4 @@ tmpfs tmpfs 4084000 0 4084000 vagrant vboxsf 958123168 614831132 343292036 65% /vagrant home_vagrant_code vboxsf 958123168 614831132 343292036 65% /home/vagrant/code tmpfs tmpfs 816800 0 816800 0% /run/user/1000 +nfs.example.com:/export nfs4 14820 0 1230 0% /nfs diff --git a/tests/lib/DefaultOsTest.php b/tests/lib/DefaultOsTest.php index 5415e3a4..f7b3208f 100644 --- a/tests/lib/DefaultOsTest.php +++ b/tests/lib/DefaultOsTest.php @@ -171,6 +171,14 @@ public function testGetDiskInfo(): void { 'percent' => '65%', 'mount' => '/home/vagrant/code', ], + [ + 'device' => 'nfs.example.com:/export', + 'fs' => 'nfs4', + 'used' => 0, + 'available' => 1259520, + 'percent' => '0%', + 'mount' => '/nfs', + ] ]; $this->assertSame($disks, $this->os->getDiskInfo());