From Bugzilla Helper: User-Agent: Mozilla/4.75 [en] (X11; U; Linux 2.2.17 i686) I just finished uploading a number of patches to the Debian bug tracking system (BTS). They include patches for fixing numerous bugs in the lexer/parser, fixes for daylight savings time (DST) offsets, fix for 'midnight' being treated differently from '12 am' and '12:00 am', fixes for the batch(1) shell script, and a test harness for the lexer/parser that is written in Perl. #86672: Fixing numerous bugs and cleaning up lexer/parser used with at(1) http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=86672 #70988: "batch" doesn't understand TIME same as "at" http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=70988 #86662: test harness for the lexer/parser in at(1) http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=86662 See also: #86571: at mishandles UTC timezone offset http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=86571 #86573: at handles 'midnight' differently from '12:00 am' http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=86573 Reproducible: Always Steps to Reproduce: 1. echo echo hi | batch friday 2. echo echo hi | at 4 pm friday + 1 day 3. echo echo hi | at tomorrow + 1 year 4. echo echo hi | at 31 December [There are many other formats that don't work. This is just a sample.] Actual Results: 1. echo echo hi | batch friday parse error. Last token seen: friday Garbled time 2. echo echo hi | at 4 pm friday + 1 day parse error. Last token seen: + Garbled time 3. echo echo hi | at tomorrow + 1 year parse error. Last token seen: year Garbled time 4. echo echo hi | at 31 December Problem in hours specification. Last token seen: December Garbled time Expected Results: 1. echo echo hi | batch friday warning: commands will be executed using /bin/sh job 18 at 2001-02-23 09:18 2. echo echo hi | at 4 pm friday + 1 day warning: commands will be executed using /bin/sh job 19 at 2001-02-24 16:00 3. echo echo hi | at tomorrow + 1 year warning: commands will be executed using /bin/sh job 20 at 2002-02-21 09:19 4. echo echo hi | at 31 December warning: commands will be executed using /bin/sh job 21 at 2001-12-31 09:19 I compiled at-3.1.8-12 from Red Hat 7.0 on my Red Hat 6.2 system, which is why the version of at(1) and Red Hat don't match.
Created attachment 10520 [details] Patch to fix batch shell script and to update configure.in
Created attachment 10521 [details] Lexer/parser patch with numerous fixes; incorporates pre-patch mentioned in Debian bug
Created attachment 10522 [details] Patch to implement test harness for lexer/parser that is written in Perl
Created attachment 10524 [details] Modifcations to at.spec for building at-3.1.8-12 with new patches; note fix to at.allow(5) and at.deny(5) manpages
Created attachment 11762 [details] Fixes handling of daylight savings when adding or subtracting years in add_date() (apply after at-3.1.8-lexer-parser2.diff)
Created attachment 11763 [details] Fixed two test cases in @date_time_tests_date where a year was added if the current date was December 31 (no year should be added in this case) (apply after at-3.1.8-test.diff)
Where does one find parsetest that is used in test.pl?
Nevermind, I read the Makefile....