diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index dcf1bf6..0ef4ca1 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,3 @@ /trace-cmd-v2.9.2.tar.gz /trace-cmd-v2.9.7.tar.gz /trace-cmd-v3.0.3.tar.gz -/trace-cmd-v3.1.4.tar.gz -/trace-cmd-v3.1.6.tar.gz -/trace-cmd-v3.2.tar.gz -/trace-cmd-v3.3.1.tar.gz diff --git a/kernelshark.desktop b/kernelshark.desktop new file mode 100644 index 0000000..e51a7ab --- /dev/null +++ b/kernelshark.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=Kernelshark +Comment=Analyze data output by trace-cmd +Exec=kernelshark +Type=Application +Categories=Development;Profiling; +Icon=applications-development diff --git a/sources b/sources index 65e4f7d..da31ada 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (trace-cmd-v3.3.1.tar.gz) = a643efc2868d08871a7359dd0a17389685fb229f26328ee96f27a3dd94b5f3eb62009b945c14725eda1f09fa15367ffe2e2c3611d89860dcc031bbd6403cdee0 +SHA512 (trace-cmd-v3.0.3.tar.gz) = 896a5b2d230eb0ee19e27bb71e485acd163a3225062015a0dae5b4b55eb48d8d1cdc034f7881751523384f13e20adfd8b7bc0a53392fff8029bf1403445cc785 diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 0000000..f37b84e --- /dev/null +++ b/tests/README.md @@ -0,0 +1,44 @@ +About + +Trace-cmd tests according to the CI wiki specifically the standard test interface in the [spec](https://fedoraproject.org/wiki/Changes/InvokingTests). + +The playbook includes Tier1 level test cases that have been tested in classic contexts and is passing reliably. + +The following steps are used to execute the tests using the standard test interface: + +Test environment + +Make sure you have installed packages from the spec + + `# dnf install ansible python2-dnf libselinux-python standard-test-roles ansible python2-dnf libselinux-python standard-test-roles` + +Run tests for Classic +~~~~ + # export TEST_SUBJECTS= + # sudo ansible-playbook --tags=classic tests.yml +~~~~ + +Snip of the example test run for Classic tests: + +> TASK [standard-test-beakerlib : Run beakerlib tests] ***************************************************************************************************************************************** +> +> changed: [localhost] => (item=sanity) +> +> TASK [standard-test-beakerlib : Make the master tests summary log artifact] ****************************************************************************************************************** +> +> changed: [localhost] => (item=sanity) +> +> TASK [standard-test-beakerlib : Check the results] ******************************************************************************************************************************************* +> +> changed: [localhost] +> +> TASK [standard-test-beakerlib : include_role] ************************************************************************************************************************************************ +> +> TASK [str-common : Pull out the logs from test environment to test runner] ******************************************************************************************************************* +> +> changed: [localhost] +> +> PLAY RECAP *********************************************************************************************************************************************************************************** +> +> localhost : ok=27 changed=16 unreachable=0 failed=0 +> diff --git a/tests/plan.fmf b/tests/plan.fmf deleted file mode 100644 index f8b2604..0000000 --- a/tests/plan.fmf +++ /dev/null @@ -1,8 +0,0 @@ -prepare: - how: install - package: - - trace-cmd -discover: - how: fmf -execute: - how: tmt diff --git a/tests/sanity/Makefile b/tests/sanity/Makefile new file mode 100644 index 0000000..7af6df1 --- /dev/null +++ b/tests/sanity/Makefile @@ -0,0 +1,59 @@ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Description: Basic sanity test for trace-cmd +# Author: Ziqian SUN (Zamir) +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2018 Red Hat, Inc. All rights reserved. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export PACKAGE_NAME=trace-cmd +export TEST=/kernel/general/ftrace/tools/trace-cmd/upstream +export TESTVERSION=0.1 + +FILES=$(METADATA) runtest.sh Makefile PURPOSE + +.PHONY: all install download clean + +run: $(FILES) build + ./runtest.sh + +build: + chmod a+x runtest.sh + +clean: + rm -fr *~ tests-*.rpm + +include /usr/share/rhts/lib/rhts-make.include + +$(METADATA): Makefile + @echo "Owner: Ziqian SUN (Zamir) " > $(METADATA) + @echo "Name: $(TEST)" >> $(METADATA) + @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) + @echo "Path: $(TEST_DIR)" >> $(METADATA) + @echo "Description: Basic sanity test for trace-cmd" >> $(METADATA) + @echo "TestTime: 30m" >> $(METADATA) + @echo "RunFor: trace-cmd" >> $(METADATA) + @echo "Requires: @development" >> $(METADATA) + @echo "Priority: Normal" >> $(METADATA) + @echo "License: GPLv3" >> $(METADATA) + @echo "Confidential: no" >> $(METADATA) + @echo "Destructive: no" >> $(METADATA) + + rhts-lint $(METADATA) diff --git a/tests/sanity/sanity.fmf b/tests/sanity/sanity.fmf deleted file mode 100644 index 8733518..0000000 --- a/tests/sanity/sanity.fmf +++ /dev/null @@ -1,3 +0,0 @@ -test: bash ./runtest.sh -framework: beakerlib -duration: 15m diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..e244be9 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,11 @@ +- hosts: localhost + tags: + - classic + roles: + - role: standard-test-beakerlib + tests: + - sanity + required_packages: + - kernel + - trace-cmd + diff --git a/trace-cmd.spec b/trace-cmd.spec index 3d7202f..15bdebe 100644 --- a/trace-cmd.spec +++ b/trace-cmd.spec @@ -2,13 +2,16 @@ #%%global git_commit trace-cmd-v2.6.2 #%%global git_commit 57371aaa2f469d0ba15fd85276deca7bfdd7ce36 -%global srcversion 3.3.1 +%global srcversion 3.0.3 Name: trace-cmd Version: %{srcversion} -Release: 4%{?dist} -License: LGPL-2.1-only AND LGPL-2.1-or-later AND GPL-2.0-only AND GPL-2.0-or-later +Release: 2%{?dist} +License: GPLv2 and LGPLv2 Summary: A user interface to Ftrace +Requires: libtracecmd +Requires: libtracefs +Requires: libtraceevent ExcludeArch: %{ix86} %{arm} @@ -21,16 +24,21 @@ Source0: https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/snapshot/t Source1: trace-cmd.conf Source2: trace-cmd.service Source3: 98-trace-cmd.rules - BuildRequires: make BuildRequires: gcc BuildRequires: xmlto BuildRequires: asciidoc +BuildRequires: mlocate BuildRequires: graphviz doxygen +BuildRequires: libxml2-devel BuildRequires: gcc-c++ +BuildRequires: desktop-file-utils BuildRequires: cmake -BuildRequires: libtraceevent-devel >= 1.8.0 -BuildRequires: libtracefs-devel >= 1.8.0 +BuildRequires: qt5-qtbase-devel +BuildRequires: freeglut-devel +BuildRequires: json-c-devel +BuildRequires: libtraceevent-devel >= 1.5.3 +BuildRequires: libtracefs-devel >= 1.3.1 BuildRequires: audit-libs-devel BuildRequires: chrpath BuildRequires: swig @@ -102,56 +110,6 @@ rm -rf %{buildroot}/%{_mandir}/man3/* %{_libdir}/%{name}/python/ %changelog -* Fri Aug 15 2025 Zamir SUN - 3.3.1-4 -- Bump to build and run new gating -- Reolves: rhbz#2383087 - -* Fri Jul 25 2025 Fedora Release Engineering - 3.3.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Sun Jan 19 2025 Fedora Release Engineering - 3.3.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Oct 17 2024 Zamir SUN - 3.3.1-1 -- Update to 3.3 - -* Sat Jul 20 2024 Fedora Release Engineering - 3.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Sun Jun 23 2024 Yaakov Selkowitz - 3.2-3 -- Rebuilt for Python 3.13 - -* Sat Jan 27 2024 Fedora Release Engineering - 3.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Tue Jan 23 2024 Zamir SUN - 3.2 -- Update to 3.2 (#2213350) - -* Sat Jul 22 2023 Fedora Release Engineering - 3.1.6-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Thu Jun 22 2023 Yaakov Selkowitz - 3.1.6-3 -- Remove lingering kernelshark dependencies - -* Mon Jun 05 2023 Zamir SUN - 3.1.6-2 -- SPDX migration - -* Tue Apr 18 2023 Zamir SUN - 3.1.6-1 -- Update to 3.1.6 - -* Fri Mar 31 2023 Jerome Marchand - 3.1.4-3 -- Fix build: RHBZ#2171770 -- Also remove explicit lib dependency that fedpkg lint complains about. - -* Sat Jan 21 2023 Fedora Release Engineering - 3.1.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Tue Oct 11 2022 Zamir SUN - 3.1.4-1 -- Update to 3.1.4 - -* Sat Jul 23 2022 Fedora Release Engineering - 3.0.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - * Fri Apr 15 2022 Zamir SUN - 3.0.3-2 - Get rid of the libtracecmd man pages