# This file is part of GNU Mailutils. -*- Autotest -*- # Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, # Inc. # # GNU Mailutils 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, or (at # your option) any later version. # # GNU Mailutils 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 GNU Mailutils. If not, see . dnl ------------------------------------------------------------ dnl TESTADDR(ADDR, [KW = `'], [STATUS = `0'], [STDOUT = `'], dnl [STDERR = `'], [RUN-IF-FAIL], [RUN-IF-PASS]) dnl m4_define([TESTADDR],[ AT_SETUP([Address: [$1]]) AT_KEYWORDS([address $2]) AT_CHECK([m4_if(m4_index([$1],[']),-1,[addr '[$1]'], [AT_DATA([input],[$1 ]) addr < input])],m4_shift(m4_shift($@))) AT_CLEANUP ]) TESTADDR([Sam <@[matrix (smtp)], @[nexus: [node 12]]:sroberts@[10].[1]>],[], [1], [], [MU_ERR_BAD_822_FORMAT ]) TESTADDR([a@b,z@y],[], [0], [naddr: 2 1. email : local-part domain 2. email : local-part domain ]) TESTADDR([,a@b,z@y],[], [0], [naddr: 2 1. email : local-part domain 2. email : local-part domain ]) TESTADDR([a@b,z@y,],[], [0], [naddr: 2 1. email : local-part domain 2. email : local-part domain ]) TESTADDR([,a@b,z@y,],[], [0], [naddr: 2 1. email : local-part domain 2. email : local-part domain ]) TESTADDR([a@b,,z@y],[], [0], [naddr: 2 1. email : local-part domain 2. email : local-part domain ]) TESTADDR([a@b,,,z@y],[], [0], [naddr: 2 1. email : local-part domain 2. email : local-part domain ]) TESTADDR([,,,a@b,,,],[], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([,a@b],[], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([a@b,],[], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([,],[], [1], [], [MU_ERR_EMPTY_ADDRESS ]) TESTADDR([,,],[], [1], [], [MU_ERR_EMPTY_ADDRESS ]) TESTADDR([,,],[], [1], [], [MU_ERR_EMPTY_ADDRESS ]) TESTADDR([a group: a@b,z@y;],[group], [0], [naddr: 2 1. email : local-part domain 2. email : local-part domain ]) TESTADDR([a group: ,a@b,z@y;],[group], [0], [naddr: 2 1. email : local-part domain 2. email : local-part domain ]) TESTADDR([a group: a@b,z@y,;],[group], [0], [naddr: 2 1. email : local-part domain 2. email : local-part domain ]) TESTADDR([a group: ,a@b,z@y,;],[group], [0], [naddr: 2 1. email : local-part domain 2. email : local-part domain ]) TESTADDR([a group: a@b,,z@y;],[group], [0], [naddr: 2 1. email : local-part domain 2. email : local-part domain ]) TESTADDR([a group: a@b,,,z@y;],[group], [0], [naddr: 2 1. email : local-part domain 2. email : local-part domain ]) TESTADDR([a group: ,,,a@b,,, ;],[group], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([a group: ,a@b ;],[group], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([a group: a@b, ;],[group], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([a group: , ;],[group], [1], [], [MU_ERR_EMPTY_ADDRESS ]) TESTADDR([a group: ,, ;],[group], [1], [], [MU_ERR_EMPTY_ADDRESS ]) TESTADDR([a group: ,, ;],[group], [1], [], [MU_ERR_EMPTY_ADDRESS ]) TESTADDR([Sam <@[matrix (smtp)], @[nexus: [node 12]]:sroberts@[10].[1]> ;],[], [1], [], [MU_ERR_BAD_822_FORMAT ]) TESTADDR([Aliens: Sam <@[matrix (smtp)]: sam@sam>, sroberts@[10].[1];],[], [0], [[naddr: 2 1. email : personal local-part domain route <@[matrix (smtp)]> 2. email : local-part domain <[10].[1]> ]]) TESTADDR([lo@hi, Aliens: Sam <@[matrix (smtp)]: sam@sam>, sroberts@[10].[1];], [], [0], [[naddr: 3 1. email : local-part domain 2. email : personal local-part domain route <@[matrix (smtp)]> 3. email : local-part domain <[10].[1]> ]]) TESTADDR([Aliens: Sam <@[matrix (smtp)]: sam@sam>, sroberts@[10].[1];, hi@lo], [], [0], [[naddr: 3 1. email : personal local-part domain route <@[matrix (smtp)]> 2. email : local-part domain <[10].[1]> 3. email : local-part domain ]]) TESTADDR([lo@hi, Aliens: Sam <@[matrix (smtp)]: sam@sam>, sroberts@[10].[1];, hi@lo], [], [0], [[naddr: 4 1. email : local-part domain 2. email : personal local-part domain route <@[matrix (smtp)]> 3. email : local-part domain <[10].[1]> 4. email : local-part domain ]]) TESTADDR([Sam <@mail2.uniserve.com:sroberts@uniserve.com>],[], [0], [naddr: 1 1. email : personal local-part domain route <@mail2.uniserve.com> ]) TESTADDR([< (hey) @ (hey, )smtp1.sympatico.ca, mail2.uniserve.com (hoo!):sroberts@uniserve.com>],[], [1], [], [MU_ERR_BAD_822_FORMAT ]) TESTADDR([hw@570.com (Hardware Support Account)],[], [0], [naddr: 1 1. email : personal local-part domain <570.com> ]) TESTADDR([list-ietf-wg-apps-drums@faerber.muc.de (=?ISO-8859-1?Q?Claus_F=E4rber?=)],[], [0], [naddr: 1 1. email : personal <=?ISO-8859-1?Q?Claus_F=E4rber?=> local-part domain ]) TESTADDR([(mutt #369), guug-bugs-closed@guug.de (#369)],[], [0], [naddr: 2 1. email : local-part domain 2. email : personal <#369> local-part domain ]) TESTADDR(["'Aernoudt Bottemanne'" ],[], [0], [naddr: 1 1. email : personal <'Aernoudt Bottemanne'> local-part domain ]) TESTADDR(["'Haag, Ullrich - MBDC'" ,],[], [0], [naddr: 1 1. email : personal <'Haag, Ullrich - MBDC'> local-part domain ]) TESTADDR(["'Michael C. Ibarra'" , arl@q7.net, Al ], [], [0], [naddr: 3 1. email : personal <'Michael C. Ibarra'> local-part domain 2. email : local-part domain 3. email : personal local-part domain ]) TESTADDR(["'Sam Roberts'" ],[], [0], [naddr: 1 1. email : personal <'Sam Roberts'> local-part domain ]) TESTADDR(["'paul@pitbull-productions.com'" ,],[], [0], [naddr: 1 1. email : personal <'paul@pitbull-productions.com'> local-part domain ]) TESTADDR(["'sam@cogent.ca'" , "'sroberts@uniserve.com'"],[], [0], [], [MU_ERR_BAD_822_FORMAT ]) TESTADDR(["'sroberts\@certicom\.ca'" ],[], [0], [naddr: 1 1. email : personal <'sroberts@certicom.ca'> local-part domain ]) TESTADDR(["=?iso-8859-1?Q?Juan_Carlos_Marcos_Rodr=EDguez?=" ],[], [0], [naddr: 1 1. email : personal <=?iso-8859-1?Q?Juan_Carlos_Marcos_Rodr=EDguez?=> local-part domain ]) TESTADDR(["Christian Edward Gruber" ,],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["D. J. Bernstein" <"djb- "@cr.yp.to>],[], [0], [naddr: 1 1. email <"djb- "@cr.yp.to>: personal local-part domain ]) TESTADDR(["D. J. Bernstein" , drums@cs.utk.edu],[], [0], [naddr: 2 1. email : personal local-part domain 2. email : local-part domain ]) TESTADDR(["Dave Sill ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["Dave \(work\) Baerg \(E-mail\)" ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["Demian" ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["Detailed Revision/Update of Message Standards" ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["Fred" ],[], [0], [naddr: 1 1. email : personal local-part domain <__nowhere__.users.sourceforge.net> ]) TESTADDR(["Haag, Ullrich - MBDC" ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["Jacob Palme" , ],[], [0], [naddr: 2 1. email : personal local-part domain 2. email : local-part domain ]) TESTADDR(["Jakob 'sparky' Kaivo" ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["Lee R. Copp" ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["Lionel Johnson" ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["Martin [Keso] Keseg" ],[], [0], [[naddr: 1 1. email : personal local-part domain ]]) TESTADDR(["}{ristoph" ],[], [0], [naddr: 1 1. email : personal <}{ristoph> local-part domain ]) TESTADDR(["fmartens-2000" ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["g'o'tz ohnesorge" ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["gao jie" ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["gnupg-devel@gnupg.org" ], [], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["gpg-devel" ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["jigang" ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["misc@openbsd.org" ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["misc@openbsd.org" , brian@Awfulhak.org],[], [0], [naddr: 2 1. email : personal local-part domain 2. email : local-part domain ]) TESTADDR(["mutt-dev @ mutt . orgThomas Roessler" ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["zwk@f36.n480.z2.fidonet.org" ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(['Dan Dall'Acqua' , 'Dave Shyong'],[], [0], [], [MU_ERR_BAD_822_FORMAT ]) TESTADDR([0xdeadbeef-request@petting-zoo.net],[], [0], [naddr: 1 1. email <0xdeadbeef-request@petting-zoo.net>: local-part <0xdeadbeef-request> domain ]) TESTADDR([102023-00406421@cnxt19932218.conexant.com],[], [0], [naddr: 1 1. email <102023-00406421@cnxt19932218.conexant.com>: local-part <102023-00406421> domain ]) TESTADDR([218164.24.43@jobcontrolcenter.com],[], [0], [naddr: 1 1. email <218164.24.43@jobcontrolcenter.com>: local-part <218164.24.43> domain ]) TESTADDR([<0xdeadbeef-request@petting-zoo.net>],[], [0], [naddr: 1 1. email <0xdeadbeef-request@petting-zoo.net>: local-part <0xdeadbeef-request> domain ]) TESTADDR([<>],[], [0], [naddr: 1 1. email <>: ]) TESTADDR([],[], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([],[], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([],[], [1], [], [MU_ERR_BAD_822_FORMAT ]) TESTADDR([],[], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([, ,],[], [0], [naddr: 2 1. email : local-part domain 2. email : local-part domain ]) TESTADDR([],[], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([],[], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([=?ISO-8859-1?Q?Kolbj=F8rn_Barmen?= ],[], [0], [naddr: 1 1. email : personal <=?ISO-8859-1?Q?Kolbj=F8rn_Barmen?=> local-part domain ]) TESTADDR([=?ISO-8859-1?Q?Patrik_F=E4ltstr=F6m?= ],[], [0], [naddr: 1 1. email : personal <=?ISO-8859-1?Q?Patrik_F=E4ltstr=F6m?=> local-part domain ]) TESTADDR([=?ISO-8859-1?Q?Patrik_F=E4ltstr=F6m?= ,],[], [0], [naddr: 1 1. email : personal <=?ISO-8859-1?Q?Patrik_F=E4ltstr=F6m?=> local-part domain ]) TESTADDR([=?US-ASCII?Q?gary=5Fc?= ],[], [0], [naddr: 1 1. email : personal <=?US-ASCII?Q?gary=5Fc?=> local-part domain ]) TESTADDR([=?iso-8859-1?Q?Fr=E9d=E9ric_L_=2E_W_=2E?= Meunier <0@pervalidus.net>],[], [0], [naddr: 1 1. email <0@pervalidus.net>: personal <=?iso-8859-1?Q?Fr=E9d=E9ric_L_=2E_W_=2E?= Meunier> local-part <0> domain ]) TESTADDR([=?iso-8859-1?Q?Fr=E9d=E9ric_L_=2E_W_=2E?= Meunier <0@pervalidus.net>,],[], [0], [naddr: 1 1. email <0@pervalidus.net>: personal <=?iso-8859-1?Q?Fr=E9d=E9ric_L_=2E_W_=2E?= Meunier> local-part <0> domain ]) TESTADDR([=?iso-8859-1?Q?Fr=E9d=E9ric_L_=2E_W_=2E_Meunier?= <0@pervalidus.net>],[], [0], [naddr: 1 1. email <0@pervalidus.net>: personal <=?iso-8859-1?Q?Fr=E9d=E9ric_L_=2E_W_=2E_Meunier?=> local-part <0> domain ]) TESTADDR([=?iso-8859-1?Q?J=F8rgen_Thomsen?= ],[], [0], [naddr: 1 1. email : personal <=?iso-8859-1?Q?J=F8rgen_Thomsen?=> local-part domain ]) TESTADDR([=?iso-8859-1?Q?Jos=3F_C=2E_Garc=EDa_Sogo?= ],[], [0], [naddr: 1 1. email : personal <=?iso-8859-1?Q?Jos=3F_C=2E_Garc=EDa_Sogo?=> local-part domain ]) TESTADDR([=?iso-8859-1?Q?Mikko_H=E4nninen?= ],[], [0], [naddr: 1 1. email : personal <=?iso-8859-1?Q?Mikko_H=E4nninen?=> local-part domain ]) TESTADDR([=?iso-8859-1?Q?Mikko_H=E4nninen?= ],[], [0], [naddr: 1 1. email : personal <=?iso-8859-1?Q?Mikko_H=E4nninen?=> local-part domain ]) TESTADDR([=?iso-8859-1?Q?R=E9mi_Guyomarch?= ],[], [0], [naddr: 1 1. email : personal <=?iso-8859-1?Q?R=E9mi_Guyomarch?=> local-part domain <321.net> ]) TESTADDR([=?iso-8859-1?Q?Ulf_M=F6ller?= ],[], [0], [naddr: 1 1. email : personal <=?iso-8859-1?Q?Ulf_M=F6ller?=> local-part domain ]) TESTADDR([ANDREW MARTIN ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR([Abhay Ghaisas , mutt-dev@mutt.org],[], [0], [naddr: 2 1. email : personal local-part domain 2. email : local-part domain ]) TESTADDR([Brian Salter-Duke ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR([Catharine Shyong ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR([DRUMS-Last-Call:;],[], [1], [], [MU_ERR_EMPTY_ADDRESS ]) TESTADDR([Detailed Revision/Update of Message Standards ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR([Eric Allman ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR([Gary ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR([IETF working group on revision of mail standards ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR([IETF-Announce:;],[], [1], [], [MU_ERR_EMPTY_ADDRESS ]) TESTADDR([IETF-Announce:;, drums@cs.utk.edu],[], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([Jean-Baptiste Marchand ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR([Jonathan Rozes ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR([Jose "C." Garcia Sogo],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR([Marco d'Itri ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR([No_Reply-To@mapquest.com],[], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([OSULLIE@rte.ie, skidswam@hotmail.com, boot],[], [0], [naddr: 3 1. email : local-part domain 2. email : local-part domain 3. email : local-part domain ]) TESTADDR([Paul Hoffman / IMC ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR([Sam],[], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([Sam Roberts ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR([Sam_Roberts/Certicom%Certicom@certicom.com],[], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([Thomas Roessler , 490@bugs.guug.de],[], [0], [naddr: 2 1. email : personal local-part domain 2. email <490@bugs.guug.de>: local-part <490> domain ]) TESTADDR([Thomas Roessler , g10@gnupg.org],[], [0], [naddr: 2 1. email : personal local-part domain 2. email : local-part domain ]) TESTADDR([ddickey@ip-12-22-50-150.hqglobal.net],[], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([ktb ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR([mcaustin@eudoramail.com, aposner@usaid.gov, Kieran.O'Leary@anpost.ie],[], [0], [naddr: 3 1. email : local-part domain 2. email : local-part domain 3. email : local-part domain ]) TESTADDR([rfunk@wks.uts.ohio-state.eduofflinemailer-bounce@dikke.penguin.nl],[], [1], [], [MU_ERR_BAD_822_FORMAT ]) TESTADDR([root],[], [0], [naddr: 1 1. email : local-part domain ]) TESTADDR([whom it may concern: ;;whom.it.may.concern: ;],[], [1], [], [MU_ERR_BAD_822_FORMAT ]) TESTADDR([whom it may concern: mutt-dev@mutt.org, mutt-users@mutt.org;],[], [0], [naddr: 2 1. email : local-part domain 2. email : local-part domain ]) TESTADDR([Sergey V. Poznyakoff ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR([P. D. Q. Bach ],[], [0], [naddr: 1 1. email : personal local-part domain ]) TESTADDR(["A bad quote\" ],[], [1], [], [MU_ERR_BAD_822_FORMAT ])