RED-phase tests for 4 startup validation functions — all fail at link time because the functions under test do not exist yet: - validate_peer_count: even N>1 returns -EINVAL, odd N returns 0 - validate_cert_files: missing cert/key returns -ENOENT with full path in err_buf output param (asserted via strstr) - validate_vcpus: vcpus<=0 returns -EINVAL, positive returns 0 - validate_startup_config: vcpus key in config returns 0 (not fatal) and writes deprecation text into warn_buf (asserted via strstr)
135 lines
3.2 KiB
Meson
135 lines
3.2 KiB
Meson
controller_src = [
|
|
'cluster.c',
|
|
'config_repl.c',
|
|
'dataex.c',
|
|
'ha.c',
|
|
'job.c',
|
|
'join.c',
|
|
'main.c',
|
|
'misc.c',
|
|
'myapp.c',
|
|
'opget.c',
|
|
'opupd.c',
|
|
'queue.c',
|
|
'reply.c',
|
|
'resources.c',
|
|
'sched.c',
|
|
'task.c',
|
|
'worker.c',
|
|
'apiserver.c',
|
|
'myconf.c',
|
|
'persist.c',
|
|
'repl.c',
|
|
'ctrl_metrics.c',
|
|
]
|
|
|
|
incdir = include_directories('.', '../include', '../lib',
|
|
'include')
|
|
|
|
# cc = meson.get_compiler('c')
|
|
# math_dep = cc.find_library('m', required : false)
|
|
|
|
zlib_dep = dependency('zlib')
|
|
|
|
controller_deps = [
|
|
libxce_dep,
|
|
librtti_dep,
|
|
c_capnproto_dep,
|
|
math_dep,
|
|
tinylog_dep,
|
|
thread_dep,
|
|
zlib_dep,
|
|
]
|
|
|
|
controller = executable('xce_controller',
|
|
controller_src,
|
|
include_directories: incdir,
|
|
dependencies: controller_deps,
|
|
link_args: wrap_link_args,
|
|
install: true)
|
|
|
|
xce_test_src = [ 'testsuite/test.c']
|
|
|
|
readline_dep = dependency('readline')
|
|
ncurses_dep = dependency('ncurses')
|
|
history_dep = dependency('history')
|
|
|
|
xce_test_deps = [
|
|
libxce_dep,
|
|
librtti_dep,
|
|
struct2json_dep,
|
|
readline_dep,
|
|
history_dep,
|
|
ncurses_dep,
|
|
tinylog_dep,
|
|
]
|
|
xce_test = executable('xce_test',
|
|
xce_test_src,
|
|
include_directories: [incdir],
|
|
dependencies: xce_test_deps,
|
|
install: true)
|
|
|
|
# Controller Unity test suite (persist types and future controller unit tests)
|
|
controller_unit_test_src = [
|
|
'testsuite/controller_test.c',
|
|
'testsuite/test_persist_types.c',
|
|
'testsuite/test_persist_wal.c',
|
|
'testsuite/test_persist_schema.c',
|
|
'testsuite/test_persist_checkpoint.c',
|
|
'testsuite/test_persist_recovery.c',
|
|
'testsuite/test_hooks.c',
|
|
'testsuite/test_persist_hooks.c',
|
|
'testsuite/test_gc_retention.c',
|
|
'testsuite/test_cluster_persist.c',
|
|
'testsuite/test_e2e_wal.c',
|
|
'testsuite/test_e2e_checkpoint.c',
|
|
'testsuite/test_e2e_hooks.c',
|
|
'testsuite/test_e2e_gc.c',
|
|
'testsuite/test_e2e_capnp.c',
|
|
'testsuite/test_ha_role.c',
|
|
'testsuite/test_ha_cluster.c',
|
|
'testsuite/test_ha_redirect.c',
|
|
'testsuite/test_p1_integration.c',
|
|
'testsuite/test_repl_unit.c',
|
|
'testsuite/test_repl_apply.c',
|
|
'testsuite/test_persist_repl.c',
|
|
'testsuite/test_repl_catchup.c',
|
|
'testsuite/test_p2_integration.c',
|
|
'testsuite/test_p3_hardening.c',
|
|
'testsuite/test_p3_manual_failover.c',
|
|
'testsuite/test_ctrl_metrics.c',
|
|
'testsuite/test_config_repl.c',
|
|
'testsuite/test_worker_join.c',
|
|
'testsuite/test_ha_startup.c',
|
|
'worker.c',
|
|
'persist.c',
|
|
'ha.c',
|
|
'repl.c',
|
|
'ctrl_metrics.c',
|
|
'config_repl.c',
|
|
]
|
|
|
|
ssl_dep = dependency('openssl')
|
|
|
|
controller_unit_test_deps = [
|
|
libxce_dep,
|
|
librtti_dep,
|
|
unity_dep,
|
|
tinylog_dep,
|
|
thread_dep,
|
|
zlib_dep,
|
|
c_capnproto_dep,
|
|
ssl_dep,
|
|
]
|
|
|
|
controller_unit_test = executable('controller_unit_test',
|
|
controller_unit_test_src,
|
|
include_directories: [incdir],
|
|
dependencies: controller_unit_test_deps,
|
|
c_args: ['-DXCE_TESTING'],
|
|
install: false)
|
|
|
|
test('controller test', controller_unit_test,
|
|
suite: 'controller',
|
|
timeout: 120)
|
|
|