On 25.02.2016 07:25, Michal Privoznik wrote:
On 24.02.2016 21:36, Florian Hubold wrote:
> Hi,
>
> one of the seems to fail on our build system, vircgrouptest fails with
> Unexpected: nodeGetCPUCount() yields: -1
>
> The test runs fine locally.
> Here are the contents from testsuite.log with VIR_TEST_DEBUG=1 enabled.
>
>
> See tests/test-suite.log
> Please report to libvir-list(a)redhat.com
> ============================================================================
> [...]
> + cat test-suite.log
> ===========================================
> libvirt 1.2.9.3: tests/test-suite.log
> ===========================================
>
> # TOTAL: 126
> # PASS: 123
> # SKIP: 2
> # XFAIL: 0
> # FAIL: 1
> # XPASS: 0
> # ERROR: 0
>
> .. contents:: :depth: 2
>
> FAIL: vircgrouptest
> ===================
>
> TEST: vircgrouptest
> 1) New cgroup for self ... OK
> 2) New cgroup for partition ...
> libvirt: Cgroup error : At least one cgroup controller is required: No such
> device or address
> OK
> 3) New cgroup for partition nested ...
> libvirt: Cgroup error : Failed to create controller cpu for group: No such file
> or directory
> OK
> 4) New cgroup for partition nested deeply ...
> libvirt: Cgroup error : Failed to create controller cpu for group: No such file
> or directory
> OK
> 5) New cgroup for domain partition ... OK
> 6) New cgroup for domain partition escaped ... OK
> 7) Cgroup available ... OK
> 8) virCgroupGetBlkioIoServiced works ... OK
> 9) virCgroupGetBlkioIoDeviceServiced works ... OK
> 10) virCgroupGetMemoryUsage works ... OK
> 11) virCgroupGetPercpuStats works ...
> Unexpected: nodeGetCPUCount() yields: -1
> libvirt: error : this function is not supported by the connection driver: host
> cpu counting not supported on this node
Interesting. This error is produced becasue there's no
/sys/devices/system/cpu/cpu0 directory on your system. Therefore:
1) it's our bug that in testsuite we access real data from host's sysfs.
We need a bit more mocking.
2) it's interesting that you don't have cpu0. Can you please share dir
listing of /sys/devices/system/cpu?
This should be now fixed in:
commit 50129dcc9cb1caa312606c86b62431c643b8f39b
Author: Michal Privoznik <mprivozn(a)redhat.com>
AuthorDate: Thu Feb 25 08:44:46 2016 +0100
Commit: Michal Privoznik <mprivozn(a)redhat.com>
CommitDate: Thu Feb 25 11:14:29 2016 +0100
vircgroupmock: Mock access("/sys/devices/system/cpu/present")
There's been a report on the upstream list [1] describing we
access /sys/devices/system/cpu/present directly on the host from
within our test suite. This may end up in unpredictable results
as no all linux systems are required to have that file. Mock
access to the file.
libvirt.git/tests $ ../run strace vircgrouptest
...
access("/sys/devices/system/cpu/present", F_OK) = 0
...
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
Michal