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/.gitignore b/.gitignore index b670c5e..d39dbc2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,2 @@ -config -crontab -run-parts -000-delay.cron +*~ +*.tar.* diff --git a/changelog b/changelog new file mode 100644 index 0000000..3bfecf0 --- /dev/null +++ b/changelog @@ -0,0 +1,259 @@ +* Tue Sep 12 2023 Jan Staněk - 1.11-30.20190603git +- Migrated to SPDX license field. + +* Wed Jul 19 2023 Fedora Release Engineering - 1.11-30.20190603git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 1.11-29.20190603git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 1.11-28.20190603git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jun 23 2022 Ondřej Pohořelský - 1.11-27.20190603git +- Make cronie hard dependency +- Resolves: #2089793 + +* Thu Jan 20 2022 Fedora Release Engineering - 1.11-26.20190603git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 1.11-25.20190603git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 1.11-24.20190603git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 1.11-23.20190603git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 1.11-22.20190603git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 1.11-21.20190603git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jun 3 2019 Tomáš Mráz - 1.11-20.20190603git +- fix regression from the previous release (#1716114) + +* Thu May 30 2019 Tomáš Mráz - 1.11-19.20190530git +- fix race condition in run-parts causing it to hang occasionally +- fix upstream URLs + +* Thu Jan 31 2019 Fedora Release Engineering - 1.11-18.20150630git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jul 12 2018 Fedora Release Engineering - 1.11-17.20150630git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 1.11-16.20150630git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.11-15.20150630git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.11-14.20150630git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Nov 24 2016 Tomáš Mráz - 1.11-13.20150630git +- use Recommends to pull in cronie (#1269172) + +* Wed Feb 03 2016 Fedora Release Engineering - 1.11-12.20150630git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Aug 12 2015 Tomáš Mráz - 1.11-11.20150630git +- fix logging of PID in the finished line (#1236841) + +* Wed Jun 17 2015 Fedora Release Engineering - 1.11-10.20130830git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Jul 11 2014 Tom Callaway - 1.11-9.20130830git +- fix license handling + +* Sat Jun 07 2014 Fedora Release Engineering - 1.11-8.20130830git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Aug 30 2013 Marcela Mašláňová 1.11-7.20121102git +- fix man page link 971583 + +* Sat Aug 03 2013 Fedora Release Engineering - 1.11-6.20121102git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Feb 13 2013 Fedora Release Engineering - 1.11-5.20121102git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Nov 1 2012 Marcela Mašláňová 1.11-5.20121102git +- update to the latest git snapshot with copying file and fixed man pages + +* Wed Jul 18 2012 Fedora Release Engineering - 1.11-4.20101115git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 1.11-3.20101115git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 1.11-2.20101115git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Nov 15 2010 Marcela Mašláňová 1.11-1 +- run-parts attempted to execute jobs that are not executable. + +* Thu Nov 11 2010 Marcela Mašláňová 1.11-1 +- 652268 fix missing / + +* Tue Nov 9 2010 Marcela Mašláňová 1.11-1 +- new git snapshot with --test and --list options + +* Fri Oct 22 2010 Marcela Mašláňová 1.11-1 +- use sources from source fedorahosted + +* Mon Oct 18 2010 Marcela Mašláňová 1.10-34 +- add --list option into run-parts + +* Wed Mar 24 2010 Marcela Mašláňová 1.10-33 +- remove useless seting of home to "/" + +* Mon Oct 12 2009 Marcela Mašláňová 1.10-32 +- rebuilt for review + +* Fri Jul 24 2009 Fedora Release Engineering - 1.10-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Jun 18 2009 Marcela Mašláňová 1.10-30 +- 491793 thanks Andrew Hecox for patch which allows set allow/deny jobs +- comment change "empty crontab" + +* Tue Feb 24 2009 Fedora Release Engineering - 1.10-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Tue Jan 27 2009 Marcela Mašláňová 1.10-28 +- 474219 requires on /etc/cron.d + +* Mon Jan 26 2009 Marcela Mašláňová 1.10-27 +- Change requires back to cronie. + +* Mon Jan 26 2009 Marcela Mašláňová 1.10-26 +- change /etc/crontab. All anacron jobs in cron.daily,weekly,... + are check by anacron every hour. Anacron run them if they didn't + run today. + +* Mon Dec 1 2008 Jan ONDREJ (SAL) 1.10-25 +- Added /etc/cron.{hourly,daily,weekly,monthly} dirs again. bz#473353 + +* Mon Jun 9 2008 Marcela Maslanova 1.10-23 +- 450084 LANG=C is set up for running scripts + +* Wed May 28 2008 Marcela Maslanova 1.10-22 +- remove scripts for delay, anacron now own most of the scripts. +Crontabs owns only run-parts, /etc/crontab and crontabs sysconfig. + +* Mon May 5 2008 Marcela Maslanova 1.10-21 +- 445079 delay script failed in case DELAY is zero + +* Fri Apr 4 2008 Marcela Maslanova 1.10-20 +- 440410 log pid of process instead of logger's pid + +* Mon Oct 22 2007 Marcela Maslanova 1.10-19 +- run-parts log also end of each job (patch from J. Kamens) +- Resolves: rhbz#303081 + +* Tue Sep 25 2007 Marcela Maslanova 1.10-18 +- cron.{hourly, daily,...} run ok +- rhbz#296741 + +* Thu Aug 30 2007 Marcela Maslanova 1.10-17 +- better solution of configuration script + +* Mon Aug 27 2007 Marcela Maslanova 1.10-16 +- 254220 typo in script run-parts + +* Tue Aug 21 2007 Marcela Maslanova 1.10-15 +- corrected license tag in spec +- add config file to crontab - delay of cron.{daily,...} could be + switch off +- Resolves: rhbz#253536 + +* Tue Feb 27 2007 Marcela Maslanova 1.10-14 +- review again + +* Thu Feb 8 2007 Marcela Maslanova 1.10-13 +- rhbz#225662 review + +* Mon Jan 29 2007 Marcela Maslanova 1.10-12 +- link daily,weekly,monthly +- rhbz#224687 + +* Wed Jan 24 2007 Marcela Maslanova 1.10-11 +- crontabs should ignore Cfengine files, rebuilt +- Resolves: rhbz#223472 + +* Wed Oct 11 2006 Marcela Maslanova 1.10-9 +- patch (#110894) for delaying more emails in the moment + +* Fri Jul 14 2006 Jesse Keating 0 1.10-8 +- rebuilt + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Mon Sep 20 2004 Jason Vas Dias +- rebuilt under new CVS for dist-fc3 + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Fri Feb 7 2003 Bill Nottingham +- not-as-automated rebuild + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Wed Jan 09 2002 Tim Powers +- automated rebuild + +* Thu Jul 19 2001 Preston Brown +- don't require tmpwatch + +* Tue Feb 27 2001 Preston Brown +- noreplace crontab file; use tmppath + +* Wed Jan 31 2001 Bill Nottingham +- don't process ,v files (#15968) + +* Mon Aug 7 2000 Bill Nottingham +- put name of script in output of stuff run by run-parts (#12411) + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Tue Jun 6 2000 Bill Nottingham +- rebuild + +* Fri Aug 27 1999 Jeff Johnson +- don't run *~ or *, files (#4740). + +* Thu Apr 15 1999 Bill Nottingham +- don't run .rpm{save,new,orig} files (bug #2190) + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 5) + +* Mon Nov 30 1998 Bill Nottingham +- crontab: set HOME=/ + +* Sat Jun 27 1998 Jeff Johnson +- run-parts: skip sub-directories (e.g. CVS) found instead of complaining + +* Fri Apr 24 1998 Prospector System +- translations modified for de, fr, tr + +* Tue Apr 07 1998 Erik Troan +- moved crontab jobs up a bit to make sure they aren't confused by + switching to and fro daylight savings time + +* Fri Oct 24 1997 Erik Troan +- removed tmpwatch and at entries + +* Thu Jul 31 1997 Erik Troan +- made a noarch package diff --git a/crontab b/crontab deleted file mode 100644 index 55e3c9e..0000000 --- a/crontab +++ /dev/null @@ -1,10 +0,0 @@ -SHELL=/bin/bash -PATH=/sbin:/bin:/usr/sbin:/usr/bin -MAILTO=root -HOME=/ - -# run-parts -01 * * * * root run-parts /etc/cron.hourly -02 4 * * * root run-parts /etc/cron.daily -22 4 * * 0 root run-parts /etc/cron.weekly -42 4 1 * * root run-parts /etc/cron.monthly diff --git a/crontabs.spec b/crontabs.spec index d56f473..068b232 100644 --- a/crontabs.spec +++ b/crontabs.spec @@ -1,179 +1,60 @@ +%global snapshot_date 20190603 +%global snapshot_commit 9e74f2d + Summary: Root crontab files used to schedule the execution of programs Name: crontabs -Version: 1.10 -Release: 26%{?dist} -License: Public Domain and GPLv2 -Group: System Environment/Base -Source0: crontab -Source1: run-parts -Source2: 000-delay.cron -Source3: config +Version: 1.11^%{snapshot_date}git%{snapshot_commit} +Release: %autorelease +# See https://gitlab.com/fedora/legal/fedora-license-data/-/merge_requests/359 for reasoning why Public Domain is not here. +License: GPL-2.0-or-later +URL: https://github.com/cronie-crond/crontabs +Source0: https://github.com/cronie-crond/crontabs/releases/download/crontabs-%{snapshot_date}/%{name}-%(echo %{version}|cut -d\^ -f1)-%{snapshot_date}git.tar.gz BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Requires: sed +Requires: cronie %description -The crontabs package contains root crontab files. Crontab is the -program used to install, uninstall or list the tables used to drive the -cron daemon. The cron daemon checks the crontab files to see when -particular commands are scheduled to be executed. If commands are -scheduled, it executes them. +This package is used by Fedora mainly for executing files by cron. + +The crontabs package contains root crontab files and directories. +You will need to install cron daemon to run the jobs from the crontabs. +The cron daemon such as cronie or fcron checks the crontab files to +see when particular commands are scheduled to be executed. If commands +are scheduled, it executes them. Crontabs handles a basic system function, so it should be installed on your system. +%prep +%autosetup -n %{name}-%(echo %{version}|cut -d\^ -f1) + +%build +#empty + %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/etc/cron.{hourly,daily,weekly,monthly} mkdir -p $RPM_BUILD_ROOT/usr/bin -mkdir -p $RPM_BUILD_ROOT/etc/sysconfig -cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/crontab -install -m644 $RPM_SOURCE_DIR/crontab $RPM_BUILD_ROOT/etc/crontab -install -m755 $RPM_SOURCE_DIR/run-parts $RPM_BUILD_ROOT/usr/bin/run-parts -install -m755 $RPM_SOURCE_DIR/000-delay.cron $RPM_BUILD_ROOT/etc/cron.daily/000-delay.cron -ln -s ../cron.daily/000-delay.cron $RPM_BUILD_ROOT/etc/cron.weekly/000-delay.cron -ln -s ../cron.daily/000-delay.cron $RPM_BUILD_ROOT/etc/cron.monthly/000-delay.cron +mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man4/ -%clean -rm -rf $RPM_BUILD_ROOT +install -m644 ./crontab $RPM_BUILD_ROOT/etc/crontab +install -m755 ./run-parts $RPM_BUILD_ROOT/usr/bin/run-parts +install -m644 ./{crontabs,run-parts}.4 $RPM_BUILD_ROOT/%{_mandir}/man4/ + +mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/ +touch $RPM_BUILD_ROOT/etc/sysconfig/run-parts %files -%defattr(-,root,root,-) +%{!?_licensedir:%global license %%doc} +%license COPYING %config(noreplace) /etc/crontab +%attr(0644,root,root) %config(noreplace) /etc/sysconfig/run-parts %{_bindir}/run-parts -%config(noreplace) /etc/sysconfig/crontab %dir /etc/cron.hourly %dir /etc/cron.daily %dir /etc/cron.weekly %dir /etc/cron.monthly -%dir /etc/cron.daily/000-delay.cron -%dir /etc/cron.weekly/000-delay.cron -%dir /etc/cron.monthly/000-delay.cron -%config(noreplace) /etc/sysconfig/crontab +%{_mandir}/man4/* %changelog -* Thu Jan 28 2009 Marcela Maslanova 1.10-26 -- 477709 hack around jobs running twice -- switch off random delay for anacron jobs as default in sysconfig - -* Mon Dec 1 2008 Jan ONDREJ (SAL) 1.10-25 -- Added /etc/cron.{hourly,daily,weekly,monthly} dirs again. bz#473353 - -* Mon Jun 9 2008 Marcela Maslanova 1.10-23 -- 450084 LANG=C is set up for running scripts - -* Wed May 28 2008 Marcela Maslanova 1.10-22 -- remove scripts for delay, anacron now own most of the scripts. -Crontabs owns only run-parts, /etc/crontab and crontabs sysconfig. - -* Mon May 5 2008 Marcela Maslanova 1.10-21 -- 445079 delay script failed in case DELAY is zero - -* Fri Apr 4 2008 Marcela Maslanova 1.10-20 -- 440410 log pid of process instead of logger's pid - -* Mon Oct 22 2007 Marcela Maslanova 1.10-19 -- run-parts log also end of each job (patch from J. Kamens) -- Resolves: rhbz#303081 - -* Tue Sep 25 2007 Marcela Maslanova 1.10-18 -- cron.{hourly, daily,...} run ok -- rhbz#296741 - -* Thu Aug 30 2007 Marcela Maslanova 1.10-17 -- better solution of configuration script - -* Mon Aug 27 2007 Marcela Maslanova 1.10-16 -- 254220 typo in script run-parts - -* Tue Aug 21 2007 Marcela Maslanova 1.10-15 -- corrected license tag in spec -- add config file to crontab - delay of cron.{daily,...} could be - switch off -- Resolves: rhbz#253536 - -* Tue Feb 27 2007 Marcela Maslanova 1.10-14 -- review again - -* Thu Feb 8 2007 Marcela Maslanova 1.10-13 -- rhbz#225662 review - -* Mon Jan 29 2007 Marcela Maslanova 1.10-12 -- link daily,weekly,monthly -- rhbz#224687 - -* Wed Jan 24 2007 Marcela Maslanova 1.10-11 -- crontabs should ignore Cfengine files, rebuilt -- Resolves: rhbz#223472 - -* Wed Oct 11 2006 Marcela Maslanova 1.10-9 -- patch (#110894) for delaying more emails in the moment - -* Fri Jul 14 2006 Jesse Keating 0 1.10-8 -- rebuilt - -* Fri Dec 09 2005 Jesse Keating -- rebuilt - -* Mon Sep 20 2004 Jason Vas Dias -- rebuilt under new CVS for dist-fc3 - -* Fri Feb 13 2004 Elliot Lee -- rebuilt - -* Fri Feb 7 2003 Bill Nottingham -- not-as-automated rebuild - -* Fri Jun 21 2002 Tim Powers -- automated rebuild - -* Thu May 23 2002 Tim Powers -- automated rebuild - -* Wed Jan 09 2002 Tim Powers -- automated rebuild - -* Thu Jul 19 2001 Preston Brown -- don't require tmpwatch - -* Tue Feb 27 2001 Preston Brown -- noreplace crontab file; use tmppath - -* Wed Jan 31 2001 Bill Nottingham -- don't process ,v files (#15968) - -* Mon Aug 7 2000 Bill Nottingham -- put name of script in output of stuff run by run-parts (#12411) - -* Wed Jul 12 2000 Prospector -- automatic rebuild - -* Tue Jun 6 2000 Bill Nottingham -- rebuild - -* Fri Aug 27 1999 Jeff Johnson -- don't run *~ or *, files (#4740). - -* Thu Apr 15 1999 Bill Nottingham -- don't run .rpm{save,new,orig} files (bug #2190) - -* Sun Mar 21 1999 Cristian Gafton -- auto rebuild in the new build environment (release 5) - -* Mon Nov 30 1998 Bill Nottingham -- crontab: set HOME=/ - -* Sat Jun 27 1998 Jeff Johnson -- run-parts: skip sub-directories (e.g. CVS) found instead of complaining - -* Fri Apr 24 1998 Prospector System -- translations modified for de, fr, tr - -* Tue Apr 07 1998 Erik Troan -- moved crontab jobs up a bit to make sure they aren't confused by - switching to and fro daylight savings time - -* Fri Oct 24 1997 Erik Troan -- removed tmpwatch and at entries - -* Thu Jul 31 1997 Erik Troan -- made a noarch package +%autochangelog diff --git a/plans/ci.fmf b/plans/ci.fmf new file mode 100644 index 0000000..c1627f9 --- /dev/null +++ b/plans/ci.fmf @@ -0,0 +1,5 @@ +summary: Basic smoke test +discover: + how: fmf +execute: + how: tmt diff --git a/run-parts b/run-parts deleted file mode 100755 index 96c56a5..0000000 --- a/run-parts +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -# run-parts - concept taken from Debian - -# keep going when something fails -set +e - -if [ $# -lt 1 ]; then - echo "Usage: run-parts " - exit 1 -fi - -if [ ! -d $1 ]; then - echo "Not a directory: $1" - exit 1 -fi - -# Ignore *~ and *, scripts -for i in $(LC_ALL=C; echo $1/*[^~,]) ; do - [ -d $i ] && continue - # Don't run *.{rpmsave,rpmorig,rpmnew,swp,cfsaved} scripts - [ "${i%.cfsaved}" != "${i}" ] && continue - [ "${i%.rpmsave}" != "${i}" ] && continue - [ "${i%.rpmorig}" != "${i}" ] && continue - [ "${i%.rpmnew}" != "${i}" ] && continue - [ "${i%.swp}" != "${i}" ] && continue - [ "${i%,v}" != "${i}" ] && continue - - if [ -x $i ]; then - logger -p cron.notice -t "run-parts($1)[$$]" "starting $(basename $i)" - $i 2>&1 | awk -v "progname=$i" \ - 'progname { - print progname ":\n" - progname=""; - } - { print; }' - logger -i -p cron.notice -t "run-parts($1)" "finished $(basename $i)" - fi -done - -exit 0 diff --git a/sources b/sources index c71d3b0..4c06f8a 100644 --- a/sources +++ b/sources @@ -1,4 +1 @@ -ba1e7d606a110d281c16d9d49c6f335d config -03fa15e550843194a8ba55b473a6549a crontab -9b3ddd391150661ba50667a2a32cbda6 run-parts -159145e4bdd9f0fc6efaf040cba3480c 000-delay.cron +SHA512 (crontabs-1.11-20190603git.tar.gz) = 1f0dae337c9dcd07cbc20bdc2c596f4e6aa314c025329fa5d2d53048cf84ba1e0c82bb0b66fefb7333aa58290d421debe0aaf8bf5d6733ddd4442d9ad668a945 diff --git a/tests/test-of-functionality-of-crontabs/Makefile b/tests/test-of-functionality-of-crontabs/Makefile new file mode 100644 index 0000000..2d71943 --- /dev/null +++ b/tests/test-of-functionality-of-crontabs/Makefile @@ -0,0 +1,63 @@ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Makefile of /CoreOS/crontabs/Sanity/test-of-functionality-of-crontabs +# Description: test of functionality of crontabs +# Author: Petr Sklenar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2011 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# 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, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export TEST=/CoreOS/crontabs/Sanity/test-of-functionality-of-crontabs +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) + chmod a+x runtest.sh + +clean: + rm -f *~ $(BUILT_FILES) + + +include /usr/share/rhts/lib/rhts-make.include + +$(METADATA): Makefile + @echo "Owner: Petr Sklenar " > $(METADATA) + @echo "Name: $(TEST)" >> $(METADATA) + @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) + @echo "Path: $(TEST_DIR)" >> $(METADATA) + @echo "Description: test of functionality of crontabs" >> $(METADATA) + @echo "Type: Sanity" >> $(METADATA) + @echo "TestTime: 30m" >> $(METADATA) + @echo "RunFor: crontabs" >> $(METADATA) + @echo "Requires: crontabs" >> $(METADATA) + @echo "Priority: Normal" >> $(METADATA) + @echo "License: GPLv2" >> $(METADATA) + @echo "Confidential: no" >> $(METADATA) + @echo "Destructive: no" >> $(METADATA) + + rhts-lint $(METADATA) diff --git a/tests/test-of-functionality-of-crontabs/PURPOSE b/tests/test-of-functionality-of-crontabs/PURPOSE new file mode 100644 index 0000000..7e082f0 --- /dev/null +++ b/tests/test-of-functionality-of-crontabs/PURPOSE @@ -0,0 +1,3 @@ +PURPOSE of /CoreOS/crontabs/Sanity/test-of-functionality-of-crontabs +Description: test of functionality of crontabs +Author: Petr Sklenar diff --git a/tests/test-of-functionality-of-crontabs/main.fmf b/tests/test-of-functionality-of-crontabs/main.fmf new file mode 100644 index 0000000..30aff61 --- /dev/null +++ b/tests/test-of-functionality-of-crontabs/main.fmf @@ -0,0 +1,12 @@ +summary: test of functionality of crontabs +description: '' +contact: Petr Sklenar +component: + - crontabs +test: ./runtest.sh +framework: beakerlib +recommend: + - crontabs +duration: 30m +extra-summary: /CoreOS/crontabs/Sanity/test-of-functionality-of-crontabs +extra-task: /CoreOS/crontabs/Sanity/test-of-functionality-of-crontabs diff --git a/tests/test-of-functionality-of-crontabs/runtest.sh b/tests/test-of-functionality-of-crontabs/runtest.sh new file mode 100755 index 0000000..0090593 --- /dev/null +++ b/tests/test-of-functionality-of-crontabs/runtest.sh @@ -0,0 +1,84 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /CoreOS/crontabs/Sanity/test-of-functionality-of-crontabs +# Description: test of functionality of crontabs +# Author: Petr Sklenar +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2011 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# 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, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include rhts environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="crontabs" +#how long should we wait: +COUNT=5 +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + user="petr$RANDOM" + rlRun "rm -rf /tmp/test.createdbypetr /tmp/test.createdbyroot" 0 "Removing tmp directory" + rlRun "useradd $user" + rlRun "rlServiceStart crond" + rlFileBackup /etc/crontab + rlPhaseEnd + + rlPhaseStartTest + echo "* * * * * root echo root >> /tmp/test.createdbyroot" >> /etc/crontab + rlAssert0 "added first entry into crontab" $? + echo "* * * * * $user echo petr >> /tmp/test.createdbypetr" >> /etc/crontab + rlAssert0 "added second entry into crontab" $? + #sleep a while + rlRun "sleep ${COUNT}m" 0 "sleeping for 5m to wait for cron to create files" + rlPhaseEnd + + rlPhaseStartTest "check content" + byroot=`grep root /tmp/test.createdbyroot | wc -l` + bypetr=`grep petr /tmp/test.createdbypetr | wc -l` + if [ "$byroot" -ge "${COUNT}" ];then + rlPass "there is $byroot line" + else + rlFail "there is $byroot line" + fi + + if [ "$bypetr" -ge "${COUNT}" ];then + rlPass "there is $bypetr line" + else + rlFail "there is $bypetr line" + fi + rlPhaseEnd + + rlPhaseStartTest "check permissions of created files" + /bin/ls -la /tmp/test.createdbyroot | grep "root root" + rlAssert0 "permissions are root root" $? + /bin/ls -la /tmp/test.createdbypetr | grep "$user $user" + rlAssert0 "permissions are $user $user" $? + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "rm -rf /tmp/test.createdbypetr /tmp/test.createdbyroot" 0 "Removing tmp directory" + rlRun "userdel -rf $user" + rlRun "rlServiceRestore crond" + rlFileRestore + rlPhaseEnd +rlJournalPrintText +rlJournalEnd