test: net: lib: add prometheus library tests
Tests for prometheus library support. It contains integration and unit test each metric types. Signed-off-by: Mustafa Abdullah Kus <mustafa.kus@sparsetechnology.com>
This commit is contained in:
parent
316e823178
commit
abea54e574
24 changed files with 506 additions and 0 deletions
9
tests/net/lib/prometheus/collector/CMakeLists.txt
Normal file
9
tests/net/lib/prometheus/collector/CMakeLists.txt
Normal file
|
@ -0,0 +1,9 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
cmake_minimum_required(VERSION 3.20.0)
|
||||
|
||||
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
||||
|
||||
project(test_prometheus_collector)
|
||||
|
||||
target_sources(app PRIVATE src/main.c)
|
12
tests/net/lib/prometheus/collector/prj.conf
Normal file
12
tests/net/lib/prometheus/collector/prj.conf
Normal file
|
@ -0,0 +1,12 @@
|
|||
CONFIG_LOG=y
|
||||
CONFIG_NET_LOG=y
|
||||
CONFIG_ZTEST=y
|
||||
CONFIG_ZTEST_STACK_SIZE=1024
|
||||
CONFIG_PROMETHEUS=y
|
||||
CONFIG_POSIX_API=y
|
||||
CONFIG_NETWORKING=y
|
||||
CONFIG_NET_SOCKETS=y
|
||||
CONFIG_HTTP_SERVER=y
|
||||
CONFIG_NET_TEST=y
|
||||
CONFIG_ENTROPY_GENERATOR=y
|
||||
CONFIG_TEST_RANDOM_GENERATOR=y
|
56
tests/net/lib/prometheus/collector/src/main.c
Normal file
56
tests/net/lib/prometheus/collector/src/main.c
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2024 Mustafa Abdullah Kus, Sparse Technology
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <zephyr/ztest.h>
|
||||
|
||||
#include <zephyr/net/prometheus/counter.h>
|
||||
#include <zephyr/net/prometheus/collector.h>
|
||||
|
||||
struct prometheus_metric test_counter_metric = {
|
||||
.type = PROMETHEUS_COUNTER,
|
||||
.name = "test_counter",
|
||||
.description = "Test counter",
|
||||
.num_labels = 1,
|
||||
.labels = {{
|
||||
.key = "test",
|
||||
.value = "counter",
|
||||
}},
|
||||
};
|
||||
|
||||
PROMETHEUS_COUNTER_DEFINE(test_counter_m, &test_counter_metric);
|
||||
|
||||
PROMETHEUS_COLLECTOR_DEFINE(test_custom_collector);
|
||||
|
||||
/**
|
||||
* @brief Test prometheus_counter_inc
|
||||
*
|
||||
* @details The test shall increment the counter value by 1 and check if the
|
||||
* value is incremented correctly.
|
||||
*
|
||||
* @details The test shall register the counter to the collector and check if the
|
||||
* counter is found in the collector.
|
||||
*/
|
||||
ZTEST(test_collector, test_prometheus_collector_register)
|
||||
{
|
||||
int ret;
|
||||
struct prometheus_counter *counter;
|
||||
|
||||
prometheus_collector_register_metric(&test_custom_collector, test_counter_m.base);
|
||||
|
||||
counter = (struct prometheus_counter *)prometheus_collector_get_metric(
|
||||
&test_custom_collector, "test_counter");
|
||||
|
||||
zassert_equal(counter, &test_counter_m, "Counter not found in collector");
|
||||
|
||||
zassert_equal(test_counter_m.value, 0, "Counter value is not 0");
|
||||
|
||||
ret = prometheus_counter_inc(counter);
|
||||
zassert_ok(ret, "Error incrementing counter");
|
||||
|
||||
zassert_equal(counter->value, 1, "Counter value is not 1");
|
||||
}
|
||||
|
||||
ZTEST_SUITE(test_collector, NULL, NULL, NULL, NULL, NULL);
|
11
tests/net/lib/prometheus/collector/testcase.yaml
Normal file
11
tests/net/lib/prometheus/collector/testcase.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
tests:
|
||||
# section.subsection
|
||||
prometheus.collector:
|
||||
depends_on: netif
|
||||
integration_platforms:
|
||||
- native_sim
|
||||
- qemu_x86
|
||||
platform_exclude:
|
||||
- native_posix
|
||||
- native_posix/native/64
|
||||
tags: prometheus
|
9
tests/net/lib/prometheus/counter/CMakeLists.txt
Normal file
9
tests/net/lib/prometheus/counter/CMakeLists.txt
Normal file
|
@ -0,0 +1,9 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
cmake_minimum_required(VERSION 3.20.0)
|
||||
|
||||
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
||||
|
||||
project(test_prometheus_counter)
|
||||
|
||||
target_sources(app PRIVATE src/main.c)
|
11
tests/net/lib/prometheus/counter/prj.conf
Normal file
11
tests/net/lib/prometheus/counter/prj.conf
Normal file
|
@ -0,0 +1,11 @@
|
|||
CONFIG_LOG=y
|
||||
CONFIG_ZTEST=y
|
||||
CONFIG_TEST_RANDOM_GENERATOR=y
|
||||
CONFIG_ZTEST_STACK_SIZE=1024
|
||||
CONFIG_PROMETHEUS=y
|
||||
CONFIG_POSIX_API=y
|
||||
CONFIG_NETWORKING=y
|
||||
CONFIG_NET_SOCKETS=y
|
||||
CONFIG_NET_LOG=y
|
||||
CONFIG_HTTP_SERVER=y
|
||||
CONFIG_NET_TEST=y
|
46
tests/net/lib/prometheus/counter/src/main.c
Normal file
46
tests/net/lib/prometheus/counter/src/main.c
Normal file
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
* Copyright (c) 2024 Mustafa Abdullah Kus, Sparse Technology
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <zephyr/ztest.h>
|
||||
|
||||
#include <zephyr/net/prometheus/counter.h>
|
||||
|
||||
struct prometheus_metric test_counter_metric = {
|
||||
.type = PROMETHEUS_COUNTER,
|
||||
.name = "test_counter",
|
||||
.description = "Test counter",
|
||||
.num_labels = 1,
|
||||
.labels = {{
|
||||
.key = "test",
|
||||
.value = "counter",
|
||||
}},
|
||||
};
|
||||
|
||||
PROMETHEUS_COUNTER_DEFINE(test_counter_m, &test_counter_metric);
|
||||
|
||||
/**
|
||||
* @brief Test prometheus_counter_inc
|
||||
* @details The test shall increment the counter value by 1 and check if the
|
||||
* value is incremented correctly.
|
||||
*/
|
||||
ZTEST(test_counter, test_prometheus_counter_inc)
|
||||
{
|
||||
int ret;
|
||||
|
||||
zassert_equal(test_counter_m.value, 0, "Counter value is not 0");
|
||||
|
||||
ret = prometheus_counter_inc(&test_counter_m);
|
||||
zassert_ok(ret, "Error incrementing counter");
|
||||
|
||||
zassert_equal(test_counter_m.value, 1, "Counter value is not 1");
|
||||
|
||||
ret = prometheus_counter_inc(&test_counter_m);
|
||||
zassert_ok(ret, "Error incrementing counter");
|
||||
|
||||
zassert_equal(test_counter_m.value, 2, "Counter value is not 2");
|
||||
}
|
||||
|
||||
ZTEST_SUITE(test_counter, NULL, NULL, NULL, NULL, NULL);
|
11
tests/net/lib/prometheus/counter/testcase.yaml
Normal file
11
tests/net/lib/prometheus/counter/testcase.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
tests:
|
||||
# section.subsection
|
||||
prometheus.counter:
|
||||
depends_on: netif
|
||||
integration_platforms:
|
||||
- native_sim
|
||||
- qemu_x86
|
||||
platform_exclude:
|
||||
- native_posix
|
||||
- native_posix/native/64
|
||||
tags: prometheus
|
9
tests/net/lib/prometheus/formatter/CMakeLists.txt
Normal file
9
tests/net/lib/prometheus/formatter/CMakeLists.txt
Normal file
|
@ -0,0 +1,9 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
cmake_minimum_required(VERSION 3.20.0)
|
||||
|
||||
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
||||
|
||||
project(test_prometheus_formatter)
|
||||
|
||||
target_sources(app PRIVATE src/main.c)
|
12
tests/net/lib/prometheus/formatter/prj.conf
Normal file
12
tests/net/lib/prometheus/formatter/prj.conf
Normal file
|
@ -0,0 +1,12 @@
|
|||
CONFIG_LOG=y
|
||||
CONFIG_NET_LOG=y
|
||||
CONFIG_ZTEST=y
|
||||
CONFIG_ZTEST_STACK_SIZE=1024
|
||||
CONFIG_PROMETHEUS=y
|
||||
CONFIG_POSIX_API=y
|
||||
CONFIG_NETWORKING=y
|
||||
CONFIG_NET_SOCKETS=y
|
||||
CONFIG_HTTP_SERVER=y
|
||||
CONFIG_NET_TEST=y
|
||||
CONFIG_ENTROPY_GENERATOR=y
|
||||
CONFIG_TEST_RANDOM_GENERATOR=y
|
65
tests/net/lib/prometheus/formatter/src/main.c
Normal file
65
tests/net/lib/prometheus/formatter/src/main.c
Normal file
|
@ -0,0 +1,65 @@
|
|||
/*
|
||||
* Copyright (c) 2024 Mustafa Abdullah Kus, Sparse Technology
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <zephyr/ztest.h>
|
||||
|
||||
#include <zephyr/net/prometheus/counter.h>
|
||||
#include <zephyr/net/prometheus/collector.h>
|
||||
#include <zephyr/net/prometheus/formatter.h>
|
||||
|
||||
#define MAX_BUFFER_SIZE 256
|
||||
|
||||
struct prometheus_metric test_counter_metric = {
|
||||
.type = PROMETHEUS_COUNTER,
|
||||
.name = "test_counter",
|
||||
.description = "Test counter",
|
||||
.num_labels = 1,
|
||||
.labels = {{
|
||||
.key = "test",
|
||||
.value = "counter",
|
||||
}},
|
||||
};
|
||||
|
||||
PROMETHEUS_COUNTER_DEFINE(test_counter_m, &test_counter_metric);
|
||||
|
||||
PROMETHEUS_COLLECTOR_DEFINE(test_custom_collector);
|
||||
|
||||
/**
|
||||
* @brief Test Prometheus formatter
|
||||
* @details The test shall increment the counter value by 1 and check if the
|
||||
* value is incremented correctly. It shall then format the metric and compare
|
||||
* it with the expected output.
|
||||
*/
|
||||
ZTEST(test_formatter, test_prometheus_formatter_simple)
|
||||
{
|
||||
int ret;
|
||||
char formatted[MAX_BUFFER_SIZE];
|
||||
struct prometheus_counter *counter;
|
||||
char exposed[] = "# HELP test_counter Test counter\n"
|
||||
"# TYPE test_counter counter\n"
|
||||
"test_counter{test=\"counter\"} 1\n";
|
||||
|
||||
prometheus_collector_register_metric(&test_custom_collector, test_counter_m.base);
|
||||
|
||||
counter = (struct prometheus_counter *)prometheus_collector_get_metric(
|
||||
&test_custom_collector, "test_counter");
|
||||
|
||||
zassert_equal(counter, &test_counter_m, "Counter not found in collector");
|
||||
|
||||
zassert_equal(test_counter_m.value, 0, "Counter value is not 0");
|
||||
|
||||
ret = prometheus_counter_inc(&test_counter_m);
|
||||
zassert_ok(ret, "Error incrementing counter");
|
||||
|
||||
zassert_equal(counter->value, 1, "Counter value is not 1");
|
||||
|
||||
ret = prometheus_format_exposition(&test_custom_collector, formatted, sizeof(formatted));
|
||||
zassert_ok(ret, "Error formatting exposition data");
|
||||
|
||||
zassert_equal(strcmp(formatted, exposed), 0, "Exposition format is not as expected");
|
||||
}
|
||||
|
||||
ZTEST_SUITE(test_formatter, NULL, NULL, NULL, NULL, NULL);
|
11
tests/net/lib/prometheus/formatter/testcase.yaml
Normal file
11
tests/net/lib/prometheus/formatter/testcase.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
tests:
|
||||
# section.subsection
|
||||
prometheus.formatter:
|
||||
depends_on: netif
|
||||
integration_platforms:
|
||||
- native_sim
|
||||
- qemu_x86
|
||||
platform_exclude:
|
||||
- native_posix
|
||||
- native_posix/native/64
|
||||
tags: prometheus
|
9
tests/net/lib/prometheus/gauge/CMakeLists.txt
Normal file
9
tests/net/lib/prometheus/gauge/CMakeLists.txt
Normal file
|
@ -0,0 +1,9 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
cmake_minimum_required(VERSION 3.20.0)
|
||||
|
||||
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
||||
|
||||
project(test_prometheus_gauge)
|
||||
|
||||
target_sources(app PRIVATE src/main.c)
|
11
tests/net/lib/prometheus/gauge/prj.conf
Normal file
11
tests/net/lib/prometheus/gauge/prj.conf
Normal file
|
@ -0,0 +1,11 @@
|
|||
CONFIG_LOG=y
|
||||
CONFIG_ZTEST=y
|
||||
CONFIG_TEST_RANDOM_GENERATOR=y
|
||||
CONFIG_ZTEST_STACK_SIZE=1024
|
||||
CONFIG_PROMETHEUS=y
|
||||
CONFIG_POSIX_API=y
|
||||
CONFIG_NETWORKING=y
|
||||
CONFIG_NET_SOCKETS=y
|
||||
CONFIG_NET_LOG=y
|
||||
CONFIG_HTTP_SERVER=y
|
||||
CONFIG_NET_TEST=y
|
50
tests/net/lib/prometheus/gauge/src/main.c
Normal file
50
tests/net/lib/prometheus/gauge/src/main.c
Normal file
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* Copyright (c) 2024 Mustafa Abdullah Kus, Sparse Technology
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <zephyr/ztest.h>
|
||||
|
||||
#include <zephyr/net/prometheus/gauge.h>
|
||||
|
||||
struct prometheus_metric test_gauge_metric = {
|
||||
.type = PROMETHEUS_GAUGE,
|
||||
.name = "test_gauge",
|
||||
.description = "Test gauge",
|
||||
.num_labels = 1,
|
||||
.labels = {{
|
||||
.key = "test",
|
||||
.value = "gauge",
|
||||
}},
|
||||
};
|
||||
|
||||
PROMETHEUS_GAUGE_DEFINE(test_gauge_m, &test_gauge_metric);
|
||||
|
||||
/**
|
||||
* @brief Test prometheus_gauge_set
|
||||
*
|
||||
* @details The test shall set the gauge value to 1 and check if the
|
||||
* value is set correctly.
|
||||
*
|
||||
* @details The test shall set the gauge value to 2 and check if the
|
||||
* value is set correctly.
|
||||
*/
|
||||
ZTEST(test_gauge, test_gauge_set)
|
||||
{
|
||||
int ret;
|
||||
|
||||
zassert_equal(test_gauge_m.value, 0, "Gauge value is not 0");
|
||||
|
||||
ret = prometheus_gauge_set(&test_gauge_m, 1);
|
||||
zassert_ok(ret, "Error setting gauge");
|
||||
|
||||
zassert_equal(test_gauge_m.value, 1, "Gauge value is not 1");
|
||||
|
||||
ret = prometheus_gauge_set(&test_gauge_m, 2);
|
||||
zassert_ok(ret, "Error setting gauge");
|
||||
|
||||
zassert_equal(test_gauge_m.value, 2, "Gauge value is not 2");
|
||||
}
|
||||
|
||||
ZTEST_SUITE(test_gauge, NULL, NULL, NULL, NULL, NULL);
|
11
tests/net/lib/prometheus/gauge/testcase.yaml
Normal file
11
tests/net/lib/prometheus/gauge/testcase.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
tests:
|
||||
# section.subsection
|
||||
prometheus.gauge:
|
||||
depends_on: netif
|
||||
integration_platforms:
|
||||
- native_sim
|
||||
- qemu_x86
|
||||
platform_exclude:
|
||||
- native_posix
|
||||
- native_posix/native/64
|
||||
tags: prometheus
|
9
tests/net/lib/prometheus/histogram/CMakeLists.txt
Normal file
9
tests/net/lib/prometheus/histogram/CMakeLists.txt
Normal file
|
@ -0,0 +1,9 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
cmake_minimum_required(VERSION 3.20.0)
|
||||
|
||||
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
||||
|
||||
project(test_prometheus_histogram)
|
||||
|
||||
target_sources(app PRIVATE src/main.c)
|
12
tests/net/lib/prometheus/histogram/prj.conf
Normal file
12
tests/net/lib/prometheus/histogram/prj.conf
Normal file
|
@ -0,0 +1,12 @@
|
|||
CONFIG_LOG=y
|
||||
CONFIG_ZTEST=y
|
||||
CONFIG_TEST_RANDOM_GENERATOR=y
|
||||
CONFIG_ZTEST_STACK_SIZE=1024
|
||||
CONFIG_PROMETHEUS=y
|
||||
CONFIG_POSIX_API=y
|
||||
CONFIG_NETWORKING=y
|
||||
CONFIG_NET_SOCKETS=y
|
||||
CONFIG_NET_LOG=y
|
||||
CONFIG_HTTP_SERVER=y
|
||||
CONFIG_NET_TEST=y
|
||||
CONFIG_FPU=y
|
50
tests/net/lib/prometheus/histogram/src/main.c
Normal file
50
tests/net/lib/prometheus/histogram/src/main.c
Normal file
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* Copyright (c) 2024 Mustafa Abdullah Kus, Sparse Technology
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <zephyr/ztest.h>
|
||||
|
||||
#include <zephyr/net/prometheus/histogram.h>
|
||||
|
||||
struct prometheus_metric test_histogram_metric = {
|
||||
.type = PROMETHEUS_HISTOGRAM,
|
||||
.name = "test_histogram",
|
||||
.description = "Test histogram",
|
||||
.num_labels = 1,
|
||||
.labels = {{
|
||||
.key = "test",
|
||||
.value = "histogram",
|
||||
}},
|
||||
};
|
||||
|
||||
PROMETHEUS_HISTOGRAM_DEFINE(test_histogram_m, &test_histogram_metric);
|
||||
|
||||
/**
|
||||
* @brief Test prometheus_histogram_observe
|
||||
*
|
||||
* @details The test shall observe the histogram value by 1 and check if the
|
||||
* value is incremented correctly.
|
||||
*
|
||||
* @details The test shall observe the histogram value by 2 and check if the
|
||||
* value is incremented correctly.
|
||||
*/
|
||||
ZTEST(test_histogram, test_histogram_observe)
|
||||
{
|
||||
int ret;
|
||||
|
||||
zassert_equal(test_histogram_m.sum, 0, "Histogram value is not 0");
|
||||
|
||||
ret = prometheus_histogram_observe(&test_histogram_m, 1);
|
||||
zassert_ok(ret, "Error observing histogram");
|
||||
|
||||
zassert_equal(test_histogram_m.sum, 1.0, "Histogram value is not 1");
|
||||
|
||||
ret = prometheus_histogram_observe(&test_histogram_m, 2);
|
||||
zassert_ok(ret, "Error observing histogram");
|
||||
|
||||
zassert_equal(test_histogram_m.sum, 3.0, "Histogram value is not 2");
|
||||
}
|
||||
|
||||
ZTEST_SUITE(test_histogram, NULL, NULL, NULL, NULL, NULL);
|
11
tests/net/lib/prometheus/histogram/testcase.yaml
Normal file
11
tests/net/lib/prometheus/histogram/testcase.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
tests:
|
||||
# section.subsection
|
||||
prometheus.histogram:
|
||||
depends_on: netif
|
||||
integration_platforms:
|
||||
- native_sim
|
||||
- qemu_x86
|
||||
platform_exclude:
|
||||
- native_posix
|
||||
- native_posix/native/64
|
||||
tags: prometheus
|
9
tests/net/lib/prometheus/summary/CMakeLists.txt
Normal file
9
tests/net/lib/prometheus/summary/CMakeLists.txt
Normal file
|
@ -0,0 +1,9 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
cmake_minimum_required(VERSION 3.20.0)
|
||||
|
||||
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
||||
|
||||
project(test_prometheus_summary)
|
||||
|
||||
target_sources(app PRIVATE src/main.c)
|
11
tests/net/lib/prometheus/summary/prj.conf
Normal file
11
tests/net/lib/prometheus/summary/prj.conf
Normal file
|
@ -0,0 +1,11 @@
|
|||
CONFIG_LOG=y
|
||||
CONFIG_ZTEST=y
|
||||
CONFIG_TEST_RANDOM_GENERATOR=y
|
||||
CONFIG_ZTEST_STACK_SIZE=1024
|
||||
CONFIG_PROMETHEUS=y
|
||||
CONFIG_POSIX_API=y
|
||||
CONFIG_NETWORKING=y
|
||||
CONFIG_NET_SOCKETS=y
|
||||
CONFIG_NET_LOG=y
|
||||
CONFIG_HTTP_SERVER=y
|
||||
CONFIG_NET_TEST=y
|
50
tests/net/lib/prometheus/summary/src/main.c
Normal file
50
tests/net/lib/prometheus/summary/src/main.c
Normal file
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* Copyright (c) 2024 Mustafa Abdullah Kus, Sparse Technology
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <zephyr/ztest.h>
|
||||
|
||||
#include <zephyr/net/prometheus/summary.h>
|
||||
|
||||
struct prometheus_metric test_summary_metric = {
|
||||
.type = PROMETHEUS_SUMMARY,
|
||||
.name = "test_summary",
|
||||
.description = "Test summary",
|
||||
.num_labels = 1,
|
||||
.labels = {{
|
||||
.key = "test",
|
||||
.value = "summary",
|
||||
}},
|
||||
};
|
||||
|
||||
PROMETHEUS_SUMMARY_DEFINE(test_summary_m, &test_summary_metric);
|
||||
|
||||
/**
|
||||
* @brief Test prometheus_summary_observe
|
||||
*
|
||||
* @details The test shall observe the histogram value by 1 and check if the
|
||||
* value is incremented correctly.
|
||||
*
|
||||
* @details The test shall observe the histogram value by 2 and check if the
|
||||
* value is incremented correctly.
|
||||
*/
|
||||
ZTEST(test_summary, test_summary_observe)
|
||||
{
|
||||
int ret;
|
||||
|
||||
zassert_equal(test_summary_m.sum, 0, "Histogram value is not 0");
|
||||
|
||||
ret = prometheus_summary_observe(&test_summary_m, 1);
|
||||
zassert_ok(ret, "Error observing histogram");
|
||||
|
||||
zassert_equal(test_summary_m.sum, 1, "Histogram value is not 1");
|
||||
|
||||
ret = prometheus_summary_observe(&test_summary_m, 2);
|
||||
zassert_ok(ret, "Error observing histogram");
|
||||
|
||||
zassert_equal(test_summary_m.sum, 3, "Histogram value is not 3");
|
||||
}
|
||||
|
||||
ZTEST_SUITE(test_summary, NULL, NULL, NULL, NULL, NULL);
|
11
tests/net/lib/prometheus/summary/testcase.yaml
Normal file
11
tests/net/lib/prometheus/summary/testcase.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
tests:
|
||||
# section.subsection
|
||||
prometheus.summary:
|
||||
depends_on: netif
|
||||
integration_platforms:
|
||||
- native_sim
|
||||
- qemu_x86
|
||||
platform_exclude:
|
||||
- native_posix
|
||||
- native_posix/native/64
|
||||
tags: prometheus
|
Loading…
Add table
Add a link
Reference in a new issue