From d17909c82b03ad0427a285c66766421751546c42 Mon Sep 17 00:00:00 2001 From: Burt P Date: Sat, 10 Aug 2019 23:11:21 -0500 Subject: Benchmark: fixes, user_note, verifiable test data * fix zlib display order * fix cryptohash MiB/s calculation * revision and params for other benchmarks * allow attaching user note to bench result with -u * don't inlcude the new result value bits if they are empty/invalid in bench_value_to_str(). bench_value_from_str() doesn't need to be modified. * bench_results: clean old result cpu name for x86 * use problem_marker() from dmi_memory to mark old version bench results * benchmark: verifiable test data size and content - The test data benchmark.data is stored in a file that could be edited to change the size or content. /* to guarantee size */ gchar *get_test_data(gsize min_size); /* to checksum content */ char *md5_digest_str(const char *data, unsigned int len); Signed-off-by: Burt P --- hardinfo/gg_key_file_parse_string_as_value.c | 4 +++- hardinfo/info.c | 2 +- hardinfo/problem_marker.c | 13 +++++++++++++ hardinfo/util.c | 17 ++++++++++++++++- 4 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 hardinfo/problem_marker.c (limited to 'hardinfo') diff --git a/hardinfo/gg_key_file_parse_string_as_value.c b/hardinfo/gg_key_file_parse_string_as_value.c index 496b1d35..7e871bc1 100644 --- a/hardinfo/gg_key_file_parse_string_as_value.c +++ b/hardinfo/gg_key_file_parse_string_as_value.c @@ -21,7 +21,9 @@ * along with this library; if not, see . */ -static gchar * +#include + +gchar * gg_key_file_parse_string_as_value (const gchar *string, const gchar list_separator) { gchar *value, *p, *q; diff --git a/hardinfo/info.c b/hardinfo/info.c index cf6af9f9..5f108814 100644 --- a/hardinfo/info.c +++ b/hardinfo/info.c @@ -23,7 +23,7 @@ * from GLib in flatten(), to escape characters and the separator. * The function is not public in GLib and we don't have a GKeyFile * to pass it anyway. */ -#include "gg_key_file_parse_string_as_value.c" +/* Now in hardinfo.h -- #include "gg_key_file_parse_string_as_value.c" */ static const gchar *info_column_titles[] = { "TextValue", "Value", "Progress", "Extra1", "Extra2" diff --git a/hardinfo/problem_marker.c b/hardinfo/problem_marker.c new file mode 100644 index 00000000..1e0c2aed --- /dev/null +++ b/hardinfo/problem_marker.c @@ -0,0 +1,13 @@ + +#include "hardinfo.h" + +/* requires COMPILE_FLAGS "-std=c99" */ + +const char *problem_marker() { + static const char as_markup[] = "\u26A0"; + static const char as_text[] = "(!)"; + if (params.markup_ok) + return as_markup; + else + return as_text; +} diff --git a/hardinfo/util.c b/hardinfo/util.c index e690ff20..764415df 100644 --- a/hardinfo/util.c +++ b/hardinfo/util.c @@ -393,6 +393,7 @@ void parameters_init(int *argc, char ***argv, ProgramParameters * param) static gchar *report_format = NULL; static gchar *run_benchmark = NULL; static gchar *result_format = NULL; + static gchar *bench_user_note = NULL; static gchar **use_modules = NULL; static gint max_bench_results = 10; @@ -415,6 +416,12 @@ void parameters_init(int *argc, char ***argv, ProgramParameters * param) .arg = G_OPTION_ARG_STRING, .arg_data = &run_benchmark, .description = N_("run benchmark; requires benchmark.so to be loaded")}, + { + .long_name = "user-note", + .short_name = 'u', + .arg = G_OPTION_ARG_STRING, + .arg_data = &bench_user_note, + .description = N_("note attached to benchmark results")}, { .long_name = "result-format", .short_name = 'g', @@ -511,6 +518,14 @@ void parameters_init(int *argc, char ***argv, ProgramParameters * param) param->report_format = REPORT_FORMAT_SHELL; } + /* clean user note */ + if (bench_user_note) { + char *p = NULL; + while(p = strchr(bench_user_note, ';')) { *p = ','; } + param->bench_user_note = + gg_key_file_parse_string_as_value(bench_user_note, '|'); + } + /* html ok? * gui: yes * report html: yes @@ -522,7 +537,7 @@ void parameters_init(int *argc, char ***argv, ProgramParameters * param) gchar *confdir = g_build_filename(g_get_user_config_dir(), "hardinfo", NULL); if (!g_file_test(confdir, G_FILE_TEST_EXISTS)) { - mkdir(confdir, 0744); + mkdir(confdir, 0744); } g_free(confdir); } -- cgit v1.2.3