11.1Sperseant/* $NetBSD: t_basic.c,v 1.1 2025/10/13 00:44:35 perseant Exp $ */ 21.1Sperseant 31.1Sperseant#include <sys/types.h> 41.1Sperseant#include <sys/mount.h> 51.1Sperseant#include <sys/wait.h> 61.1Sperseant 71.1Sperseant#include <atf-c.h> 81.1Sperseant#include <ctype.h> 91.1Sperseant#include <errno.h> 101.1Sperseant#include <fcntl.h> 111.1Sperseant#include <limits.h> 121.1Sperseant#include <stdio.h> 131.1Sperseant#include <stdlib.h> 141.1Sperseant#include <unistd.h> 151.1Sperseant#include <string.h> 161.1Sperseant 171.1Sperseant#include <rump/rump.h> 181.1Sperseant#include <rump/rump_syscalls.h> 191.1Sperseant 201.1Sperseant#include <ufs/ufs/ufsmount.h> 211.1Sperseant#include <ufs/lfs/lfs.h> 221.1Sperseant#include <ufs/lfs/lfs_extern.h> 231.1Sperseant 241.1Sperseant#include "h_macros.h" 251.1Sperseant#include "util.h" 261.1Sperseant 271.1Sperseant#define FSSIZE 10000 281.1Sperseant 291.1Sperseant/* Actually run the test */ 301.1Sperseantvoid test(int); 311.1Sperseant 321.1SperseantATF_TC(newfs_fsck32); 331.1SperseantATF_TC_HEAD(newfs_fsck32, tc) 341.1Sperseant{ 351.1Sperseant atf_tc_set_md_var(tc, "descr", 361.1Sperseant "LFS32 newfs_lfs produces a filesystem that passes fsck_lfs"); 371.1Sperseant atf_tc_set_md_var(tc, "timeout", "20"); 381.1Sperseant} 391.1Sperseant 401.1SperseantATF_TC(newfs_fsck64); 411.1SperseantATF_TC_HEAD(newfs_fsck64, tc) 421.1Sperseant{ 431.1Sperseant atf_tc_set_md_var(tc, "descr", 441.1Sperseant "LFS64 newfs_lfs produces a filesystem that passes fsck_lfs"); 451.1Sperseant atf_tc_set_md_var(tc, "timeout", "20"); 461.1Sperseant} 471.1Sperseant 481.1SperseantATF_TC_BODY(newfs_fsck32, tc) 491.1Sperseant{ 501.1Sperseant test(32); 511.1Sperseant} 521.1Sperseant 531.1SperseantATF_TC_BODY(newfs_fsck64, tc) 541.1Sperseant{ 551.1Sperseant test(64); 561.1Sperseant} 571.1Sperseant 581.1Sperseantvoid test(int width) 591.1Sperseant{ 601.1Sperseant setvbuf(stdout, NULL, _IONBF, 0); 611.1Sperseant 621.1Sperseant /* 631.1Sperseant * Initialize. 641.1Sperseant */ 651.1Sperseant 661.1Sperseant /* Create image file larger than filesystem */ 671.1Sperseant create_lfs(FSSIZE, FSSIZE, width, 1); 681.1Sperseant 691.1Sperseant if (fsck()) 701.1Sperseant atf_tc_fail_errno("fsck found errors after first unmount"); 711.1Sperseant} 721.1Sperseant 731.1SperseantATF_TP_ADD_TCS(tp) 741.1Sperseant{ 751.1Sperseant 761.1Sperseant ATF_TP_ADD_TC(tp, newfs_fsck32); 771.1Sperseant ATF_TP_ADD_TC(tp, newfs_fsck64); 781.1Sperseant return atf_no_error(); 791.1Sperseant} 80