Lines Matching refs:tst_test
20 #include "tst_test.h"
53 struct tst_test *tst_test;
122 if (tst_test->needs_checkpoints || tst_test->child_needs_reinit) {
131 if (tst_test->needs_checkpoints) {
321 if (tst_test->cleanup)
322 tst_test->cleanup();
430 if (!tst_test->forks_child)
453 if (!tst_test->forks_child)
542 if (tst_test->max_runtime) {
543 runtime = multiply_runtime(tst_test->max_runtime);
566 if (!tst_test->options)
569 for (i = 0; tst_test->options[i].optstr; i++) {
571 tst_test->options[i].optstr[0],
572 tst_test->options[i].help);
579 const struct tst_tag *tags = tst_test->tags;
608 struct tst_option *toptions = tst_test->options;
627 if (!tst_test->options)
630 for (i = 0; tst_test->options[i].optstr; i++)
639 struct tst_option *toptions = tst_test->options;
674 strcat(optstr, tst_test->options[i].optstr);
690 if (tst_test->max_runtime > 0)
691 tst_test->max_runtime = SAFE_STRTOL(optarg, 1, INT_MAX);
829 const struct tst_tag *tags = tst_test->tags;
905 if (tst_parse_kver(tst_test->min_kver, &v1, &v2, &v3)) {
908 tst_test->min_kver);
913 tst_test->min_kver);
936 return tst_test->needs_tmpdir ||
937 tst_test->needs_device ||
938 tst_test->mntpoint ||
939 tst_test->resource_files ||
940 tst_test->needs_checkpoints;
947 for (i = 0; tst_test->resource_files[i]; i++)
948 TST_RESOURCE_COPY(NULL, tst_test->resource_files[i], NULL);
974 if (tst_test->test)
977 if (tst_test->test_all)
980 if (tst_test->sample)
989 if (tst_test->test && !tst_test->tcnt)
992 if (!tst_test->test && tst_test->tcnt)
1037 SAFE_MOUNT("none", tst_test->mntpoint, "hugetlbfs", 0, NULL);
1073 if (!tst_test->dev_min_size)
1104 if (tst_test->format_device) {
1105 SAFE_MKFS(tdev.dev, tdev.fs_type, tst_test->dev_fs_opts,
1106 tst_test->dev_extra_opts);
1109 if (tst_test->needs_rofs) {
1110 prepare_and_mount_ro_fs(tdev.dev, tst_test->mntpoint,
1115 if (tst_test->mount_device) {
1116 mnt_data = limit_tmpfs_mount_size(tst_test->mnt_data,
1119 SAFE_MOUNT(get_device_name(tdev.fs_type), tst_test->mntpoint,
1120 tdev.fs_type, tst_test->mnt_flags, mnt_data);
1128 .needs_ver = tst_test->needs_cgroup_ver,
1130 const char *const *ctrl_names = tst_test->needs_cgroup_ctrls;
1140 if (!tst_test)
1143 if (tst_test->max_runtime < -1) {
1148 if (tst_test->tconf_msg)
1149 tst_brk(TCONF, "%s", tst_test->tconf_msg);
1155 if (tst_test->sample)
1156 tst_test = tst_timer_test_setup(tst_test);
1160 if (tst_test->needs_kconfigs && tst_kconfig_check(tst_test->needs_kconfigs))
1163 if (tst_test->needs_root && geteuid() != 0)
1166 if (tst_test->min_kver)
1169 if (tst_test->supported_archs && !tst_is_on_arch(tst_test->supported_archs))
1172 if (tst_test->skip_in_lockdown && tst_lockdown_enabled() > 0)
1175 if (tst_test->skip_in_secureboot && tst_secureboot_enabled() > 0)
1178 if (tst_test->skip_in_compat && TST_ABI != tst_kernel_bits())
1181 if (tst_test->needs_cmds) {
1185 for (i = 0; (cmd = tst_test->needs_cmds[i]); ++i)
1189 if (tst_test->needs_drivers) {
1193 for (i = 0; (name = tst_test->needs_drivers[i]); ++i)
1198 if (tst_test->mount_device)
1199 tst_test->format_device = 1;
1201 if (tst_test->format_device)
1202 tst_test->needs_device = 1;
1204 if (tst_test->all_filesystems)
1205 tst_test->needs_device = 1;
1207 if (tst_test->min_cpus > (unsigned long)tst_ncpus())
1208 tst_brk(TCONF, "Test needs at least %lu CPUs online", tst_test->min_cpus);
1210 if (tst_test->min_mem_avail > (unsigned long)(tst_available_mem() / 1024))
1211 tst_brk(TCONF, "Test needs at least %luMB MemAvailable", tst_test->min_mem_avail);
1213 if (tst_test->min_swap_avail > (unsigned long)(tst_available_swap() / 1024))
1214 tst_brk(TCONF, "Test needs at least %luMB SwapFree", tst_test->min_swap_avail);
1216 if (tst_test->hugepages.number)
1217 tst_reserve_hugepages(&tst_test->hugepages);
1221 if (tst_test->bufs)
1222 tst_buffers_alloc(tst_test->bufs);
1227 if (tst_test->save_restore) {
1228 const struct tst_path_val *pvl = tst_test->save_restore;
1236 if (tst_test->mntpoint)
1237 SAFE_MKDIR(tst_test->mntpoint, 0777);
1239 if ((tst_test->needs_devfs || tst_test->needs_rofs ||
1240 tst_test->mount_device || tst_test->all_filesystems ||
1241 tst_test->needs_hugetlbfs) &&
1242 !tst_test->mntpoint) {
1243 tst_brk(TBROK, "tst_test->mntpoint must be set!");
1246 if (!!tst_test->needs_rofs + !!tst_test->needs_devfs +
1247 !!tst_test->needs_device + !!tst_test->needs_hugetlbfs > 1) {
1252 if (tst_test->needs_devfs)
1253 prepare_and_mount_dev_fs(tst_test->mntpoint);
1255 if (tst_test->needs_rofs) {
1259 if (prepare_and_mount_ro_fs(NULL, tst_test->mntpoint, "tmpfs")) {
1262 tst_test->needs_device = 1;
1263 tst_test->format_device = 1;
1267 if (tst_test->needs_hugetlbfs)
1270 if (tst_test->needs_device && !mntpoint_mounted) {
1271 tdev.dev = tst_acquire_device_(NULL, tst_test->dev_min_size);
1280 if (tst_test->dev_fs_type)
1281 tdev.fs_type = tst_test->dev_fs_type;
1285 if (!tst_test->all_filesystems)
1289 if (tst_test->needs_overlay && !tst_test->mount_device)
1290 tst_brk(TBROK, "tst_test->mount_device must be set");
1292 if (tst_test->needs_overlay && !mntpoint_mounted)
1293 tst_brk(TBROK, "tst_test->mntpoint must be mounted");
1295 if (tst_test->needs_overlay && !ovl_mounted) {
1300 if (tst_test->resource_files)
1303 if (tst_test->restore_wallclock)
1306 if (tst_test->taint_check)
1307 tst_taint_init(tst_test->taint_check);
1309 if (tst_test->needs_cgroup_ctrls)
1311 else if (tst_test->needs_cgroup_ver)
1312 tst_brk(TBROK, "tst_test->needs_cgroup_ctrls must be set");
1319 if (!tst_test->all_filesystems && tst_test->skip_filesystems) {
1323 if (tst_fs_in_skiplist(fs_name, tst_test->skip_filesystems)) {
1331 if (tst_test->caps)
1332 tst_cap_setup(tst_test->caps, TST_CAP_REQ);
1334 if (tst_test->setup)
1335 tst_test->setup();
1340 if (tst_test->caps)
1341 tst_cap_setup(tst_test->caps, TST_CAP_DROP);
1346 if (tst_test->needs_cgroup_ctrls)
1353 tst_umount(tst_test->mntpoint);
1355 if (tst_test->needs_device && tdev.dev)
1366 if (tst_test->restore_wallclock)
1395 if (!tst_test->test) {
1398 tst_test->test_all();
1410 for (i = 0; i < tst_test->tcnt; i++) {
1413 tst_test->test(i);
1616 if (tst_test->taint_check && tst_taint_check()) {
1621 if (tst_test->forks_child && kill(-test_pid, SIGKILL) == 0)
1643 const char *const *filesystems = tst_get_supported_fs_types(tst_test->skip_filesystems);
1658 tst_umount(tst_test->mntpoint);
1676 void tst_run_tcases(int argc, char *argv[], struct tst_test *self)
1682 tst_test = self;
1692 if (tst_test->max_runtime)
1693 results->max_runtime = multiply_runtime(tst_test->max_runtime);
1697 if (tst_test->test_variants)
1698 test_variants = tst_test->test_variants;
1701 if (tst_test->all_filesystems)