Applied. Thanks! -t
On Tue, Jun 24, 2014 at 8:42 PM, Ronny Chevalier <[email protected]> wrote: > --- > .gitignore | 1 + > Makefile.am | 13 ++++++++ > src/journal/test-compress.c | 76 > +++++++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 90 insertions(+) > create mode 100644 src/journal/test-compress.c > > diff --git a/.gitignore b/.gitignore > index 36c67e2..d2e81a2 100644 > --- a/.gitignore > +++ b/.gitignore > @@ -140,6 +140,7 @@ > /test-cgroup > /test-cgroup-mask > /test-cgroup-util > +/test-compress > /test-conf-files > /test-daemon > /test-date > diff --git a/Makefile.am b/Makefile.am > index bc56d75..4b292b2 100644 > --- a/Makefile.am > +++ b/Makefile.am > @@ -3509,6 +3509,15 @@ test_catalog_CPPFLAGS = \ > test_catalog_LDADD = \ > libsystemd-journal-core.la > > +if HAVE_XZ > +test_compress_SOURCES = \ > + src/journal/test-compress.c > + > +test_compress_LDADD = \ > + libsystemd-journal-internal.la \ > + libsystemd-shared.la > +endif > + > libsystemd_journal_core_la_SOURCES = \ > src/journal/journald-kmsg.c \ > src/journal/journald-kmsg.h \ > @@ -3591,6 +3600,10 @@ tests += \ > test-mmap-cache \ > test-catalog > > +if HAVE_XZ > +tests += test-compress > +endif > + > pkginclude_HEADERS += \ > src/systemd/sd-journal.h \ > src/systemd/sd-messages.h \ > diff --git a/src/journal/test-compress.c b/src/journal/test-compress.c > new file mode 100644 > index 0000000..15b3f9a > --- /dev/null > +++ b/src/journal/test-compress.c > @@ -0,0 +1,76 @@ > +/*** > + This file is part of systemd > + > + Copyright 2014 Ronny Chevalier > + > + systemd is free software; you can redistribute it and/or modify it > + under the terms of the GNU Lesser General Public License as published by > + the Free Software Foundation; either version 2.1 of the License, or > + (at your option) any later version. > + > + systemd is distributed in the hope that it will be useful, but > + WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + Lesser General Public License for more details. > + > + You should have received a copy of the GNU Lesser General Public License > + along with systemd; If not, see <http://www.gnu.org/licenses/>. > +***/ > + > +#include "compress.h" > +#include "util.h" > +#include "macro.h" > + > +static void test_compress_uncompress(void) { > + char text[] = "foofoofoofoo AAAA aaaaaaaaa ghost busters barbarbar > FFF" > + "foofoofoofoo AAAA aaaaaaaaa ghost busters barbarbar > FFF"; > + char compressed[512]; > + uint64_t csize = 512; > + uint64_t usize = 0; > + _cleanup_free_ char *uncompressed = NULL; > + > + assert_se(compress_blob(text, sizeof(text), compressed, &csize)); > + assert_se(uncompress_blob(compressed, > + csize, > + (void **) &uncompressed, > + &usize, &csize, 0)); > + assert_se(uncompressed); > + assert_se(streq(uncompressed, text)); > + assert_se(!uncompress_blob("garbage", > + 7, > + (void **) &uncompressed, > + &usize, &csize, 0)); > +} > + > +static void test_uncompress_startswith(void) { > + char text[] = "foofoofoofoo AAAA aaaaaaaaa ghost busters barbarbar > FFF" > + "foofoofoofoo AAAA aaaaaaaaa ghost busters barbarbar > FFF"; > + char compressed[512]; > + uint64_t csize = 512; > + uint64_t usize = 0; > + _cleanup_free_ char *uncompressed = NULL; > + > + assert_se(compress_blob(text, sizeof(text), compressed, &csize)); > + assert_se(uncompress_startswith(compressed, > + csize, > + (void **) &uncompressed, > + &usize, > + "foofoofoofoo", 12, ' ')); > + assert_se(!uncompress_startswith(compressed, > + csize, > + (void **) &uncompressed, > + &usize, > + "foofoofoofoo", 12, 'w')); > + assert_se(!uncompress_startswith(compressed, > + csize, > + (void **) &uncompressed, > + &usize, > + "barbarbar", 9, ' ')); > +} > + > +int main(int argc, char *argv[]) { > + test_compress_uncompress(); > + test_uncompress_startswith(); > + > + return 0; > +} > -- > 2.0.0 > > _______________________________________________ > systemd-devel mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/systemd-devel _______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
