diff options
author | Markus Armbruster <armbru@redhat.com> | 2020-11-02 10:44:22 +0100 |
---|---|---|
committer | Daniel P. Berrangé <berrange@redhat.com> | 2020-11-03 13:17:25 +0000 |
commit | 8acefc79deaab1c7ee2ab07b540b0e3edf0f9f47 (patch) | |
tree | 1481759a0b868fe0ecef50509c97feee5063eced /tests | |
parent | ef298e3826e574c712d10e38a5f2a3629d6f5e01 (diff) | |
download | qemu-8acefc79deaab1c7ee2ab07b540b0e3edf0f9f47.zip |
sockets: Make abstract UnixSocketAddress depend on CONFIG_LINUX
The abstract socket namespace is a non-portable Linux extension. An
attempt to use it elsewhere should fail with ENOENT (the abstract
address looks like a "" pathname, which does not resolve). We report
this failure like
Failed to connect socket abc: No such file or directory
Tolerable, although ENOTSUP would be better.
However, introspection lies: it has @abstract regardless of host
support. Easy enough to fix: since Linux provides them since 2.2,
'if': 'defined(CONFIG_LINUX)' should do.
The above failure becomes
Parameter 'backend.data.addr.data.abstract' is unexpected
I consider this an improvement.
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test-util-sockets.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/tests/test-util-sockets.c b/tests/test-util-sockets.c index 7ecf95579b..67486055ed 100644 --- a/tests/test-util-sockets.c +++ b/tests/test-util-sockets.c @@ -229,7 +229,7 @@ static void test_socket_fd_pass_num_nocli(void) } #endif -#ifdef __linux__ +#ifdef CONFIG_LINUX #define ABSTRACT_SOCKET_VARIANTS 3 @@ -326,7 +326,8 @@ static void test_socket_unix_abstract(void) g_free(addr.u.q_unix.path); } -#endif + +#endif /* CONFIG_LINUX */ int main(int argc, char **argv) { @@ -368,7 +369,7 @@ int main(int argc, char **argv) #endif } -#ifdef __linux__ +#ifdef CONFIG_LINUX g_test_add_func("/util/socket/unix-abstract", test_socket_unix_abstract); #endif |