summaryrefslogtreecommitdiff
path: root/tests/resources/config
Commit message (Collapse)AuthorAgeFilesLines
* Config parsing confused by continuations that start with quotesSven Strickroth2021-12-061-0/+10
| | | | | | (fixes issue #6089) Signed-off-by: Sven Strickroth <email@cs-ware.de>
* Add test config parsingBasile Henry2021-09-091-0/+5
| | | | | This tests parsing a multiline string containing multiple quoted comment chars. See #6019
* Fix config file parsing with multi line values containing quoted partsSven Strickroth2020-09-181-0/+10
| | | | Signed-off-by: Sven Strickroth <email@cs-ware.de>
* config_entries: micro-optimize storage of multivarsPatrick Steinhardt2019-11-051-0/+40000
| | | | | | | | | | | | | | | | | | | | | | | Multivars are configuration entries that have many values for the same name; we can thus micro-optimize this case by just retaining the name of the first configuration entry and freeing all the others, letting them point to the string of the first entry. The attached test case is an extreme example that demonstrates this. It contains a section name that is approximately 500kB in size with 20.000 entries "a=b". Without the optimization, this would require at least 20000*500kB bytes, which is around 10GB. With this patch, it only requires 500kB+20000*1B=20500kB. The obvious culprit here is the section header, which we repeatedly include in each of the configuration entry's names. This makes it very easier for an adversary to provide a small configuration file that disproportionally blows up in memory during processing and is thus a feasible way for a denial-of-service attack. Unfortunately, we cannot fix the root cause by e.g. having a separate "section" field that may easily be deduplicated due to the `git_config_entry` structure being part of our public API. So this micro-optimization is the best we can do for now.
* Write a test.Nelson Elhage2018-08-141-0/+1
|
* config: Add test cases that have trailing spaces before comment charsLinquize2014-10-041-0/+6
|
* Rename tests-clar to testsBen Straub2013-11-1424-0/+109
|
* Moved testing resources to clar, and removed old tests directory.Ben Straub2012-03-3113-58/+0
| | | | Removed the BUILD_CLAR CMake flag, and updated the readme.
* Implement setting multivarsCarlos Martín Nieto2012-02-171-2/+2
|
* tests: add multivar read testCarlos Martín Nieto2012-02-171-0/+3
|
* config: behave like git with [section.subsection]Carlos Martín Nieto2011-10-011-0/+5
| | | | | | | | The documentation is a bit misleading. The subsection name is always case-sensitive, but with a [section.subsection] header, the subsection is transformed to lowercase when the configuration is parsed. Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
* config: make git_config_[get|set]_long() able to properly deal with 8 bytes ↵nulltoken2011-09-221-0/+1
| | | | | | | | wide values Should fix issue #419. Signed-off-by: nulltoken <emeric.fermas@gmail.com>
* Add test for section header at end of fileCarlos Martín Nieto2011-07-051-0/+1
| | | | Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
* Add tests for deleting a config varCarlos Martín Nieto2011-07-051-0/+1
| | | | Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
* Add fall-back support to the configurationCarlos Martín Nieto2011-06-171-0/+1
| | | | | | | If a config has several files, we need to check all of them before we can say that a variable doesn't exist. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
* Add a test for overriding configCarlos Martín Nieto2011-06-171-0/+2
| | | | | | The repo's configuration should take precedence over the global one. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
* Test replacing a valueCarlos Martín Nieto2011-06-141-0/+2
| | | | | | Add a test to check that value replacement works. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
* Add test for empty config fileCarlos Martín Nieto2011-05-311-0/+0
| | | | Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
* Add test for invalid ext headerCarlos Martín Nieto2011-05-311-0/+5
| | | | Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
* Add config test for empty lineCarlos Martín Nieto2011-05-311-0/+5
| | | | Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
* config: allow uppercase number suffixesCarlos Martín Nieto2011-04-191-0/+3
| | | | Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
* config: add tests for number suffixCarlos Martín Nieto2011-04-111-0/+6
| | | | Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
* config: test for a variable on its ownCarlos Martín Nieto2011-04-041-0/+3
| | | | | | | If a variable is on its own, truth should be assumed. Check this is true in our code. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
* config: add testsCarlos Martín Nieto2011-04-044-0/+20
These tests are basic, but they should tell us when we've broken something. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>