summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2023-01-19Decoupling loops from threads to allow fixed thread countMaria Matejka
On large configurations, too many threads would spawn with one thread per loop. Therefore, threads may now run multiple loops at once. The thread count is configurable and may be changed during run. All threads are spawned on startup. This change helps with memory bloating. BIRD filters need large temporary memory blocks to store their stack and also memory management keeps its hot page storage per-thread. Known bugs: * Thread autobalancing is not yet implemented. * Low latency loops are executed together with standard loops.
2023-01-19Removed config reparsing from unrelated testsMaria Matejka
2022-09-18Longer unit test default timeout to prevent spurious build failures on slow ↵Maria Matejka
virtuals
2022-08-01Fixed main birdloop init in unit testsMaria Matejka
Some unit tests weren't initializing the birdloop, trying to write the birdloop ping into stdin. Fixed this and also forced stdin close on startup of every test just to be sure that CI and local build behave the same in this. (CI was failing on this while local build not.)
2022-07-18Merge commit '94eb0858' into thread-nextMaria Matejka
2022-05-04Explicit definition structures of route attributesMaria Matejka
Changes in internal API: * Every route attribute must be defined as struct ea_class somewhere. * Registration of route attributes known at startup must be done by ea_register_init() from protocol build functions. * Every attribute has now its symbol registered in a global symbol table defined as SYM_ATTRIBUTE * All attribute ID's are dynamically allocated. * Attribute value custom formatting hook is defined in the ea_class. * Attribute names are the same for display and filters, always prefixed by protocol name. Also added some unit testing code for filters with route attributes.
2022-05-04Splitting route data structures out to libMaria Matejka
2022-04-06Protocols have their own explicit init routinesMaria Matejka
2022-03-09Fixed resource initialization in unit testsMaria Matejka
2022-03-02Introducing an universal temporary linpool flushed after every taskMaria Matejka
2022-03-02Merge commit '2c13759136951ef0e70a3e3c2b2d3c9a387f7ed9' into haugesundMaria Matejka
2021-11-26Trie: Implement longest-prefix-match queries and walksOndrej Zajicek (work)
The prefix trie now supports longest-prefix-match query by function trie_match_longest_ipX() and it can be extended to iteration over all covering prefixes for a given prefix (from longest to shortest) using TRIE_WALK_TO_ROOT_IPx() macro.
2021-11-22Converting the former BFD loop to a universal IO loop and protocol loop.Maria Matejka
There is a simple universal IO loop, taking care of events, timers and sockets. Primarily, one instance of a protocol should use exactly one IO loop to do all its work, as is now done in BFD. Contrary to previous versions, the loop is now launched and cleaned by the nest/proto.c code, allowing for a protocol to just request its own loop by setting the loop's lock order in config higher than the_bird. It is not supported nor checked if any protocol changed the requested lock order in reconfigure. No protocol should do it at all.
2021-10-13fixup! Multipage allocationMaria Matejka
2021-09-25Filter: Add prefix trie benchmarksOndrej Zajicek (work)
Add trie tests intended as benchmarks that use external datasets instead of generated prefixes. As datasets are not included, they are commented out by default.
2021-09-25Filter: Improve prefix trie testsOndrej Zajicek (work)
Add tests explicitly matching insides and outsides of trie and update tests to do testing of both IPv4 and IPv6 tries.
2021-09-10Reducing filter stack size to allow for lesser thread stack sizeMaria Matejka
2021-02-10Tests: Add missing mockup function to testsOndrej Zajicek (work)
2020-06-03Test: Fix unit test mockupsOndrej Zajicek (work)
2020-05-01IPv6 address parser: fail on incomplete addressesMaria Matejka
2019-12-17Test: Improve filter_testOndrej Zajicek (work)
Initial parsing of test.conf must be done directly in filter_test main, while reconfiguration is handled as a regular test. Also fix several minor issues in test code.
2019-10-09Testing measures timesMaria Matejka
2019-10-04Testing: Don't call vsnprintf with NULL formatMaria Matejka
2019-10-04Fixed undefined behavior on signals.Maria Matejka
The C11 specification allows only sig_atomic_t and _Atomic variable access. All other accesses to global variables are undefined behavior. Using int was probably OK on x86 and x86_64; yet there were some reports from other architectures (especially some MIPS) that in rare cases, after issuing SIGHUP, BIRD did strange things.
2019-07-10Merge branch 'master' into mq-filter-stackMaria Matejka
2019-07-09Test: Fixed annoying warnings (and possible obscure bugs).Maria Matejka
2019-07-09Test: better random u64 generatorMaria Matejka
2019-07-03Merge branch 'master' into mq-filter-stackMaria Matejka
2019-06-30Add mock-up function for unit testsOndrej Zajicek (work)
They failed without it.
2019-06-12Add mock-up function for unit testsOndrej Zajicek (work)
They failed without it.
2019-02-20Test: Added -d flag to die directly after first error.Maria Matejka
2019-02-20Test: Fixed annoying warnings (and possible obscure bugs).Maria Matejka
2018-05-29Protocol: Introducing an enum protocol_classJan Maria Matejka
This supersedes the EAP_* constants.
2017-12-07Timers: Fix tests after timer changeOndrej Zajicek (work)
2016-12-13Minor cleanupsOndrej Zajicek (work)
2016-11-11Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0Pavel Tvrdik
2016-11-11Birdtest: Put hard new lines for strict line widthPavel Tvrdik
This patch ensures width of output lines from testing framework (not debug output). So output piped lined into file that has default width 80 cols is now correctly wrapped.
2016-11-09 Unit Testing for BIRDOndrej Zajicek (work)
- Unit Testing Framework (BirdTest) - Integration of BirdTest into the BIRD build system - Tests for several BIRD modules Based on squashed Pavel Tvrdik's int-test branch, updated for current int-new branch.