test_format.sh 1.1 KB

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