summary refs log tree commit diff
path: root/src/testsuite
AgeCommit message (Collapse)Author
2020-05-07SSL test server: Use port 6790, like "test server #2"Alexander Barton
Don't use the "standard" IRC SSL port 6697, as this easily collides with real (ng)IRCd instances running on the same machine. And by reusing port 6790, which is already used by the "test server #2", we don't need any other port than the test suite already uses.
2020-04-25updating testsuite to support ssl-testsJohann Hartwig Hauschild
2020-03-29Test suite: Test multiple "Modes" lines in [Channel] sectionsAlexander Barton
2020-03-29Predefined channles: Fix handling of legacy configuration optionsAlexander Barton
Fix the handling of legacy "Key" and "MaxUsers" [Channel] settings: - Activate them before evaluating the "Modes" parameter, to allow the latter to override those legacy options. - Enforce setting the respective +k/+l mode(s) to support the legacy "Mode = kl" notation, which was valid but is an invalid MODE string: key and limit are missing! So set them manually when "k" or "l" are detected in the first MODE parameter. - Sort modes +kl alphabetically, adjust test suite accordingly.
2019-11-03Make test suite compatible with HaikuAlexander Barton
2018-11-28Implement new configuration option "MaxPenaltyTime" (#251)Alexander Barton
This option configures the maximum penalty time increase in seconds, per penalty event. Set to -1 for no limit (the default), 0 to disable penalties altogether. ngIRCd doesn't use penalty increases higher than 2 seconds during normal operation, so values higher than 1 rarely make sense. Disabling (or reducing) penalties can greatly speed up "make check" runs for example, see below, but are mostly a debugging feature and normally not meant to be used on production systems! Some example timings running "make check" from my macOS workstation: - MaxPenaltyTime not set: 4:41,79s - "MaxPenaltyTime = 1": 3:14,71s - "MaxPenaltyTime = 0": 25,46s Closes #249.
2016-01-07Send_Message: Fix handling of "empty" targetsAlexander Barton
Clients can specify multiple targets for the "PRIVMSG", "NOTICE", and "SQUERY" commands, separated by commas (e. g. "PRIVMSG a,#b,c :text"). Since commit 49ab79d0 ("Limit the number of message targes, and suppress duplicates"), ngIRCd crashed when the client sent the separator character only as target(s), e. g. "," or ",,,," etc.! This patch fixes the bug and adds a test case for this issue. Thanks to Florian Westphal <fw@strlen.de> for spotting the issue!
2016-01-04Limit the number of message targes, and suppress duplicatesAlexander Barton
This prevents an user from flooding the server using commands like this: PRIVMSG nick1,nick1,nick1,... Duplicate targets are suppressed silently (channels and clients). In addition, the maximum number of targets per PRIVMSG/NOTICE/... command are limited to MAX_HNDL_TARGETS (25). If there are more, the daemon sends the new 407 (ERR_TOOMANYTARGETS_MSG) numeric, containing the first target that hasn't been handled any more. Closes #187.
2015-12-30Test suite: Add new test for server-server loginsAlexander Barton
This test detects the recent NJOIN breakage, for example ...
2015-07-19Streamline ".gitignore" filesAlexander Barton
2015-03-14Don't send nick name as default PART reasonAlexander Barton
No other IRC daemon seems to do this (today?), don't remember why ngIRCd did it in the first place ... Closes #185. Reported by Cahata in #ngircd, thanks!
2015-03-11Fix typo in src/testsuite/READMEAlexander Barton
2014-06-09Test suite: Don't use DNS lookupsAlexander Barton
Different operating systems do behave quite differently when doing DNS lookups, for example "127.0.0.1" sometimes resolves to "localhost" and sometimes to "localhost.localdomain" (for example OpenBSD). And other systems resolve "localhost" to the real host name (for example Cygwin). So not using DNS at all makes the test site much more portable.
2014-06-04Add "tests-skipped.lst" to src/testsuite/.gitignoreAlexander Barton
2014-06-04Test suite/platformtest.sh: Detect when tests have been skippedAlexander Barton
Detect if some tests have been skipped, for example when telnet(1) or expect(1) is missing: ./contrib/platformtest.sh will echo a warning message now.
2014-04-17Test suite: Update file headers and commentsAlexander Barton
2014-01-10Test suite: explicitely enable glibc memory checkingAlexander Barton
2013-09-03getpid.sh: use /bin/pidof when availableAlexander Barton
2013-05-25IncludeDir: default to "$SYSCONFDIR/ngircd.conf.d"Alexander Barton
Now "IncludeDir" defaults to "$SYSCONFDIR/ngircd.conf.d" instead of no directory, but a missing directory is only reported as an error if it has explicitely configured in the main configuration file and simply ignored otherwise. Therefore it is now possible not to touch the default (sample) configuration file at all, and set all distribution and/or system specific configuration options in "*.conf" files stored in "$SYSCONFDIF/ngircd.conf.d/". Thanks to "Elmasloco" for the idea!
2013-02-22src/testsuite/README: add whois-test.eAlexander Barton
2012-12-25Add Cygwin binaries (*.exe) to .gitignore filesAlexander Barton
2012-11-13Test suite: correctly execute tests when stdout is redirectedAlexander Barton
2012-11-04Test suite: add some "remote checks" to whois-test.eAlexander Barton
2012-10-19Update error messages for user mode +b and channel Mode +M.DNS777
Replaced error message for channel mode +M with ERR_NEEDREGGEDNICK_MSG (used by Bahamut, inspircd, ircu & Unreal too) and using numeric 477 and the msg simliar like inspircd. Replaced the error message ERR_CANNOTSENDTONICK_MSG for user mode +b with ERR_NONONREG_MSG and using numeric 486, similar like unrealircd. (cherry picked from commit 55a61ab17f63a9e757b7c7598c31b98ce5a132e8 and commit 3737d9ab7da1ea0485cefc07c65dc5308bf0db02)
2012-10-15Test suite: add more checks to whois-test.eAlexander Barton
2012-10-08Test suite: add test for user mode "b"Alexander Barton
2012-10-06Test suite: make expect scripts more verboseAlexander Barton
Now tests.sh transforms each expect script it executes using sed(1) and inserts a 'puts -nonewline stderr "."' in front of each "expect" command.
2012-10-06Test suite: remove indentation of messagesAlexander Barton
2012-09-27Test suite: don't use "mkdir -p"Alexander Barton
"mkdir -p" is not supported on all platforms. Tested with Apple A/UX 3.1.x.
2012-09-27Fix getpid.sh to work on Apple A/UX againAlexander Barton
2012-09-24Remove all geneerated Makefile.am on "make maintainer-clean"Alexander Barton
2012-09-24Merge branch 'automake-am11-am12'Alexander Barton
* automake-am11-am12: autogen.sh: detect automake version format a.b.c and a.b configure.ng: don't require GIT tree to detect version string Include .mailmap file in distribution archives Include all build-system files into distribution archives Change build system to support new and old GNU automake
2012-09-24automake: don't use INCLUDES, it's AM_CPPFLAGS nowadaysAlexander Barton
2012-09-24Include all build-system files into distribution archivesAlexander Barton
2012-09-23Change build system to support new and old GNU automakeAlexander Barton
Starting with GNU automake 1.12, the "de-ANSI-fication support" has been removed, which ngIRCd used to enable building itself on very old systems. Now the problem is, that using automake >= 1.12 isn't working because of the now unsupported M4 macros. Therefore the solution that this patch implements is to dynamically generate the automake input files with our own ./autogen.sh script: configure.ng => configure.in Makefile.ng => Makefile.am This is quite an ugly approach, but it works and enables us to: 1. use current automake >= 1.12 for development and "private builds", 2. still build distribution archives using automake 1.11.x that have "de-ANSI-fication support" enabled in the generated Makefile's. And if you are using Makefile's generated with a automake version newer than 1.11.x (without "de-ANSI-fication support"), the ./configure script warns you not to use this generated build system to generate distribution archives. Drawback of this patch: you MUST use our autogen.sh script, you can't call the autoconf/automake commands directly any more; but autoreconf should still work ...
2012-08-06Tests and documentation for xopSebastian Köhler
2012-03-03getpid.sh: Fix testcase error for Debian using sbuildChristoph Biedl
When * building the ngircd Debian package (on Linux at least) and * using the sbuild build system, the command "ps -af" does not include the commands running inside the sbuild system. Therefore, start-server.sh will report a fail as getpid.sh cannot not find the ./T-ngircd1 just started although it's actually running. This results in a funny build log ... starting server 1 ... failure! FAIL: start-server1 running connect-test ... ok. PASS: connect-test The self-test of getpid.sh however will likely succeed as it's happy if it sees any process with "sh" somewhere in the name. Things go downhill from there. The confusing things are: * The alternative cowbuilder/pbuilder does not have this problem. * The alternative usage "ps ax" does fine. So, as a quick hack, the patch attached adds another switch to getpid.sh.
2012-01-21PRIVMSG/NOTICE: handle nick!user@host masks case-insensitiveAlexander Barton
And enhance our test suite to check this a little bit better :-)
2011-12-30Fixed handling of WHO commandsAlexander Barton
This fixes two bugs: - "WHO <nick>" returned nothing at all if the user was "+i" (reported by Cahata, thanks). - "WHO <nick|nickmask>" returned channel names instead of "*" when the user was member of a (visible) channel. Clean up code and add documentation as well.
2011-11-10whois-test: handle local hostname = "localhost.localdomain"Alexander Barton
Use the pattern "localhost*" for valid local hostnames.
2011-08-22Testsuite: bind to loopback (127.0.0.1) interface onlyAlexander Barton
2011-07-30Testsuite: make getpid.sh work even when run as rootAlexander Barton
Use ps(1) flag "-a" (as well as "-f"): "Select all processes except both session leaders (see getsid(2)) and processes not associated with a terminal." Thanks to Götz Hoffart for reporting this problem!
2011-06-25Testsuite: update configuration files for new config file formatAlexander Barton
2011-03-19Add "whois-test" to testsuite and distribution archiveAlexander Barton
Test script proposed by Dana Dahlstrom, 2008-02-17. See <https://arthur.barton.de/bugzilla/show_bug.cgi?id=72> ...
2011-03-19Add support for up to 3 targets in WHOIS queries.Florian Westphal
also allow up to one wildcard query from local hosts. Follows ircd 2.10 implementation rather than RFC 2812. At most 10 entries are returned per wildcard expansion. WHOIS test cases by Dana Dahlstrom.
2011-01-19ngircd-test2.conf: really disable Ident and PAM ...Alexander Barton
2011-01-18Add [Features] section to ngircd-test{1|2}.confAlexander Barton
Fix commit 5a34bb203a: It is not enough to strip the "No" prefix from "Ident" and "PAM", but we have to introduce the new [Features] section to fix all warning messages of ngIRCd. Variables "Ident" and "PAM" in [Global] are completely wrong :-(
2011-01-18Update testsuite configuration: strip No... prefixesAlexander Barton
2010-07-13Set NoPAM=yes in configuration files used for the testsuiteAlexander Barton
2009-03-07testsuite: add more predefined channels to server configFlorian Westphal
make sure it creates & and +, and accepts channel names without a special character (ngircd should treat 'Name = chan' as 'Name = #chan').