Browse Source

test-tables: add new entries

One missing string found.

A few things had to be moved around to make it possible to test them.
keep-around/964a6d9fb555cc86528eb1cc1f6d044f85584842
Zbigniew Jędrzejewski-Szmek 9 years ago
parent
commit
86bbe5bfbc
  1. 1
      .gitignore
  2. 21
      Makefile.am
  3. 1
      src/bus-proxyd/bus-policy.c
  4. 19
      src/libsystemd/sd-rtnl/rtnl-types.c
  5. 19
      src/libsystemd/sd-rtnl/rtnl-types.h
  6. 26
      src/network/test-network-tables.c
  7. 6
      src/shared/install.c
  8. 2
      src/shared/install.h
  9. 3
      src/shared/test-tables.h
  10. 23
      src/test/test-tables.c

1
.gitignore

@ -198,6 +198,7 @@
/test-mmap-cache
/test-namespace
/test-network
/test-network-tables
/test-ns
/test-path-util
/test-prioq

21
Makefile.am

@ -1453,16 +1453,22 @@ test_list_LDADD = \
test_tables_SOURCES = \
src/test/test-tables.c \
src/shared/test-tables.h
src/shared/test-tables.h \
src/bus-proxyd/bus-policy.c \
src/bus-proxyd/bus-policy.h \
src/journal/journald-server.c \
src/journal/journald-server.h
test_tables_CFLAGS = \
$(AM_CFLAGS) \
$(SECCOMP_CFLAGS)
$(SECCOMP_CFLAGS) \
-I$(srcdir)/src/bus-proxyd
test_tables_LDADD = \
libsystemd-logs.la \
libsystemd-journal-internal.la \
libsystemd-core.la \
libudev-core.la \
$(RT_LIBS)
test_prioq_SOURCES = \
@ -4784,8 +4790,17 @@ test_network_CFLAGS = \
test_network_LDADD = \
libsystemd-networkd-core.la
test_network_tables_SOURCES = \
src/network/test-network-tables.c \
src/shared/test-tables.h
test_network_tables_LDADD = \
libsystemd-networkd-core.la \
libudev-core.la
tests += \
test-network
test-network \
test-network-tables
nodist_systemunit_DATA += \
units/systemd-networkd.service \

1
src/bus-proxyd/bus-policy.c

@ -724,5 +724,6 @@ static const char* const policy_item_class_table[_POLICY_ITEM_CLASS_MAX] = {
[POLICY_ITEM_OWN_PREFIX] = "own-prefix",
[POLICY_ITEM_USER] = "user",
[POLICY_ITEM_GROUP] = "group",
[POLICY_ITEM_IGNORE] = "ignore",
};
DEFINE_STRING_TABLE_LOOKUP(policy_item_class, PolicyItemClass);

19
src/libsystemd/sd-rtnl/rtnl-types.c

@ -155,25 +155,6 @@ static const NLType rtnl_link_info_data_ipvti_types[IFLA_VTI_MAX + 1] = {
[IFLA_VTI_REMOTE] = { .type = NLA_IN_ADDR },
};
typedef enum NLUnionLinkInfoData {
NL_UNION_LINK_INFO_DATA_BOND,
NL_UNION_LINK_INFO_DATA_BRIDGE,
NL_UNION_LINK_INFO_DATA_VLAN,
NL_UNION_LINK_INFO_DATA_VETH,
NL_UNION_LINK_INFO_DATA_DUMMY,
NL_UNION_LINK_INFO_DATA_MACVLAN,
NL_UNION_LINK_INFO_DATA_VXLAN,
NL_UNION_LINK_INFO_DATA_IPIP_TUNNEL,
NL_UNION_LINK_INFO_DATA_IPGRE_TUNNEL,
NL_UNION_LINK_INFO_DATA_SIT_TUNNEL,
NL_UNION_LINK_INFO_DATA_VTI_TUNNEL,
_NL_UNION_LINK_INFO_DATA_MAX,
_NL_UNION_LINK_INFO_DATA_INVALID = -1
} NLUnionLinkInfoData;
const char *nl_union_link_info_data_to_string(NLUnionLinkInfoData p) _const_;
NLUnionLinkInfoData nl_union_link_info_data_from_string(const char *p) _pure_;
/* these strings must match the .kind entries in the kernel */
static const char* const nl_union_link_info_data_table[_NL_UNION_LINK_INFO_DATA_MAX] = {
[NL_UNION_LINK_INFO_DATA_BOND] = "bond",

19
src/libsystemd/sd-rtnl/rtnl-types.h

@ -63,3 +63,22 @@ int type_system_get_type(const NLTypeSystem *type_system, const NLType **ret, ui
int type_system_get_type_system(const NLTypeSystem *type_system, const NLTypeSystem **ret, uint16_t type);
int type_system_get_type_system_union(const NLTypeSystem *type_system, const NLTypeSystemUnion **ret, uint16_t type);
int type_system_union_get_type_system(const NLTypeSystemUnion *type_system_union, const NLTypeSystem **ret, const char *key);
typedef enum NLUnionLinkInfoData {
NL_UNION_LINK_INFO_DATA_BOND,
NL_UNION_LINK_INFO_DATA_BRIDGE,
NL_UNION_LINK_INFO_DATA_VLAN,
NL_UNION_LINK_INFO_DATA_VETH,
NL_UNION_LINK_INFO_DATA_DUMMY,
NL_UNION_LINK_INFO_DATA_MACVLAN,
NL_UNION_LINK_INFO_DATA_VXLAN,
NL_UNION_LINK_INFO_DATA_IPIP_TUNNEL,
NL_UNION_LINK_INFO_DATA_IPGRE_TUNNEL,
NL_UNION_LINK_INFO_DATA_SIT_TUNNEL,
NL_UNION_LINK_INFO_DATA_VTI_TUNNEL,
_NL_UNION_LINK_INFO_DATA_MAX,
_NL_UNION_LINK_INFO_DATA_INVALID = -1
} NLUnionLinkInfoData;
const char *nl_union_link_info_data_to_string(NLUnionLinkInfoData p) _const_;
NLUnionLinkInfoData nl_union_link_info_data_from_string(const char *p) _pure_;

26
src/network/test-network-tables.c

@ -0,0 +1,26 @@
#include "networkd.h"
#include "networkd-netdev-bond.h"
#include "networkd-netdev-macvlan.h"
#include "dhcp6-internal.h"
#include "dhcp6-protocol.h"
#include "rtnl-internal.h"
#include "ethtool-util.h"
#include "test-tables.h"
int main(int argc, char **argv) {
test_table(bond_mode, NETDEV_BOND_MODE);
/* test_table(link_state, LINK_STATE); -- not a reversible mapping */
test_table(link_operstate, LINK_OPERSTATE);
test_table(dhcp_support, DHCP_SUPPORT);
test_table(netdev_kind, NETDEV_KIND);
test_table(dhcp6_message_status, DHCP6_STATUS);
test_table(duplex, DUP);
test_table(wol, WOL);
test_table(nl_union_link_info_data, NL_UNION_LINK_INFO_DATA);
test_table_sparse(macvlan_mode, NETDEV_MACVLAN_MODE);
test_table_sparse(dhcp6_message_type, DHCP6_MESSAGE);
return EXIT_SUCCESS;
}

6
src/shared/install.c

@ -1877,7 +1877,7 @@ int unit_file_preset(
assert(scope >= 0);
assert(scope < _UNIT_FILE_SCOPE_MAX);
assert(mode < _UNIT_FILE_PRESET_MODE_MAX);
assert(mode < _UNIT_FILE_PRESET_MAX);
r = lookup_paths_init_from_scope(&paths, scope, root_dir);
if (r < 0)
@ -1945,7 +1945,7 @@ int unit_file_preset_all(
assert(scope >= 0);
assert(scope < _UNIT_FILE_SCOPE_MAX);
assert(mode < _UNIT_FILE_PRESET_MODE_MAX);
assert(mode < _UNIT_FILE_PRESET_MAX);
r = lookup_paths_init_from_scope(&paths, scope, root_dir);
if (r < 0)
@ -2182,7 +2182,7 @@ static const char* const unit_file_change_type_table[_UNIT_FILE_CHANGE_TYPE_MAX]
DEFINE_STRING_TABLE_LOOKUP(unit_file_change_type, UnitFileChangeType);
static const char* const unit_file_preset_mode_table[_UNIT_FILE_PRESET_MODE_MAX] = {
static const char* const unit_file_preset_mode_table[_UNIT_FILE_PRESET_MAX] = {
[UNIT_FILE_PRESET_FULL] = "full",
[UNIT_FILE_PRESET_ENABLE_ONLY] = "enable-only",
[UNIT_FILE_PRESET_DISABLE_ONLY] = "disable-only",

2
src/shared/install.h

@ -49,7 +49,7 @@ typedef enum UnitFilePresetMode {
UNIT_FILE_PRESET_FULL,
UNIT_FILE_PRESET_ENABLE_ONLY,
UNIT_FILE_PRESET_DISABLE_ONLY,
_UNIT_FILE_PRESET_MODE_MAX,
_UNIT_FILE_PRESET_MAX,
_UNIT_FILE_PRESET_INVALID = -1
} UnitFilePresetMode;

3
src/shared/test-tables.h

@ -49,3 +49,6 @@ static inline void _test_table(const char *name,
#define test_table(lower, upper) \
_test_table(STRINGIFY(lower), lower##_to_string, lower##_from_string, _##upper##_MAX, false)
#define test_table_sparse(lower, upper) \
_test_table(STRINGIFY(lower), lower##_to_string, lower##_from_string, _##upper##_MAX, true)

23
src/test/test-tables.c

@ -19,6 +19,7 @@
#include "automount.h"
#include "cgroup.h"
#include "compress.h"
#include "condition.h"
#include "device.h"
#include "execute.h"
@ -43,17 +44,26 @@
#include "unit-name.h"
#include "unit.h"
#include "util.h"
#include "architecture.h"
#include "link-config.h"
#include "bus-policy.h"
#include "journald-server.h"
#include "test-tables.h"
int main(int argc, char **argv) {
test_table(architecture, ARCHITECTURE);
test_table(automount_result, AUTOMOUNT_RESULT);
test_table(automount_state, AUTOMOUNT_STATE);
test_table(busname_policy_access, BUSNAME_POLICY_ACCESS);
test_table(busname_result, BUSNAME_RESULT);
test_table(busname_state, BUSNAME_STATE);
test_table(cgroup_device_policy, CGROUP_DEVICE_POLICY);
test_table(condition_type, CONDITION_TYPE);
test_table(device_state, DEVICE_STATE);
test_table(exec_input, EXEC_INPUT);
test_table(exec_output, EXEC_OUTPUT);
test_table(failure_action, SERVICE_FAILURE_ACTION);
test_table(job_mode, JOB_MODE);
test_table(job_result, JOB_RESULT);
test_table(job_state, JOB_STATE);
@ -61,14 +71,21 @@ int main(int argc, char **argv) {
test_table(kill_mode, KILL_MODE);
test_table(kill_who, KILL_WHO);
test_table(log_target, LOG_TARGET);
test_table(mac_policy, MACPOLICY);
test_table(manager_state, MANAGER_STATE);
test_table(mount_exec_command, MOUNT_EXEC_COMMAND);
test_table(mount_result, MOUNT_RESULT);
test_table(mount_state, MOUNT_STATE);
test_table(name_policy, NAMEPOLICY);
test_table(notify_access, NOTIFY_ACCESS);
test_table(output_mode, OUTPUT_MODE);
test_table(path_result, PATH_RESULT);
test_table(path_state, PATH_STATE);
test_table(path_type, PATH_TYPE);
test_table(policy_item_class, POLICY_ITEM_CLASS);
test_table(policy_item_type, POLICY_ITEM_TYPE);
test_table(protect_home, PROTECT_HOME);
test_table(protect_system, PROTECT_SYSTEM);
test_table(scope_result, SCOPE_RESULT);
test_table(scope_state, SCOPE_STATE);
test_table(service_exec_command, SERVICE_EXEC_COMMAND);
@ -82,7 +99,8 @@ int main(int argc, char **argv) {
test_table(socket_exec_command, SOCKET_EXEC_COMMAND);
test_table(socket_result, SOCKET_RESULT);
test_table(socket_state, SOCKET_STATE);
test_table(failure_action, SERVICE_FAILURE_ACTION);
test_table(split_mode, SPLIT);
test_table(storage, STORAGE);
test_table(swap_exec_command, SWAP_EXEC_COMMAND);
test_table(swap_result, SWAP_RESULT);
test_table(swap_state, SWAP_STATE);
@ -94,9 +112,12 @@ int main(int argc, char **argv) {
test_table(unit_active_state, UNIT_ACTIVE_STATE);
test_table(unit_dependency, UNIT_DEPENDENCY);
test_table(unit_file_change_type, UNIT_FILE_CHANGE_TYPE);
test_table(unit_file_preset_mode, UNIT_FILE_PRESET);
test_table(unit_file_state, UNIT_FILE_STATE);
test_table(unit_load_state, UNIT_LOAD_STATE);
test_table(unit_type, UNIT_TYPE);
test_table_sparse(object_compressed, OBJECT_COMPRESSED);
return EXIT_SUCCESS;
}

Loading…
Cancel
Save