Merging upstream version 3.5.5 (Closes: #1098233).
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
c86ae7dcba
commit
6af28b7e8e
144 changed files with 43534 additions and 11497 deletions
80
tests/ln2_test.h
Normal file
80
tests/ln2_test.h
Normal file
|
@ -0,0 +1,80 @@
|
|||
/**
|
||||
* @file ln2_test.h
|
||||
* @author Roman Janota <janota@cesnet.cz>
|
||||
* @brief base header for libnetconf2 testing
|
||||
*
|
||||
* @copyright
|
||||
* Copyright (c) 2024 CESNET, z.s.p.o.
|
||||
*
|
||||
* This source code is licensed under BSD 3-Clause License (the "License").
|
||||
* You may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://opensource.org/licenses/BSD-3-Clause
|
||||
*/
|
||||
|
||||
#ifndef _LN2_TEST_H_
|
||||
#define _LN2_TEST_H_
|
||||
|
||||
#include <pthread.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "tests/config.h"
|
||||
|
||||
#define NC_ACCEPT_TIMEOUT 2000
|
||||
#define NC_PS_POLL_TIMEOUT 2000
|
||||
|
||||
#define SETUP_FAIL_LOG \
|
||||
fprintf(stderr, "Setup fail in %s:%d.\n", __FILE__, __LINE__)
|
||||
|
||||
/**
|
||||
* @brief Test context used for sharing data between the test and the server/client threads.
|
||||
*/
|
||||
struct ln2_test_ctx {
|
||||
pthread_barrier_t barrier; /**< Barrier for synchronizing the client and the server. */
|
||||
struct ly_ctx *ctx; /**< libyang context. */
|
||||
void *test_data; /**< Arbitrary test data. */
|
||||
void (*free_test_data)(void *); /**< Callback for freeing the test data. */
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Try to obtain ports from the TEST_PORT_X environment variables.
|
||||
*
|
||||
* @param[in] port_count Number of ports needed by the test.
|
||||
* @param[in] ... @p port_count number of (int *, const char **) pairs, which will be filled with the port numbers.
|
||||
* @return 0 on success, 1 on error.
|
||||
*/
|
||||
int ln2_glob_test_get_ports(int port_count, ...);
|
||||
|
||||
/**
|
||||
* @brief Default server thread for the tests.
|
||||
*
|
||||
* @param[in] arg Test context.
|
||||
* @return NULL.
|
||||
*/
|
||||
void * ln2_glob_test_server_thread(void *arg);
|
||||
|
||||
/**
|
||||
* @brief Default setup of the test context (init server, client, libyang context and a barrier).
|
||||
*
|
||||
* @param[out] test_ctx Test context.
|
||||
* @return 0 on success, non-zero on error.
|
||||
*/
|
||||
int ln2_glob_test_setup(struct ln2_test_ctx **test_ctx);
|
||||
|
||||
/**
|
||||
* @brief Default teardown of the test context (destroy server, client, test data, libyang context and a barrier).
|
||||
*
|
||||
* @param[in] state Test context.
|
||||
* @return 0.
|
||||
*/
|
||||
int ln2_glob_test_teardown(void **state);
|
||||
|
||||
/**
|
||||
* @brief Default callback for freeing test data.
|
||||
*
|
||||
* @param[in] test_data Test data.
|
||||
*/
|
||||
void ln2_glob_test_free_test_data(void *test_data);
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue