test.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /* vim: set tabstop=8 shiftwidth=4 softtabstop=4 expandtab smarttab colorcolumn=80: */
  2. /*
  3. * Copyright (c) 2016 Red Hat, Inc.
  4. * Author: Nathaniel McCallum <npmccallum@redhat.com>
  5. *
  6. * This program is free software: you can redistribute it and/or modify it
  7. * under the terms of the GNU Lesser General Public License as published by
  8. * the Free Software Foundation, either version 2.1 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * This program is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU Lesser General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU Lesser General Public License
  17. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  18. */
  19. #include "luksmeta.h"
  20. #include <stdbool.h>
  21. #include <assert.h> /* All tests need assert() */
  22. #include <unistd.h> /* All tests need unlink() */
  23. #define FILESIZE 4194304
  24. #define END(s) { (s), FILESIZE - (s), true }, { 0, 0 }
  25. #define ALIGN(s, up) (((s) + (up ? 4095 : 0)) & ~4095ULL)
  26. typedef struct {
  27. size_t start;
  28. size_t length;
  29. bool zero;
  30. } range_t;
  31. extern char filename[];
  32. bool
  33. test_layout(range_t *ranges);
  34. void
  35. test_hole(struct crypt_device *cd, uint32_t *offset, uint32_t *length);
  36. struct crypt_device *
  37. test_format(void);
  38. struct crypt_device *
  39. test_init(void);