test_format.sh 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/bin/bash
  2. set -eu
  3. echo "=== Formatting tests ==="
  4. rm -rf blocks
  5. echo "--- Basic formatting ---"
  6. tests/test.py << TEST
  7. lfs_format(&lfs, &cfg) => 0;
  8. TEST
  9. echo "--- Basic mounting ---"
  10. tests/test.py << TEST
  11. lfs_format(&lfs, &cfg) => 0;
  12. lfs_mount(&lfs, &cfg) => 0;
  13. lfs_unmount(&lfs) => 0;
  14. TEST
  15. echo "--- Invalid superblocks ---"
  16. ln -f -s /dev/zero blocks/0
  17. ln -f -s /dev/zero blocks/1
  18. tests/test.py << TEST
  19. lfs_format(&lfs, &cfg) => LFS_ERR_NOSPC;
  20. TEST
  21. rm blocks/0 blocks/1
  22. echo "--- Invalid mount ---"
  23. tests/test.py << TEST
  24. lfs_mount(&lfs, &cfg) => LFS_ERR_CORRUPT;
  25. TEST
  26. echo "--- Expanding superblock ---"
  27. tests/test.py << TEST
  28. lfs_format(&lfs, &cfg) => 0;
  29. lfs_mount(&lfs, &cfg) => 0;
  30. for (int i = 0; i < 100; i++) {
  31. lfs_mkdir(&lfs, "dummy") => 0;
  32. lfs_remove(&lfs, "dummy") => 0;
  33. }
  34. lfs_unmount(&lfs) => 0;
  35. TEST
  36. tests/test.py << TEST
  37. lfs_mount(&lfs, &cfg) => 0;
  38. lfs_mkdir(&lfs, "dummy") => 0;
  39. lfs_unmount(&lfs) => 0;
  40. TEST
  41. echo "--- Results ---"
  42. tests/stats.py