Looks like you're not skipping the tests if Test::Warn isn't installed (i mean, warning_like is a Test::Warn function and should be skipped if loading Test::Warn doesn't succeed)
update:
Note you (probably) should use skip blocks to skip tests in Test::More:
SKIP: {
skip "For some reason",$number_of_tests;
# tests to skip here
}