blob: 054b8c73c951e4e50be759ea4b8cb322d80e9041 [file] [log] [blame]
Josef Bacikdc11dd52013-08-14 15:05:12 -04001/*
2 * Copyright (C) 2013 Fusion IO. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public
6 * License v2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public
14 * License along with this program; if not, write to the
15 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
16 * Boston, MA 021110-1307, USA.
17 */
18
19#ifndef __BTRFS_TESTS
20#define __BTRFS_TESTS
21
22#ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS
23
Frank Holtonefe120a2013-12-20 11:37:06 -050024#define test_msg(fmt, ...) pr_info("BTRFS: selftest: " fmt, ##__VA_ARGS__)
Josef Bacikdc11dd52013-08-14 15:05:12 -040025
Josef Bacikfaa2dbf2014-05-07 17:06:09 -040026struct btrfs_root;
Omar Sandoval7c55ee02015-09-29 20:50:36 -070027struct btrfs_trans_handle;
Josef Bacikfaa2dbf2014-05-07 17:06:09 -040028
Josef Bacikdc11dd52013-08-14 15:05:12 -040029int btrfs_test_free_space_cache(void);
Josef Bacik06ea65a2013-09-19 16:07:01 -040030int btrfs_test_extent_buffer_operations(void);
Josef Bacik294e30f2013-10-09 12:00:56 -040031int btrfs_test_extent_io(void);
Josef Bacikaaedb552013-10-11 14:44:09 -040032int btrfs_test_inodes(void);
Josef Bacikfaa2dbf2014-05-07 17:06:09 -040033int btrfs_test_qgroups(void);
Omar Sandoval7c55ee02015-09-29 20:50:36 -070034int btrfs_test_free_space_tree(void);
Josef Bacik294e30f2013-10-09 12:00:56 -040035int btrfs_init_test_fs(void);
36void btrfs_destroy_test_fs(void);
37struct inode *btrfs_new_test_inode(void);
Josef Bacikfaa2dbf2014-05-07 17:06:09 -040038struct btrfs_fs_info *btrfs_alloc_dummy_fs_info(void);
39void btrfs_free_dummy_root(struct btrfs_root *root);
Omar Sandoval7c55ee02015-09-29 20:50:36 -070040struct btrfs_block_group_cache *
41btrfs_alloc_dummy_block_group(unsigned long length);
42void btrfs_free_dummy_block_group(struct btrfs_block_group_cache *cache);
43void btrfs_init_dummy_trans(struct btrfs_trans_handle *trans);
Josef Bacikdc11dd52013-08-14 15:05:12 -040044#else
45static inline int btrfs_test_free_space_cache(void)
46{
47 return 0;
48}
Josef Bacik06ea65a2013-09-19 16:07:01 -040049static inline int btrfs_test_extent_buffer_operations(void)
50{
51 return 0;
52}
Josef Bacik294e30f2013-10-09 12:00:56 -040053static inline int btrfs_init_test_fs(void)
54{
55 return 0;
56}
57static inline void btrfs_destroy_test_fs(void)
58{
59}
60static inline int btrfs_test_extent_io(void)
61{
62 return 0;
63}
Josef Bacikaaedb552013-10-11 14:44:09 -040064static inline int btrfs_test_inodes(void)
65{
66 return 0;
67}
Josef Bacikfaa2dbf2014-05-07 17:06:09 -040068static inline int btrfs_test_qgroups(void)
69{
70 return 0;
71}
Omar Sandoval7c55ee02015-09-29 20:50:36 -070072static inline int btrfs_test_free_space_tree(void)
73{
74 return 0;
75}
Josef Bacikdc11dd52013-08-14 15:05:12 -040076#endif
77
78#endif