With this patch-set we complete the destructive part of the transformation of KernelShark towards v2 and the GUI is finally fully functional again. v2 changes: * Fixing the bug in patch "kernel-shark: Update KsDualMarker and KsGLWidget", causing the error "Unable to find FreeSans font". * New patches: - kernel-shark: Search for font with Cmake at pre-build - kernel-shark: Add pkg-config configuration for libkshark - kernel-shark: Install libkshark-tepdata.h Yordan Karadzhov (VMware) (27): kernel-shark: Add get_stream_object() kernel-shark: Do proper reset in kshark_close_all() kernel-shark: Restore the counting of event handlers kernel-shark: Fix a misleading comment kernel-shark: Count the number of readout interfaces kernel-shark: Update KsUtils kernel-shark: Update KsModels and KsSearchFSM kernel-shark: Add trace data files for CI testing kernel-shark: Add plugin tests kernel-shark: Add model tests kernel-shark: Update KsWidgetsLib kernel-shark: Add combo point to Mark kernel-shark: Add new methods to KsPlot::Mark kernel-shark: Update the plotting example kernel-shark: Search for font with Cmake at pre-build kernel-shark: Update KsDualMarker and KsGLWidget kernel-shark: Update KsTraceGraph and KsQuickContextMenu kernel-shark: Update KsTraceViewer kernel-shark: Update KsAdvFilteringDialog kernel-shark: Update KsCaptureDialog kernel-shark: Update KsSession kernel-shark: Update MissedEvents plugin kernel-shark: Update KsMainWindow and kernelshark.cpp kernel-shark: Clickable sched_event plugin shapes kernel-shark: Show Task plots from command lime kernel-shark: Add pkg-config configuration for libkshark kernel-shark: Install libkshark-tepdata.h .github/workflows/main.yml | 9 + CMakeLists.txt | 41 +- README | 1 + build/cmake_clean.sh | 4 +- build/deff.h.cmake | 9 + build/libkshark.pc.cmake | 10 + examples/CMakeLists.txt | 30 +- examples/dataplot.cpp | 88 ++- examples/widgetdemo.cpp | 65 +- src/CMakeLists.txt | 15 +- src/KsAdvFilteringDialog.cpp | 200 ++++-- src/KsAdvFilteringDialog.hpp | 16 +- src/KsCaptureDialog.cpp | 90 +-- src/KsCaptureDialog.hpp | 4 +- src/KsDualMarker.cpp | 23 +- src/KsDualMarker.hpp | 16 +- src/KsGLWidget.cpp | 696 +++++++++++++------- src/KsGLWidget.hpp | 187 ++++-- src/KsMainWindow.cpp | 786 ++++++++++++++-------- src/KsMainWindow.hpp | 108 ++- src/KsModels.cpp | 112 +++- src/KsModels.hpp | 28 +- src/KsPlotTools.cpp | 23 +- src/KsPlotTools.hpp | 27 +- src/KsPlugins.hpp | 5 + src/KsQuickContextMenu.cpp | 151 +++-- src/KsQuickContextMenu.hpp | 26 +- src/KsSearchFSM.cpp | 12 +- src/KsSession.cpp | 379 +++++++---- src/KsSession.hpp | 33 +- src/KsTraceGraph.cpp | 426 ++++++------ src/KsTraceGraph.hpp | 48 +- src/KsTraceViewer.cpp | 57 +- src/KsTraceViewer.hpp | 13 +- src/KsUtils.cpp | 1157 +++++++++++++++++++++++---------- src/KsUtils.hpp | 183 ++++-- src/KsWidgetsLib.cpp | 695 +++++++++++++++++--- src/KsWidgetsLib.hpp | 331 +++++++++- src/kernelshark.cpp | 64 +- src/libkshark-plugin.c | 25 +- src/libkshark.c | 28 +- src/plugins/CMakeLists.txt | 36 +- src/plugins/MissedEvents.cpp | 105 ++- src/plugins/SchedEvents.cpp | 58 +- src/plugins/missed_events.c | 25 +- src/plugins/missed_events.h | 4 +- src/plugins/sched_events.c | 7 + src/plugins/sched_events.h | 3 + tests/CMakeLists.txt | 42 +- tests/get_test_data.sh | 21 + tests/libkshark-gui-tests.cpp | 313 +++++++++ tests/libkshark-tests.cpp | 317 ++++++++- tests/test-input.c | 134 ++++ tests/test-input_ctrl.c | 140 ++++ tests/test-plugin_dpi.c | 26 + tests/test-plugin_dpi_ctrl.c | 32 + tests/test-plugin_dpi_err.c | 26 + 57 files changed, 5608 insertions(+), 1902 deletions(-) create mode 100644 build/libkshark.pc.cmake create mode 100755 tests/get_test_data.sh create mode 100644 tests/libkshark-gui-tests.cpp create mode 100644 tests/test-input.c create mode 100644 tests/test-input_ctrl.c create mode 100644 tests/test-plugin_dpi.c create mode 100644 tests/test-plugin_dpi_ctrl.c create mode 100644 tests/test-plugin_dpi_err.c -- 2.25.1