summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)AuthorFilesLines
2010-04-24Fix how the source directory is defined.Daniel Burrows1-1/+1
A dict apparently can't be appended, but a tuple (var, value) works.
2010-04-24Directly depend on .o files to eliminate the scons warning.Daniel Burrows1-1/+1
Apparently scons is happy to depend on the output of another environment; the problem was that I was implicitly defining a second build rule for the .o in a new environment.
2010-04-24Start adding extra dependencies into src/ to the test build files.Daniel Burrows1-2/+11
This causes a problem (currently nonfatal but should be fixed), because scons doesn't like that I ask for some .cc files with "different" environments. Need to look into how best to fix this.
2010-04-24Define SRCDIR for the Boost test.Daniel Burrows1-0/+3
2010-04-24Deal with the fact that BOOST_TEST_NO_MAIN might be defined by a compiler flag.Daniel Burrows1-0/+2
2010-04-24Try to build and run unit tests, and only build aptitude by default.Daniel Burrows1-0/+39
TODO: probably should add a UnitTest builder.
2010-04-21Fix a second type error in the parsers code.Daniel Burrows1-1/+1
2010-04-21Fix type errors caused by a change to the return type of fusion::make_vector.Daniel Burrows1-3/+10
2010-04-21Fix the unit tests to #include <loggers.h> for the new namespace.Daniel Burrows2-0/+4
2010-04-21Rename the log4cxx namespace to logging.Daniel Burrows5-22/+22
There are various problems with log4cxx, especially that it seems to be unreliable and leads to random crashes. It might be a good idea to eventually move to a different framework or roll our own. Decreasing the number of explicit dependencies on log4cxx is a good way to do that.
2010-04-20Allow "conflict" to be specified as a safety level again, with its old ↵Daniel Burrows1-0/+12
behavior, and fix setting safety levels using the old names. aptitude's behavior should now be fully compatible with pre-0.6.2 releases (by default). The safety level change fixes the fact that you could raise safety levels using the old names but not lower them.
2010-04-19Test the planned new convention around NULL expressions (they're treated as ↵Daniel Burrows1-0/+97
"true"). Currently this crashes.
2010-04-19Write tests of the "not" expression.Daniel Burrows1-0/+58
2010-04-19Write out tests of "or" that are dual to the tests of "and".Daniel Burrows1-0/+276
2010-04-19Add tests checking what happens if one input to a doubleton is *lowered*.Daniel Burrows1-0/+81
2010-04-19Un-swap the first and second case of the doubleton test, and add a test that ↵Daniel Burrows1-1/+59
raising just one input to an AND has no effect.
2010-04-19Expect the child_modified call that comes from an "and" expression to refer ↵Daniel Burrows1-4/+4
to the expression itself, not to the child that triggered the call.
2010-04-19Print the child that was modified when printing a child_modified_call object.Daniel Burrows1-1/+2
2010-04-19Add the missing registration call for the new test suite.Daniel Burrows1-0/+2
2010-04-19Add a first test of "and" over two elements.Daniel Burrows1-0/+33
2010-04-19Actually run the new tests.Daniel Burrows1-0/+6
2010-04-19Add some basic tests of "and" expressions.Daniel Burrows1-0/+91
2010-04-19Add tests of the expression weak reference subsystem.Daniel Burrows1-0/+33
2010-04-19Start a suite of unit tests for the incremental expression module of the ↵Daniel Burrows2-0/+273
resolver.
2010-04-18Implement the test that placing a cost on breaking a soft dependency has an ↵Daniel Burrows1-2/+84
effect.
2010-04-18Add a utility routine to make it simpler to test resolver runs, by viewing ↵Daniel Burrows1-0/+24
their output as a list.
2010-04-17Fix the test of the temporary file system to match the new behavior.Daniel Burrows1-4/+4
All you can count on about the new temporary file name now is that it starts with the prefix.
2010-04-09Terminology change: replace "tier operation" with "cost" everywhere.Daniel Burrows3-216/+218
The only remaining references to tiers are in backwards-compatibility code; the "safety" cost component is composed of several "tiers" whose values can be configured.
2010-04-09Restructure the source tree to move tier_ related code into files whose name ↵Daniel Burrows3-5/+5
is based on "cost" instead.
2010-04-08Yank out the "tier" type and just use operations instead.Daniel Burrows1-134/+1
Although the concept of a "tier" is useful (to distinguish changes in the tier from the things being changed), the actual data type isn't needed. We can just store an operation that computes the tier of a step given a minimal tier. Throwing out tier objects yields several benefits. It makes the code somewhat simpler by reducing the number of complex object types floating around. It will make it easier to clean up the nomenclature by talking about costs instead of tiers. And it will make it easier to impose a "cost ceiling", just by virtue of making the cost-tracking subsystem simpler.
2010-04-08Add a placeholder for a future test that the break-soft-dep cost does the ↵Daniel Burrows1-0/+6
right thing.
2010-04-08Fix the tests to compile with the new resolver constructor signature.Daniel Burrows1-13/+39
2010-04-04Nomenclature change: manyOne -> manyPlus, sepByOne -> sepByPlus, skipManyOne ↵Daniel Burrows1-26/+26
-> skipManyPlus The old nomenclature was based on the Haskell library Parsec, which in turn draws on idioms from that community. But C++ has no such idiom, and the literal text of the function name makes it sound like it recognizes only one instead of *at least* one. Change to "plus", which I think is much clearer (and of course references the EBNF suffix "+" operator).
2010-04-04Fix the expected return values in the cost settings parse test.Daniel Burrows1-2/+2
2010-04-04Implement a new system of "container parsers" that allows much more flexible ↵Daniel Burrows1-10/+239
specification of parser that recognize various types of sequences.
2010-03-21Add an explicit test that trailing separators don't confuse the parse library.Daniel Burrows1-0/+12
2010-03-21Add a test verifying that "max" can't be used as a cost component name.Daniel Burrows1-1/+2
2010-03-21Write a parser that fails unconditionally.Daniel Burrows1-0/+21
2010-03-21More diagnostic information when a fail test fails (also output the ↵Daniel Burrows1-2/+9
structure it supposedly parsed to).
2010-03-21Be more informative about which input didn't pass the test in the test of ↵Daniel Burrows1-1/+14
things that should fail to parse.
2010-03-21With the new operator== and operator<<, I can use CPPUNIT_ASSERT_EQUALS and ↵Daniel Burrows1-69/+28
get a more sensible error message.
2010-03-20Capture parse exceptions at the main entry point to the library and turn ↵Daniel Burrows1-24/+12
them into a typed return value using boost::variant.
2010-03-20Write code to test the error position reporting and parsing Boost ranges.Daniel Burrows1-0/+42
The Boost range parsing is now a free function instead of a member of parser_base. Without some more metaprogramming I couldn't get it to stop conflicting with the other single-argument parse routine (the one that takes an input object).
2010-03-20Write a "between" convenience routine that sandwiches a parser between two ↵Daniel Burrows1-0/+53
side parsers.
2010-03-20Terminology change: skip -> skipMany.Daniel Burrows1-24/+24
I felt it needed to be more clear that this *does* match multiple copies of the input.
2010-03-20Write a lexeme convenience wrapper that adds "drop trailing whitespace" to ↵Daniel Burrows1-0/+31
anything in the obvious way.
2010-03-20Fix the expected input position after the foreach failure.Daniel Burrows1-1/+1
2010-03-20Test the failure case for both foreach and many.Daniel Burrows1-0/+24
As it turns out, foreach is buggy and doesn't fail.
2010-03-20Implement a sepBy parser for lists of separated values (e.g., ↵Daniel Burrows1-0/+70
comma-separated lists).
2010-03-20Change the internal protocol of the parser library to support tracking line ↵Daniel Burrows1-1/+1
and column numbers, and to support any Boost-style range. The big change here is to use an abstraction for the input rather than directly passing an iterator pair. The abstraction handles counting lines and columns as the iterator is advanced through the input. Still need to test that lines and columns are coming out right.