1*17f9a364Spgoyetteregular expression test set 2*17f9a364SpgoyetteLines are at least three fields, separated by one or more tabs. "" stands 3*17f9a364Spgoyettefor an empty field. First field is an RE. Second field is flags. If 4*17f9a364SpgoyetteC flag given, regcomp() is expected to fail, and the third field is the 5*17f9a364Spgoyetteerror name (minus the leading REG_). 6*17f9a364Spgoyette 7*17f9a364SpgoyetteOtherwise it is expected to succeed, and the third field is the string to 8*17f9a364Spgoyettetry matching it against. If there is no fourth field, the match is 9*17f9a364Spgoyetteexpected to fail. If there is a fourth field, it is the substring that 10*17f9a364Spgoyettethe RE is expected to match. If there is a fifth field, it is a comma- 11*17f9a364Spgoyetteseparated list of what the subexpressions should match, with - indicating 12*17f9a364Spgoyetteno match for that one. In both the fourth and fifth fields, a (sub)field 13*17f9a364Spgoyettestarting with @ indicates that the (sub)expression is expected to match 14*17f9a364Spgoyettea null string followed by the stuff after the @; this provides a way to 15*17f9a364Spgoyettetest where null strings match. The character `N' in REs and strings 16*17f9a364Spgoyetteis newline, `S' is space, `T' is tab, `Z' is NUL. 17*17f9a364Spgoyette 18*17f9a364SpgoyetteThe full list of flags: 19*17f9a364Spgoyette - placeholder, does nothing 20*17f9a364Spgoyette b RE is a BRE, not an ERE 21*17f9a364Spgoyette & try it as both an ERE and a BRE 22*17f9a364Spgoyette C regcomp() error expected, third field is error name 23*17f9a364Spgoyette i REG_ICASE 24*17f9a364Spgoyette m ("mundane") REG_NOSPEC 25*17f9a364Spgoyette s REG_NOSUB (not really testable) 26*17f9a364Spgoyette n REG_NEWLINE 27*17f9a364Spgoyette ^ REG_NOTBOL 28*17f9a364Spgoyette $ REG_NOTEOL 29*17f9a364Spgoyette # REG_STARTEND (see below) 30*17f9a364Spgoyette p REG_PEND 31*17f9a364Spgoyette 32*17f9a364SpgoyetteFor REG_STARTEND, the start/end offsets are those of the substring 33*17f9a364Spgoyetteenclosed in (). 34