diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/colorgcc-1.3.2-invocation.patch b/colorgcc-1.3.2-invocation.patch deleted file mode 100644 index 74e5185..0000000 --- a/colorgcc-1.3.2-invocation.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/colorgcc.1.3.2.txt b/colorgcc.1.3.2.txt -index 3cc7899..258ab97 100644 ---- a/colorgcc.1.3.2.txt -+++ b/colorgcc.1.3.2.txt -@@ -14,17 +14,13 @@ - # - # Usage: - # --# In a directory that occurs in your PATH _before_ the directory --# where the compiler lives, create a softlink to colorgcc for --# each compiler you want to colorize: -+# Call the compiler name with the 'color-' prefix, eg: -+# color-gcc -+# color-g++ -+# color-cc -+# color-c++ - # --# g++ -> colorgcc --# gcc -> colorgcc --# cc -> colorgcc --# etc. --# --# That's it. When "g++" is invoked, colorgcc is run instead. --# colorgcc looks at the program name to figure out which compiler to run. -+# That's it. - # - # The default settings can be overridden with ~/.colorgccrc. - # See the comments in the sample .colorgccrc for more information. -@@ -93,10 +89,11 @@ use IPC::Open3; - - sub initDefaults - { -- $compilerPaths{"gcc"} = "/usr/bin/gcc"; -- $compilerPaths{"g++"} = "/usr/bin/g++"; -- $compilerPaths{"cc"} = "/usr/bin/cc"; -- $compilerPaths{"c++"} = "/usr/bin/c++"; -+ $compilerPaths{"color-gcc"} = "gcc"; -+ $compilerPaths{"color-g++"} = "g++"; -+ $compilerPaths{"color-cc"} = "cc"; -+ $compilerPaths{"color-c++"} = "c++"; -+ $compilerPaths{"color-ccache"} = "ccache"; - - $nocolor{"dumb"} = "true"; - diff --git a/colorgcc-invocation.patch b/colorgcc-invocation.patch new file mode 100644 index 0000000..76d59b8 --- /dev/null +++ b/colorgcc-invocation.patch @@ -0,0 +1,23 @@ +diff --git a/colorgcc.pl b/colorgcc.pl +index 92bb58c..ceb31de 100755 +--- a/colorgcc.pl ++++ b/colorgcc.pl +@@ -149,6 +149,18 @@ my($unfinishedQuote, $previousColor); + + sub initDefaults + { ++ $compilerPaths{"color-gcc"} = "gcc"; ++ $compilerPaths{"color-g++"} = "g++"; ++ $compilerPaths{"color-cc"} = "cc"; ++ $compilerPaths{"color-c++"} = "c++"; ++ $compilerPaths{"color-ccache"} = "ccache"; ++ ++ $compilerPaths{"colorgcc"} = "gcc"; ++ $compilerPaths{"colorg++"} = "g++"; ++ $compilerPaths{"colorcc"} = "cc"; ++ $compilerPaths{"colorc++"} = "c++"; ++ $compilerPaths{"colorccache"} = "ccache"; ++ + $options{"chainedPath"} = "0"; + $nocolor{"dumb"} = "true"; + diff --git a/colorgcc.1.3.2.txt b/colorgcc.1.3.2.txt deleted file mode 100644 index 3cc7899..0000000 --- a/colorgcc.1.3.2.txt +++ /dev/null @@ -1,254 +0,0 @@ -#! /usr/bin/perl -w - -# -# colorgcc -# -# Version: 1.3.2 -# -# $Id: colorgcc,v 1.10 1999/04/29 17:15:52 jamoyers Exp $ -# -# A wrapper to colorize the output from compilers whose messages -# match the "gcc" format. -# -# Requires the ANSIColor module from CPAN. -# -# Usage: -# -# In a directory that occurs in your PATH _before_ the directory -# where the compiler lives, create a softlink to colorgcc for -# each compiler you want to colorize: -# -# g++ -> colorgcc -# gcc -> colorgcc -# cc -> colorgcc -# etc. -# -# That's it. When "g++" is invoked, colorgcc is run instead. -# colorgcc looks at the program name to figure out which compiler to run. -# -# The default settings can be overridden with ~/.colorgccrc. -# See the comments in the sample .colorgccrc for more information. -# -# Note: -# -# colorgcc will only emit color codes if: -# -# (1) Its STDOUT is a tty and -# (2) the value of $TERM is not listed in the "nocolor" option. -# -# If colorgcc colorizes the output, the compiler's STDERR will be -# combined with STDOUT. Otherwise, colorgcc just passes the output from -# the compiler through without modification. -# -# Author: Jamie Moyers -# Started: April 20, 1999 -# Licence: GNU Public License -# -# Credits: -# -# I got the idea for this from a script called "color_cvs": -# color_cvs .03 Adrian Likins -# -# (Scott Harrington) -# Much improved handling of compiler command line arguments. -# exec compiler when not colorizing to preserve STDOUT, STDERR. -# Fixed my STDIN kludge. -# -# (Elias S. G. Carotti) -# Corrected handling of text like -DPACKAGE=\"Package\" -# Spotted return code bug. -# -# (Erwin S. Andreasen) -# (Steve Churchill) -# Return code bug fixes. -# -# (Rik Hemsley) -# Found STDIN bug. -# -# Changes: -# -# 1.3.2 Better handling of command line arguments to compiler. -# -# If we aren't colorizing output, we just exec the compiler which -# preserves the original STDOUT and STDERR. -# -# Removed STDIN kludge. STDIN being passed correctly now. -# -# 1.3.1 Added kludge to copy STDIN to the compiler's STDIN. -# -# 1.3.0 Now correctly returns (I hope) the return code of the compiler -# process as its own. -# -# 1.2.1 Applied patch to handle text similar to -DPACKAGE=\"Package\". -# -# 1.2.0 Added tty check. If STDOUT is not a tty, don't do color. -# -# 1.1.0 Added the "nocolor" option to turn off the color if the terminal type -# ($TERM) is listed. -# -# 1.0.0 Initial Version - -use Term::ANSIColor; -use IPC::Open3; - -sub initDefaults -{ - $compilerPaths{"gcc"} = "/usr/bin/gcc"; - $compilerPaths{"g++"} = "/usr/bin/g++"; - $compilerPaths{"cc"} = "/usr/bin/cc"; - $compilerPaths{"c++"} = "/usr/bin/c++"; - - $nocolor{"dumb"} = "true"; - - $colors{"srcColor"} = color("cyan"); - $colors{"introColor"} = color("blue"); - - $colors{"warningFileNameColor"} = color("yellow"); - $colors{"warningNumberColor"} = color("yellow"); - $colors{"warningMessageColor"} = color("yellow"); - - $colors{"errorFileNameColor"} = color("bold red"); - $colors{"errorNumberColor"} = color("bold red"); - $colors{"errorMessageColor"} = color("bold red"); -} - -sub loadPreferences -{ -# Usage: loadPreferences("filename"); - - my($filename) = @_; - - open(PREFS, "<$filename") || return; - - while() - { - next if (m/^\#.*/); # It's a comment. - next if (!m/(.*):\s*(.*)/); # It's not of the form "foo: bar". - - $option = $1; - $value = $2; - - if ($option =~ m/cc|c\+\+|gcc|g\+\+/) - { - $compilerPaths{$option} = $value; - } - elsif ($option eq "nocolor") - { - # The nocolor option lists terminal types, separated by - # spaces, not to do color on. - foreach $termtype (split(/\s+/, $value)) - { - $nocolor{$termtype} = "true"; - } - } - else - { - $colors{$option} = color($value); - } - } - close(PREFS); -} - -sub srcscan -{ -# Usage: srcscan($text, $normalColor) -# $text -- the text to colorize -# $normalColor -- The escape sequence to use for non-source text. - -# Looks for text between ` and ', and colors it srcColor. - - my($line, $normalColor) = @_; - - my($srcon) = color("reset") . $colors{"srcColor"}; - my($srcoff) = color("reset") . $normalColor; - - $line = $normalColor . $line; - - # This substitute replaces `foo' with `AfooB' where A is the escape - # sequence that turns on the the desired source color, and B is the - # escape sequence that returns to $normalColor. - $line =~ s/\`(.*?)\'/\`$srcon$1$srcoff\'/g; - - print($line, color("reset")); -} - -# -# Main program -# - -# Set up default values for colors and compilers. -initDefaults(); - -# Read the configuration file, if there is one. -$configFile = $ENV{"HOME"} . "/.colorgccrc"; -if (-f $configFile) -{ - loadPreferences($configFile); -} - -# Figure out which compiler to invoke based on our program name. -$0 =~ m%.*/(.*)$%; -$progName = $1 || $0; - -$compiler = $compilerPaths{$progName} || $compilerPaths{"gcc"}; - -# Get the terminal type. -$terminal = $ENV{"TERM"} || "dumb"; - -# If it's in the list of terminal types not to color, or if -# we're writing to something that's not a tty, don't do color. -if (! -t STDOUT || $nocolor{$terminal}) -{ - exec $compiler, @ARGV - or die("Couldn't exec"); -} - -# Keep the pid of the compiler process so we can get its return -# code and use that as our return code. -$compiler_pid = open3('<&STDIN', \*GCCOUT, '', $compiler, @ARGV); - -# Colorize the output from the compiler. -while() -{ - if (m/^(.*?):([0-9]+):(.*)$/) # filename:lineno:message - { - $field1 = $1 || ""; - $field2 = $2 || ""; - $field3 = $3 || ""; - - if ($field3 =~ m/\s+warning:.*/) - { - # Warning - print($colors{"warningFileNameColor"}, "$field1:", color("reset")); - print($colors{"warningNumberColor"}, "$field2:", color("reset")); - srcscan($field3, $colors{"warningMessageColor"}); - } - else - { - # Error - print($colors{"errorFileNameColor"}, "$field1:", color("reset")); - print($colors{"errorNumberColor"}, "$field2:", color("reset")); - srcscan($field3, $colors{"errorMessageColor"}); - } - print("\n"); - } - elsif (m/^(.*?):(.+):$/) # filename:message: - { - # No line number, treat as an "introductory" line of text. - srcscan($_, $colors{"introColor"}); - } - else # Anything else. - { - # Doesn't seem to be a warning or an error. Print normally. - print(color("reset"), $_); - } -} - -# Get the return code of the compiler and exit with that. -waitpid($compiler_pid, 0); -exit ($? >> 8); - - - - - diff --git a/colorgcc.spec b/colorgcc.spec index 8cde215..eb39b62 100644 --- a/colorgcc.spec +++ b/colorgcc.spec @@ -1,41 +1,180 @@ Summary: Script to colorize the compiler output Name: colorgcc -Version: 1.3.2 -Release: 2%{?dist} -License: GPL+ -Group: Development/Tools +Version: 1.4.5 +Release: 28%{?dist} +License: GPL-1.0-or-later Url: http://schlueters.de/colorgcc.html -Source0: http://schlueters.de/colorgcc.%{version}.txt +Source0: https://github.com/colorgcc/colorgcc/archive/%{version}.tar.gz BuildArch: noarch -Patch0: colorgcc-1.3.2-invocation.patch -Requires: perl +Patch0: colorgcc-invocation.patch +Patch1: readme-fedora.patch +BuildRequires: perl-generators +Requires: perl-interpreter %description Perl script written by Jamie Moyers to colorize the terminal output of C++, CC, CCACHE, G++, GCC so error messages can be found within longer compiler outputs. %prep -%setup -q -c -T -cp -p %{SOURCE0} . -%patch0 -p1 +%setup +mv ./colorgccrc.txt ./colorgccrc.sample +%patch -P0 -p1 +%patch -P1 -p1 %install mkdir -p $RPM_BUILD_ROOT/%{_bindir} -install -p -m 755 $(basename %{SOURCE0}) $RPM_BUILD_ROOT/%{_bindir}/color-gcc +install -p -m 755 colorgcc.pl $RPM_BUILD_ROOT/%{_bindir}/color-gcc ln -s %{_bindir}/color-gcc $RPM_BUILD_ROOT/%{_bindir}/color-g++ ln -s %{_bindir}/color-gcc $RPM_BUILD_ROOT/%{_bindir}/color-cc ln -s %{_bindir}/color-gcc $RPM_BUILD_ROOT/%{_bindir}/color-c++ ln -s %{_bindir}/color-gcc $RPM_BUILD_ROOT/%{_bindir}/color-ccache +ln -s %{_bindir}/color-gcc $RPM_BUILD_ROOT/%{_bindir}/colorgcc +ln -s %{_bindir}/color-gcc $RPM_BUILD_ROOT/%{_bindir}/colorg++ +ln -s %{_bindir}/color-gcc $RPM_BUILD_ROOT/%{_bindir}/colorcc +ln -s %{_bindir}/color-gcc $RPM_BUILD_ROOT/%{_bindir}/colorc++ +ln -s %{_bindir}/color-gcc $RPM_BUILD_ROOT/%{_bindir}/colorccache + +install -dm 755 $RPM_BUILD_ROOT%{_libdir}/colorgcc +for n in cc gcc g++ c++ ; do + ln -s %{_bindir}/color-gcc $RPM_BUILD_ROOT%{_libdir}/colorgcc/$n +done + %files -%defattr(-,root,root,-) %{_bindir}/color-gcc %{_bindir}/color-g++ %{_bindir}/color-cc %{_bindir}/color-c++ %{_bindir}/color-ccache +%{_bindir}/colorgcc +%{_bindir}/colorg++ +%{_bindir}/colorcc +%{_bindir}/colorc++ +%{_bindir}/colorccache + +%dir %{_libdir}/colorgcc +%{_libdir}/colorgcc/* + +%doc README colorgccrc.sample + %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 1.4.5-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jan 16 2025 Fedora Release Engineering - 1.4.5-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jul 17 2024 Fedora Release Engineering - 1.4.5-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon Jun 17 2024 Miroslav Suchý - 1.4.5-25 +- convert license to SPDX + +* Sun Mar 10 2024 Martin Cermak - 1.4.5-24 +- NVR bump and rebuild for CI gating changes + +* Wed Jan 24 2024 Fedora Release Engineering - 1.4.5-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 1.4.5-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 1.4.5-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Mar 29 2023 Martin Cermak - 1.4.5-20 +- NVR bump and rebuild for CI gating changes + +* Thu Jan 19 2023 Fedora Release Engineering - 1.4.5-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 1.4.5-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jan 19 2022 Fedora Release Engineering - 1.4.5-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 1.4.5-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 1.4.5-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Nov 26 2020 Martin Cermak 1.4.5-13 +- NVR bump and rebuild for CI gating changes + +* Mon Jul 27 2020 Fedora Release Engineering - 1.4.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 1.4.5-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 1.4.5-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 1.4.5-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jul 12 2018 Fedora Release Engineering - 1.4.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 1.4.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Dec 8 2017 Martin Cermak 1.4.5-3 +- Provide convenience symlinks per bz1402003#c10 +- Update README + +* Wed Dec 6 2017 Martin Cermak 1.4.5-1 +- Rebase to 1.4.5 per bz1402003 + +* Wed Jul 26 2017 Fedora Release Engineering - 1.3.2-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Jul 13 2017 Petr Pisar - 1.3.2-16 +- perl dependency renamed to perl-interpreter + + +* Fri Feb 10 2017 Fedora Release Engineering - 1.3.2-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 03 2016 Fedora Release Engineering - 1.3.2-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.3.2-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.3.2-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Apr 11 2014 Martin Cermak 1.3.2-11 +- Allow using "color" prefix as well as "color-" prefix (bz1078180) + +* Fri Jan 03 2014 Martin Cermak 1.3.2-10 +- Updated README + +* Fri Jan 03 2014 Martin Cermak 1.3.2-9 +- Renamed and updated config sample + +* Thu Jan 02 2014 Martin Cermak 1.3.2-8 +- Added README and sample config file + +* Sat Aug 03 2013 Fedora Release Engineering - 1.3.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Jul 17 2013 Petr Pisar - 1.3.2-6 +- Perl 5.18 rebuild + +* Wed Feb 13 2013 Fedora Release Engineering - 1.3.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jul 18 2012 Fedora Release Engineering - 1.3.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jan 12 2012 Fedora Release Engineering - 1.3.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + * Wed May 4 2011 Martin Cermak 1.3.2-2 - Full URL for Source0 used - License tag updated @@ -46,6 +185,6 @@ ln -s %{_bindir}/color-gcc $RPM_BUILD_ROOT/%{_bindir}/color-ccache - Absolute paths pointing to compiler binaries removed - Resolves bz700833 -* Thu Apr 29 2011 Martin Cermak 1.3.2-1 +* Fri Apr 29 2011 Martin Cermak 1.3.2-1 - Packaged for Fedora diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..8b52293 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,19 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} +--- !Policy +product_versions: + - rhel-8 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} +--- !Policy +product_versions: + - rhel-9 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} diff --git a/plans/ci.fmf b/plans/ci.fmf new file mode 100644 index 0000000..1ad2c12 --- /dev/null +++ b/plans/ci.fmf @@ -0,0 +1,6 @@ +summary: CI Gating Plan +discover: + how: fmf + directory: tests +execute: + how: beakerlib diff --git a/readme-fedora.patch b/readme-fedora.patch new file mode 100644 index 0000000..65e9c6e --- /dev/null +++ b/readme-fedora.patch @@ -0,0 +1,31 @@ +diff --git a/README b/README +index 2f38386..b5b978f 100644 +--- a/README ++++ b/README +@@ -48,6 +48,26 @@ If colorgcc colorizes the output, the compiler's STDERR will be + combined with STDOUT. Otherwise, colorgcc just passes the output from + the compiler through without modification. + ++Fedora note: ++ ++Here is how to use colorgcc along with ccache on a Fedora system under ++a non-root user. Install both colorgcc and ccache. The ccache ++modifies user $PATH via it's /etc/profile.d/ccache* scripts. ++Now do the following: ++ ++ $ export PATH="/usr/lib/colorgcc:$PATH" ++ $ export CCACHE_PATH="/usr/bin" ++ ++Now add entries like the following to your ~/.colorgccrc file: ++ ++ g++: /usr/lib64/ccache/g++ ++ gcc: /usr/lib64/ccache/gcc ++ c++: /usr/lib64/ccache/g++ ++ cc: /usr/lib64/ccache/cc ++ ++You should be all set. ++ ++ + Author: Jamie Moyers + Started: April 20, 1999 + Licence: GNU Public License diff --git a/sources b/sources index e69de29..392665b 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +SHA512 (1.4.5.tar.gz) = 4125ada9b65b6387c2c259e2347236b3b18f7cdbf06ae0bb0212474a11354be6d463fbc4d239c2eb666c8246fc20277e06c8272fdee6dd4f60caa66164bcc1cf diff --git a/tests/Sanity/smoke/Makefile b/tests/Sanity/smoke/Makefile new file mode 100644 index 0000000..8cf4641 --- /dev/null +++ b/tests/Sanity/smoke/Makefile @@ -0,0 +1,63 @@ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Makefile of /tools/colorgcc/Sanity/basic +# Description: basic smoke test +# Author: Martin Cermak +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2020 Red Hat, Inc. +# +# 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 2 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 http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export TEST=/tools/colorgcc/Sanity/basic +export TESTVERSION=1.0 + +BUILT_FILES= + +FILES=$(METADATA) runtest.sh Makefile PURPOSE + +.PHONY: all install download clean + +run: $(FILES) build + ./runtest.sh + +build: $(BUILT_FILES) + test -x runtest.sh || chmod a+x runtest.sh + +clean: + rm -f *~ $(BUILT_FILES) + + +include /usr/share/rhts/lib/rhts-make.include + +$(METADATA): Makefile + @echo "Owner: Martin Cermak " > $(METADATA) + @echo "Name: $(TEST)" >> $(METADATA) + @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) + @echo "Path: $(TEST_DIR)" >> $(METADATA) + @echo "Description: basic smoke test" >> $(METADATA) + @echo "Type: Sanity" >> $(METADATA) + @echo "TestTime: 48h" >> $(METADATA) + @echo "RunFor: colorgcc" >> $(METADATA) + @echo "Requires: colorgcc gcc" >> $(METADATA) + @echo "Priority: Normal" >> $(METADATA) + @echo "License: GPLv2+" >> $(METADATA) + @echo "Confidential: no" >> $(METADATA) + @echo "Destructive: no" >> $(METADATA) + @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5 -RHEL6 -RHEL7" >> $(METADATA) + + rhts-lint $(METADATA) diff --git a/tests/Sanity/smoke/PURPOSE b/tests/Sanity/smoke/PURPOSE new file mode 100644 index 0000000..bf19f89 --- /dev/null +++ b/tests/Sanity/smoke/PURPOSE @@ -0,0 +1,3 @@ +PURPOSE of /tools/colorgcc/Sanity/basic +Description: basic smoke test +Author: Martin Cermak diff --git a/tests/Sanity/smoke/main.fmf b/tests/Sanity/smoke/main.fmf new file mode 100644 index 0000000..0c5aa8b --- /dev/null +++ b/tests/Sanity/smoke/main.fmf @@ -0,0 +1,14 @@ +summary: basic smoke test +description: '' +contact: +- Martin Cermak +component: +- colorgcc +test: ./runtest.sh +framework: beakerlib +recommend: +- colorgcc +- gcc +duration: 48h +extra-summary: /tools/colorgcc/Sanity/basic +extra-task: /tools/colorgcc/Sanity/basic diff --git a/tests/Sanity/smoke/runtest.sh b/tests/Sanity/smoke/runtest.sh new file mode 100755 index 0000000..708bfe8 --- /dev/null +++ b/tests/Sanity/smoke/runtest.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/colorgcc/Sanity/basic +# Description: basic smoke test +# Author: Martin Cermak +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2020 Red Hat, Inc. +# +# 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 2 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 http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="colorgcc" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlPhaseEnd + + rlPhaseStartTest + rlRun "echo -e 'int main() {\nreturn 0;\n}' | color-gcc -xc -o /dev/null -" + rlRun "echo -e 'int main() {\nreturn 0\n}' | color-gcc -xc -o /dev/null - |& fgrep ':2:9: error'" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd