This repository has been archived on 2022-05-21. You can view files and clone it, but cannot push or open issues or pull requests.
LEFTONE/util/flasy/test.c

47 lines
1.0 KiB
C
Raw Permalink Normal View History

#undef NDEBUG
#include <assert.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "./flasy.h"
#define MAX_ 16
#define COUNT_ (512*1024)
int main(int argc, char** argv) {
assert(2 <= argc && argc <= MAX_);
flasy_t* srv = flasy_new(COUNT_*sizeof(uint32_t), MAX_);
for (size_t i = 0; i < (size_t) argc-1; ++i) {
FILE* fp = flasy_open_file(srv, argv[1+i], true);
assert(fp != NULL);
for (uint32_t i = 0; i < COUNT_; ++i) {
assert(fwrite(&i, sizeof(i), 1, fp) == 1);
}
flasy_close_file(srv, fp);
}
flasy_delete(srv); /* join */
for (size_t i = 0; i < (size_t) argc-1; ++i) {
FILE* fp = fopen(argv[1+i], "rb");
assert(fp != NULL);
for (uint32_t i = 0; i < COUNT_; ++i) {
uint32_t a;
assert(fread(&a, sizeof(a), 1, fp) == 1);
if (a != i) printf("%d %d\n", i, a);
assert(a == i);
}
uint8_t dummy_;
assert(fread(&dummy_, 1, 1, fp) == 0 && feof(fp) != 0);
fclose(fp);
}
return EXIT_SUCCESS;
}