[Tests] clean up and refactor gradient checkpointing tests
What does this PR do?
Gradient checkpointing is an essential component of model training. We need to ensure it's implemented properly.
If we had them implemented properly we could have avoided the fix from https://github.com/huggingface/diffusers/pull/9489 beforehand. Another related issue: https://github.com/huggingface/diffusers/issues/9496.
Additionally, I took the liberty of properly skipping the related tests with "unittest.skip". This way, we know that tests are being actually skipped.
@yiyixuxu WDYT?
@DN6 could you give this a look?
@DN6 a gentle ping here.
Failing test is unrelated.