check50

cs50/problems/2023/x/recover


:) recover.c exists.

Log
checking that recover.c exists...

:) recover.c compiles.

Log
running clang recover.c -o recover -std=c11 -ggdb -lm -lcs50...

:) handles lack of forensic image

Log
running ./recover...
checking that program exited with status 1...

:) recovers 000.jpg correctly

Log
running ./recover card.raw...
checking that program exited with status 0...
checking that 000.jpg exists...
hashing 000.jpg...

:) recovers middle images correctly

Log
running ./recover card.raw...
checking that program exited with status 0...
checking that 001.jpg exists...
hashing 001.jpg...
checking that 002.jpg exists...
hashing 002.jpg...
checking that 003.jpg exists...
hashing 003.jpg...
checking that 004.jpg exists...
hashing 004.jpg...
checking that 005.jpg exists...
hashing 005.jpg...
checking that 006.jpg exists...
hashing 006.jpg...
checking that 007.jpg exists...
hashing 007.jpg...
checking that 008.jpg exists...
hashing 008.jpg...
checking that 009.jpg exists...
hashing 009.jpg...
checking that 010.jpg exists...
hashing 010.jpg...
checking that 011.jpg exists...
hashing 011.jpg...
checking that 012.jpg exists...
hashing 012.jpg...
checking that 013.jpg exists...
hashing 013.jpg...
checking that 014.jpg exists...
hashing 014.jpg...
checking that 015.jpg exists...
hashing 015.jpg...
checking that 016.jpg exists...
hashing 016.jpg...
checking that 017.jpg exists...
hashing 017.jpg...
checking that 018.jpg exists...
hashing 018.jpg...
checking that 019.jpg exists...
hashing 019.jpg...
checking that 020.jpg exists...
hashing 020.jpg...
checking that 021.jpg exists...
hashing 021.jpg...
checking that 022.jpg exists...
hashing 022.jpg...
checking that 023.jpg exists...
hashing 023.jpg...
checking that 024.jpg exists...
hashing 024.jpg...
checking that 025.jpg exists...
hashing 025.jpg...
checking that 026.jpg exists...
hashing 026.jpg...
checking that 027.jpg exists...
hashing 027.jpg...
checking that 028.jpg exists...
hashing 028.jpg...
checking that 029.jpg exists...
hashing 029.jpg...
checking that 030.jpg exists...
hashing 030.jpg...
checking that 031.jpg exists...
hashing 031.jpg...
checking that 032.jpg exists...
hashing 032.jpg...
checking that 033.jpg exists...
hashing 033.jpg...
checking that 034.jpg exists...
hashing 034.jpg...
checking that 035.jpg exists...
hashing 035.jpg...
checking that 036.jpg exists...
hashing 036.jpg...
checking that 037.jpg exists...
hashing 037.jpg...
checking that 038.jpg exists...
hashing 038.jpg...
checking that 039.jpg exists...
hashing 039.jpg...
checking that 040.jpg exists...
hashing 040.jpg...
checking that 041.jpg exists...
hashing 041.jpg...
checking that 042.jpg exists...
hashing 042.jpg...
checking that 043.jpg exists...
hashing 043.jpg...
checking that 044.jpg exists...
hashing 044.jpg...
checking that 045.jpg exists...
hashing 045.jpg...
checking that 046.jpg exists...
hashing 046.jpg...
checking that 047.jpg exists...
hashing 047.jpg...
checking that 048.jpg exists...
hashing 048.jpg...

:( recovers 049.jpg correctly

Cause
recovered image does not match

Log
running ./recover card.raw...
checking that program exited with status 0...
checking that 049.jpg exists...
hashing 049.jpg...

:| program is free of memory errors

Cause
can't check until a frown turns upside down