mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
test: make sure that the default naming scheme name maps back to itself
We were testing the that C constant is defined, but we weren't actually testing that the string name maps back to itself. This would catch the issue fixed by the grandparent commit. The test for the default name is moved to the test file to keep the tests together. The define is renamed to not have "_TEST" in the name. The issue here is complicated by the fact that we allow downstreams to inject additional fields, so we don't know the name of the default scheme if it not set with -Ddefault-net-naming-scheme=, so _DEFAULT_NET_NAMING_SCHEME[_TEST] is not defined in all cases, but at least in principle it could be used in other places. If it exists, it is fully valid.
This commit is contained in:
parent
8b01831950
commit
386256e699
@ -767,10 +767,12 @@ conf.set('EXTRA_NET_NAMING_SCHEMES', ' '.join(extra_net_naming_schemes))
|
|||||||
conf.set('EXTRA_NET_NAMING_MAP', ' '.join(extra_net_naming_map))
|
conf.set('EXTRA_NET_NAMING_MAP', ' '.join(extra_net_naming_map))
|
||||||
|
|
||||||
default_net_naming_scheme = get_option('default-net-naming-scheme')
|
default_net_naming_scheme = get_option('default-net-naming-scheme')
|
||||||
conf.set_quoted('DEFAULT_NET_NAMING_SCHEME', default_net_naming_scheme)
|
conf.set_quoted('DEFAULT_NET_NAMING_SCHEME', default_net_naming_scheme,
|
||||||
|
description : 'Default naming scheme as a string')
|
||||||
if default_net_naming_scheme != 'latest'
|
if default_net_naming_scheme != 'latest'
|
||||||
conf.set('_DEFAULT_NET_NAMING_SCHEME_TEST',
|
conf.set('_DEFAULT_NET_NAMING_SCHEME',
|
||||||
'NAMING_' + default_net_naming_scheme.underscorify().to_upper())
|
'NAMING_' + default_net_naming_scheme.underscorify().to_upper(),
|
||||||
|
description : 'Default naming scheme as a constant')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
time_epoch = get_option('time-epoch')
|
time_epoch = get_option('time-epoch')
|
||||||
|
@ -6,13 +6,6 @@
|
|||||||
#include "string-util.h"
|
#include "string-util.h"
|
||||||
#include "string-table.h"
|
#include "string-table.h"
|
||||||
|
|
||||||
#ifdef _DEFAULT_NET_NAMING_SCHEME_TEST
|
|
||||||
/* The primary purpose of this check is to verify that _DEFAULT_NET_NAMING_SCHEME_TEST
|
|
||||||
* is a valid identifier. If an invalid name is given during configuration, this will
|
|
||||||
* fail with a name error. */
|
|
||||||
assert_cc(_DEFAULT_NET_NAMING_SCHEME_TEST >= 0);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const NamingScheme naming_schemes[] = {
|
static const NamingScheme naming_schemes[] = {
|
||||||
{ "v238", NAMING_V238 },
|
{ "v238", NAMING_V238 },
|
||||||
{ "v239", NAMING_V239 },
|
{ "v239", NAMING_V239 },
|
||||||
|
@ -4,10 +4,19 @@
|
|||||||
#include "string-util.h"
|
#include "string-util.h"
|
||||||
#include "tests.h"
|
#include "tests.h"
|
||||||
|
|
||||||
|
#ifdef _DEFAULT_NET_NAMING_SCHEME
|
||||||
|
/* The primary purpose of this check is to verify that _DEFAULT_NET_NAMING_SCHEME_TEST
|
||||||
|
* is a valid identifier. If an invalid name is given during configuration, this will
|
||||||
|
* fail with a name error. */
|
||||||
|
assert_cc(_DEFAULT_NET_NAMING_SCHEME >= 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
TEST(default_net_naming_scheme) {
|
TEST(default_net_naming_scheme) {
|
||||||
const NamingScheme *n;
|
const NamingScheme *n;
|
||||||
assert_se(n = naming_scheme_from_name(DEFAULT_NET_NAMING_SCHEME));
|
assert_se(n = naming_scheme_from_name(DEFAULT_NET_NAMING_SCHEME));
|
||||||
log_info("default → %s", n->name);
|
log_info("default → %s", n->name);
|
||||||
|
|
||||||
|
assert_se(naming_scheme_from_name(n->name) == n);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(naming_scheme_conversions) {
|
TEST(naming_scheme_conversions) {
|
||||||
|
Loading…
Reference in New Issue
Block a user