aboutsummaryrefslogtreecommitdiffstats
path: root/test/meson.build
AgeCommit message (Collapse)AuthorFilesLines
2022-01-28Add custom allocator supportDavid Robillard1-1/+3
2022-01-28Fix handling of deferred write errors that happen when closingDavid Robillard1-0/+6
2022-01-28Add "contextual" output optionDavid Robillard1-0/+8
This is mainly for developer or power-user cases, where one wants to look at some data for investigation or debugging. In such cases, it's common for the set of prefixes to be implicitly known (because they are baked in to the application, for example), so printing them just produces a large amount of redundant noise. That said, it can also be useful programmatically, because it allows several snippets to be written independently and ultimately concatenated (with a header to define the prefixes) without redundancy.
2022-01-28Simplify input stream APIDavid Robillard1-1/+0
More or less the same rationale as the previous commit, but for reading. This makes for nice symmetry with writing, at the cost of a slightly more annoying reader interface since the source doesn't know its block size or name.
2022-01-28Simplify output stream APIDavid Robillard1-1/+0
This makes the paging mechanism an internal detail once again. While it's conceptually elegant to simply have a single write interface and have the block dumper just be another implementation of that, unfortunately it is not practical. The inlining of serd_block_dumper_write() is a significant performance boost, because it avoids a non-inlinable function call of overhead per character. Compared to the SerdByteSink approach, this removes the burden and overhead of needing to dynamically allocate the structure itself.
2022-01-28Fix pretty-printing nested empty lists and add test suiteDavid Robillard1-0/+2
The earlier "test" was just hitting the code without actually checking the output. This new suite is a set of pretty-printed documents which serd must reproduce from a model exactly to pass. This should make it easy to add cases in the future, since each case is just a document, as it should look.
2022-01-28Make tools read stdin by defaultDavid Robillard1-22/+0
2022-01-28Replace serdi with more fine-grained toolsDavid Robillard1-104/+289
Especially with the new functionality, the complexity of the command-line interface alone was really becoming unmanageable. The serdi implementation also had the highest cyclomatic complexity of the entire codebase by a huge margin. So, take a page from the Unix philosophy and split serdi into several more finely-honed tools that can be freely composed. Though there is still unfortunately quite a bit of option overlap between them due to the common details of reading RDF, I think the resulting tools are a lot easier to understand, both from a user and a developer perspective.
2022-01-28Split up test suite build definitionsDavid Robillard1-84/+13
2022-01-28Collapse input and output options into a single flagDavid Robillard1-4/+5
2022-01-28Move serdi to tools subdirectoryDavid Robillard1-1/+1
This separates the command-line tool code from the library implementation.
2022-01-28Replace serdi -b and -e options with a block size optionDavid Robillard1-6/+4
This is more powerful, and reduces the number of command line options that almost nobody needs to care about.
2022-01-14Add statement filteringDavid Robillard1-0/+18
2022-01-14Add support for converting literals to canonical formDavid Robillard1-0/+8
2022-01-14Add modelDavid Robillard1-0/+2
2022-01-14Add serd_node_from_syntax() and serd_node_to_syntax()David Robillard1-0/+1
2022-01-14Add extensible logging APIDavid Robillard1-0/+19
2022-01-13Add support for parsing variablesDavid Robillard1-0/+8
This adds a reader flag and serdi option for extending a syntax with support for SPARQL-like variables, for storing things like patterns or simple queries.
2022-01-13Make Reader always read from a ByteSourceDavid Robillard1-4/+12
2022-01-13Add support for reading multiple files at onceDavid Robillard1-0/+5
2022-01-13Simplify handling of input string argumentsDavid Robillard1-0/+1
2022-01-13Add input base URI optionDavid Robillard1-0/+1
2022-01-13Split out simple reader unit testsDavid Robillard1-0/+1
2022-01-13Make Writer always write to a ByteSinkDavid Robillard1-0/+9
2022-01-13Add empty syntax type for suppressing outputDavid Robillard1-0/+9
2022-01-13Add support for writing terse collectionsDavid Robillard1-1/+12
2022-01-13Simplify writer style optionsDavid Robillard1-3/+0
2022-01-13Add SerdNodes for storing a cache of interned nodesDavid Robillard1-0/+1
2022-01-13Add SerdStatementDavid Robillard1-0/+1
2022-01-13Add SerdCaretDavid Robillard1-0/+1
2022-01-13Add serd_world_get_blank()David Robillard1-0/+1
2022-01-13Use exess for reading and writing numeric and binary literalsDavid Robillard1-3/+29
2022-01-13Improve reader error handlingDavid Robillard1-0/+1
2022-01-13Use a fixed-size reader stackDavid Robillard1-1/+5
2022-01-13Add SerdSink interface and hide implementationsDavid Robillard1-0/+1
2022-01-13Simplify URI API and implementationDavid Robillard1-1/+1
2022-01-13Switch to MesonDavid Robillard1-0/+184