brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 40dfca3 Raw
59 lines · cpp
1// RUN: %clangxx -O0 -g %s -o %t && %run %t 2>&1 | FileCheck %s2 3#include <sys/param.h>4#include <sys/types.h>5 6#include <sys/statvfs.h>7 8#include <assert.h>9#include <fcntl.h>10#include <stdio.h>11#include <stdlib.h>12#include <unistd.h>13 14void test_statvfs1() {15  printf("statvfs1\n");16 17  struct statvfs buf;18  int rv = statvfs1("/etc/fstab", &buf, ST_WAIT);19  assert(rv != -1);20 21  printf("fstypename='%s'\n", buf.f_fstypename);22  printf("mntonname='%s'\n", buf.f_mntonname);23  printf("mntfromname='%s'\n", buf.f_mntfromname);24}25 26void test_fstatvfs1() {27  printf("fstatvfs1\n");28 29  int fd = open("/etc/fstab", O_RDONLY);30  assert(fd > 0);31 32  struct statvfs buf;33  int rv = fstatvfs1(fd, &buf, ST_WAIT);34  assert(rv != -1);35 36  printf("fstypename='%s'\n", buf.f_fstypename);37  printf("mntonname='%s'\n", buf.f_mntonname);38  printf("mntfromname='%s'\n", buf.f_mntfromname);39 40  rv = close(fd);41  assert(rv != -1);42}43 44int main(void) {45  test_statvfs1();46  test_fstatvfs1();47 48  // CHECK: statvfs149  // CHECK: fstypename='{{.*}}'50  // CHECK: mntonname='{{.*}}'51  // CHECK: mntfromname='{{.*}}'52  // CHECK: fstatvfs153  // CHECK: fstypename='{{.*}}'54  // CHECK: mntonname='{{.*}}'55  // CHECK: mntfromname='{{.*}}'56 57  return 0;58}59