A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Sonar still does not like #undef. Use a local variable to hide _xbt_log_cat_init.
[simgrid.git]
/
src
/
xbt
/
cunit.cpp
diff --git
a/src/xbt/cunit.cpp
b/src/xbt/cunit.cpp
index
8008c3e
..
cde26d9
100644
(file)
--- a/
src/xbt/cunit.cpp
+++ b/
src/xbt/cunit.cpp
@@
-9,13
+9,15
@@
/* At some point we should use https://github.com/google/googletest instead */
#include "src/internal_config.h"
/* At some point we should use https://github.com/google/googletest instead */
#include "src/internal_config.h"
-#include <
stdio.h
>
+#include <
cstdio
>
#include <xbt/ex.hpp>
#include "xbt/sysdep.h" /* bvprintf */
#include "xbt/cunit.h"
#include "xbt/dynar.h"
#include <xbt/ex.hpp>
#include "xbt/sysdep.h" /* bvprintf */
#include "xbt/cunit.h"
#include "xbt/dynar.h"
+#define STRLEN 1024
+
/* collection of all suites */
static xbt_dynar_t _xbt_test_suites = nullptr;
/* global statistics */
/* collection of all suites */
static xbt_dynar_t _xbt_test_suites = nullptr;
/* global statistics */
@@
-38,11
+40,12
@@
static int _xbt_test_suite_disabled = 0;
xbt_test_unit_t _xbt_test_current_unit = nullptr;
/* test suite test log */
xbt_test_unit_t _xbt_test_current_unit = nullptr;
/* test suite test log */
-
typedef
struct s_xbt_test_log {
+struct s_xbt_test_log {
char *text;
const char *file;
int line;
char *text;
const char *file;
int line;
-} *xbt_test_log_t;
+};
+typedef s_xbt_test_log* xbt_test_log_t;
static void xbt_test_log_dump(xbt_test_log_t log)
{
static void xbt_test_log_dump(xbt_test_log_t log)
{
@@
-53,7
+56,7
@@
static void xbt_test_log_dump(xbt_test_log_t log)
}
/* test suite test check */
}
/* test suite test check */
-
typedef
struct s_xbt_test_test {
+struct s_xbt_test_test {
char *title;
int failed;
int expected_failure;
char *title;
int failed;
int expected_failure;
@@
-61,7
+64,8
@@
typedef struct s_xbt_test_test {
const char *file;
int line;
xbt_dynar_t logs;
const char *file;
int line;
xbt_dynar_t logs;
-} *xbt_test_test_t;
+};
+typedef s_xbt_test_test* xbt_test_test_t;
static void xbt_test_test_dump(xbt_test_test_t test)
{
static void xbt_test_test_dump(xbt_test_test_t test)
{
@@
-163,7
+167,7
@@
static void xbt_test_log_free(void *log)
/** @brief create test suite */
xbt_test_suite_t xbt_test_suite_new(const char *name, const char *fmt, ...)
{
/** @brief create test suite */
xbt_test_suite_t xbt_test_suite_new(const char *name, const char *fmt, ...)
{
- xbt_test_suite_t suite = xbt_new0(s
truct s
_xbt_test_suite, 1);
+ xbt_test_suite_t suite = xbt_new0(s_xbt_test_suite, 1);
va_list ap;
if (_xbt_test_suites == nullptr)
va_list ap;
if (_xbt_test_suites == nullptr)
@@
-229,7
+233,7
@@
void xbt_test_suite_push(xbt_test_suite_t suite, const char *name, ts_test_cb_t
xbt_assert(func);
xbt_assert(fmt);
xbt_assert(func);
xbt_assert(fmt);
- unit = xbt_new0(s
truct s
_xbt_test_unit, 1);
+ unit = xbt_new0(s_xbt_test_unit, 1);
va_start(ap, fmt);
unit->title = bvprintf(fmt, ap);
va_end(ap);
va_start(ap, fmt);
unit->title = bvprintf(fmt, ap);
va_end(ap);
@@
-250,8
+254,6
@@
static int xbt_test_suite_run(xbt_test_suite_t suite, int verbosity)
xbt_test_test_t test;
xbt_test_log_t log;
xbt_test_test_t test;
xbt_test_log_t log;
- unsigned int it_test;
-
if (suite == nullptr)
return 0;
if (suite == nullptr)
return 0;
@@
-297,6
+299,7
@@
static int xbt_test_suite_run(xbt_test_suite_t suite, int verbosity)
unit->func();
/* iterate through all performed tests to determine status */
unit->func();
/* iterate through all performed tests to determine status */
+ unsigned int it_test;
xbt_dynar_foreach(unit->tests, it_test, test) {
if (test->ignored) {
unit->test_ignore++;
xbt_dynar_foreach(unit->tests, it_test, test) {
if (test->ignored) {
unit->test_ignore++;
@@
-455,32
+458,29
@@
static void apply_selection(char *selection)
/* for the parsing */
char *sel = selection;
int done = 0;
/* for the parsing */
char *sel = selection;
int done = 0;
- char dir[
1024];
/* the directive */
+ char dir[
STRLEN];
/* the directive */
/* iterators */
unsigned int it_suite;
xbt_test_suite_t suite;
xbt_test_unit_t unit;
unsigned int it_unit;
/* iterators */
unsigned int it_suite;
xbt_test_suite_t suite;
xbt_test_unit_t unit;
unsigned int it_unit;
- char suitename[
512
];
- char unitname[
512
];
+ char suitename[
STRLEN
];
+ char unitname[
STRLEN
];
if (not selection || selection[0] == '\0')
return;
if (not selection || selection[0] == '\0')
return;
- /*printf("Test selection: %s\n", selection); */
-
/* First apply the selection */
while (not done) {
int enabling = 1;
char *p = strchr(sel, ',');
if (p) {
/* First apply the selection */
while (not done) {
int enabling = 1;
char *p = strchr(sel, ',');
if (p) {
- strncpy(dir, sel, p - sel);
- dir[p - sel] = '\0';
+ snprintf(dir, STRLEN, "%.*s", (int)(p - sel), sel);
sel = p + 1;
} else {
sel = p + 1;
} else {
- s
trncpy(dir, sel,1024
);
+ s
nprintf(dir, STRLEN, "%s", sel
);
done = 1;
}
done = 1;
}
@@
-495,11
+495,10
@@
static void apply_selection(char *selection)
p = strchr(dir, ':');
if (p) {
p = strchr(dir, ':');
if (p) {
- strncpy(unitname, p + 1,512);
- strncpy(suitename, dir, p - dir);
- suitename[p - dir] = '\0';
+ snprintf(suitename, STRLEN, "%.*s", (int)(p - dir), dir);
+ snprintf(unitname, STRLEN, "%s", p + 1);
} else {
} else {
- s
trncpy(suitename, dir,512
);
+ s
nprintf(suitename, STRLEN, "%s", dir
);
unitname[0] = '\0';
}
unitname[0] = '\0';
}
@@
-649,7
+648,7
@@
void _xbt_test_add(const char *file, int line, const char *fmt, ...)
xbt_assert(unit);
va_list ap;
xbt_assert(unit);
va_list ap;
- xbt_test_test_t test = xbt_new0(s
truct s
_xbt_test_test, 1);
+ xbt_test_test_t test = xbt_new0(s_xbt_test_test, 1);
va_start(ap, fmt);
test->title = bvprintf(fmt, ap);
va_end(ap);
va_start(ap, fmt);
test->title = bvprintf(fmt, ap);
va_end(ap);
@@
-671,7
+670,7
@@
void _xbt_test_fail(const char *file, int line, const char *fmt, ...)
"Test failed even before being declared (broken unit: %s)", unit->title);
va_list ap;
"Test failed even before being declared (broken unit: %s)", unit->title);
va_list ap;
- xbt_test_log_t log = xbt_new(s
truct s
_xbt_test_log, 1);
+ xbt_test_log_t log = xbt_new(s_xbt_test_log, 1);
va_start(ap, fmt);
log->text = bvprintf(fmt, ap);
va_end(ap);
va_start(ap, fmt);
log->text = bvprintf(fmt, ap);
va_end(ap);
@@
-714,7
+713,7
@@
void _xbt_test_log(const char *file, int line, const char *fmt, ...)
"Test logged into even before being declared (broken test unit: %s)", unit->title);
va_list ap;
"Test logged into even before being declared (broken test unit: %s)", unit->title);
va_list ap;
- xbt_test_log_t log = xbt_new(s
truct s
_xbt_test_log, 1);
+ xbt_test_log_t log = xbt_new(s_xbt_test_log, 1);
va_start(ap, fmt);
log->text = bvprintf(fmt, ap);
va_end(ap);
va_start(ap, fmt);
log->text = bvprintf(fmt, ap);
va_end(ap);