blob: fc54bbfeaa9631e0f3a46e3c0a991485266ee867 [file] [log] [blame] [edit]
/* common-7-8.h
*/
#include "aio_setup.h"
#include <errno.h>
#include <unistd.h>
#define SIZE 512
int test_main(void)
{
char *buf;
int rwfd;
int status = 0, res;
long long limit;
rwfd = open(FILENAME, O_RDWR|O_CREAT, 0600); assert(rwfd != -1);
res = ftruncate(rwfd, 0); assert(res == 0);
buf = malloc(SIZE); assert(buf != NULL);
memset(buf, 0, SIZE);
limit = LIMIT;
SET_RLIMIT(limit);
status |= attempt_rw(rwfd, buf, SIZE, limit-SIZE, WRITE, SIZE);
status |= attempt_rw(rwfd, buf, SIZE, limit-SIZE, READ, SIZE);
status |= attempt_rw(rwfd, buf, SIZE, 1+limit-SIZE, WRITE, SIZE-1);
status |= attempt_rw(rwfd, buf, SIZE, 1+limit-SIZE, READ, SIZE-1);
status |= attempt_rw(rwfd, buf, SIZE, limit, WRITE, -EFBIG);
status |= attempt_rw(rwfd, buf, SIZE, limit, READ, 0);
status |= attempt_rw(rwfd, buf, 0, limit, WRITE, 0);
return status;
}