init
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function tear_down() {
|
||||
rm -f tests/EndToEnd/Fixtures/*.fixed
|
||||
}
|
||||
|
||||
function test_phpcs_exit_code_clean_file() {
|
||||
bin/phpcs --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassOneWithoutStyleError.inc
|
||||
assert_exit_code 0
|
||||
}
|
||||
function test_phpcs_exit_code_clean_stdin() {
|
||||
bin/phpcs --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist < tests/EndToEnd/Fixtures/ClassOneWithoutStyleError.inc
|
||||
assert_exit_code 0
|
||||
}
|
||||
function test_phpcbf_exit_code_clean_file() {
|
||||
bin/phpcbf --suffix=.fixed --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassOneWithoutStyleError.inc
|
||||
assert_exit_code 0
|
||||
}
|
||||
function test_phpcbf_exit_code_clean_stdin() {
|
||||
bin/phpcbf --suffix=.fixed --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist < tests/EndToEnd/Fixtures/ClassOneWithoutStyleError.inc
|
||||
assert_exit_code 0
|
||||
}
|
||||
|
||||
function test_phpcs_exit_code_fixable_file() {
|
||||
bin/phpcs --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassWithStyleError.inc
|
||||
assert_exit_code 1
|
||||
}
|
||||
function test_phpcs_exit_code_fixable_stdin() {
|
||||
bin/phpcs --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist < tests/EndToEnd/Fixtures/ClassWithStyleError.inc
|
||||
assert_exit_code 1
|
||||
}
|
||||
function test_phpcbf_exit_code_fixable_file() {
|
||||
bin/phpcbf --suffix=.fixed --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassWithStyleError.inc
|
||||
assert_exit_code 0
|
||||
}
|
||||
function test_phpcbf_exit_code_fixable_stdin() {
|
||||
bin/phpcbf --suffix=.fixed --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist < tests/EndToEnd/Fixtures/ClassWithStyleError.inc
|
||||
assert_exit_code 0
|
||||
}
|
||||
|
||||
function test_phpcs_exit_code_non_fixable_file() {
|
||||
bin/phpcs --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassWithUnfixableStyleError.inc
|
||||
assert_exit_code 2
|
||||
}
|
||||
function test_phpcs_exit_code_non_fixable_stdin() {
|
||||
bin/phpcs --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist < tests/EndToEnd/Fixtures/ClassWithUnfixableStyleError.inc
|
||||
assert_exit_code 2
|
||||
}
|
||||
function test_phpcbf_exit_code_non_fixable_file() {
|
||||
bin/phpcbf --suffix=.fixed --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassWithUnfixableStyleError.inc
|
||||
assert_exit_code 2
|
||||
}
|
||||
function test_phpcbf_exit_code_non_fixable_stdin() {
|
||||
bin/phpcbf --suffix=.fixed --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist < tests/EndToEnd/Fixtures/ClassWithUnfixableStyleError.inc
|
||||
assert_exit_code 2
|
||||
}
|
||||
|
||||
function test_phpcs_exit_code_fixable_and_non_fixable_file() {
|
||||
bin/phpcs --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassWithTwoStyleErrors.inc
|
||||
assert_exit_code 3
|
||||
}
|
||||
function test_phpcs_exit_code_fixable_and_non_fixable_stdin() {
|
||||
bin/phpcs --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist < tests/EndToEnd/Fixtures/ClassWithTwoStyleErrors.inc
|
||||
assert_exit_code 3
|
||||
}
|
||||
function test_phpcbf_exit_code_fixable_and_non_fixable_file() {
|
||||
bin/phpcbf --suffix=.fixed --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassWithTwoStyleErrors.inc
|
||||
assert_exit_code 2
|
||||
}
|
||||
function test_phpcbf_exit_code_fixable_and_non_fixable_stdin() {
|
||||
bin/phpcbf --suffix=.fixed --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist < tests/EndToEnd/Fixtures/ClassWithTwoStyleErrors.inc
|
||||
assert_exit_code 2
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function tear_down() {
|
||||
rm -f tests/EndToEnd/Fixtures/*.fixed
|
||||
}
|
||||
|
||||
function test_phpcs_out_of_memory_error_handling() {
|
||||
OUTPUT="$( { bin/phpcs -d memory_limit=4M --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/; } 2>&1)"
|
||||
# The exact exit code is not our concern, just that it's non-zero.
|
||||
assert_unsuccessful_code
|
||||
|
||||
assert_contains "The PHP_CodeSniffer \"phpcs\" command ran out of memory." "$OUTPUT"
|
||||
assert_contains "Either raise the \"memory_limit\" of PHP in the php.ini file or raise the memory limit at runtime" "$OUTPUT"
|
||||
assert_contains "using \"phpcs -d memory_limit=512M\" (replace 512M with the desired memory limit)." "$OUTPUT"
|
||||
}
|
||||
|
||||
function test_phpcbf_out_of_memory_error_handling() {
|
||||
OUTPUT="$( { bin/phpcbf -d memory_limit=4M --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ --suffix=.fixed; } 2>&1)"
|
||||
# The exact exit code is not our concern, just that it's non-zero.
|
||||
assert_unsuccessful_code
|
||||
|
||||
assert_contains "The PHP_CodeSniffer \"phpcbf\" command ran out of memory." "$OUTPUT"
|
||||
assert_contains "Either raise the \"memory_limit\" of PHP in the php.ini file or raise the memory limit at runtime" "$OUTPUT"
|
||||
assert_contains "using \"phpcbf -d memory_limit=512M\" (replace 512M with the desired memory limit)." "$OUTPUT"
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function tear_down() {
|
||||
rm -rf tests/EndToEnd/Fixtures/*.fixed
|
||||
}
|
||||
|
||||
function test_phpcbf_is_working() {
|
||||
OUTPUT="$( { bin/phpcbf --no-cache --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassOneWithoutStyleError.inc tests/EndToEnd/Fixtures/ClassTwoWithoutStyleError.inc; } 2>&1 )"
|
||||
|
||||
assert_successful_code
|
||||
assert_contains "No violations were found" "$OUTPUT"
|
||||
}
|
||||
|
||||
function test_phpcbf_is_working_in_parallel() {
|
||||
OUTPUT="$( { bin/phpcbf --no-cache --parallel=2 --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassOneWithoutStyleError.inc tests/EndToEnd/Fixtures/ClassTwoWithoutStyleError.inc; } 2>&1 )"
|
||||
|
||||
assert_successful_code
|
||||
assert_contains "No violations were found" "$OUTPUT"
|
||||
}
|
||||
|
||||
function test_phpcbf_returns_error_on_issues() {
|
||||
OUTPUT="$( { bin/phpcbf --no-colors --parallel=1 --no-cache --suffix=.fixed --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassWithStyleError.inc; } 2>&1 )"
|
||||
assert_successful_code
|
||||
|
||||
assert_contains "F 1 / 1 (100%)" "$OUTPUT"
|
||||
assert_contains "A TOTAL OF 1 ERROR WERE FIXED IN 1 FILE" "$OUTPUT"
|
||||
}
|
||||
|
||||
function test_phpcbf_progressbar_shows_fixes_with_parallel_on() {
|
||||
OUTPUT="$( { bin/phpcbf --no-colors --parallel=10 --no-cache --suffix=.fixed --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassWithStyleError.inc; } 2>&1 )"
|
||||
assert_successful_code
|
||||
|
||||
assert_contains "F 1 / 1 (100%)" "$OUTPUT"
|
||||
}
|
||||
|
||||
function test_phpcbf_bug_1112() {
|
||||
# See https://github.com/PHPCSStandards/PHP_CodeSniffer/issues/1112
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
# Perform some magic with `& fg` to prevent the processes from turning into a background job.
|
||||
assert_successful_code "$(bash -ic 'bash --init-file <(echo "echo \"Subprocess\"") -c "bin/phpcbf --no-cache --parallel=2 --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassOneWithoutStyleError.inc tests/EndToEnd/Fixtures/ClassTwoWithoutStyleError.inc" & fg')"
|
||||
else
|
||||
# This is not needed on Linux / GitHub Actions
|
||||
assert_successful_code "$(bash -ic 'bash --init-file <(echo "echo \"Subprocess\"") -c "bin/phpcbf --no-cache --parallel=2 --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassOneWithoutStyleError.inc tests/EndToEnd/Fixtures/ClassTwoWithoutStyleError.inc"')"
|
||||
fi
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function test_phpcs_is_working() {
|
||||
assert_successful_code "$(bin/phpcs --no-cache --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassOneWithoutStyleError.inc tests/EndToEnd/Fixtures/ClassTwoWithoutStyleError.inc)"
|
||||
}
|
||||
|
||||
function test_phpcs_is_working_in_parallel() {
|
||||
assert_successful_code "$(bin/phpcs --no-cache --parallel=2 --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassOneWithoutStyleError.inc tests/EndToEnd/Fixtures/ClassTwoWithoutStyleError.inc)"
|
||||
}
|
||||
|
||||
function test_phpcs_returns_error_on_issues() {
|
||||
OUTPUT="$( { bin/phpcs --no-colors --no-cache --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassWithStyleError.inc; } 2>&1 )"
|
||||
assert_exit_code 1
|
||||
|
||||
assert_contains "E 1 / 1 (100%)" "$OUTPUT"
|
||||
assert_contains "FOUND 1 ERROR AFFECTING 1 LINE" "$OUTPUT"
|
||||
}
|
||||
|
||||
function test_phpcs_bug_1112() {
|
||||
# See https://github.com/PHPCSStandards/PHP_CodeSniffer/issues/1112
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
# Perform some magic with `& fg` to prevent the processes from turning into a background job.
|
||||
assert_successful_code "$(bash -ic 'bash --init-file <(echo "echo \"Subprocess\"") -c "bin/phpcs --no-cache --parallel=2 --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassOneWithoutStyleError.inc tests/EndToEnd/Fixtures/ClassTwoWithoutStyleError.inc" & fg')"
|
||||
else
|
||||
# This is not needed on Linux / GitHub Actions
|
||||
assert_successful_code "$(bash -ic 'bash --init-file <(echo "echo \"Subprocess\"") -c "bin/phpcs --no-cache --parallel=2 --standard=tests/EndToEnd/Fixtures/endtoend.xml.dist tests/EndToEnd/Fixtures/ClassOneWithoutStyleError.inc tests/EndToEnd/Fixtures/ClassTwoWithoutStyleError.inc"')"
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user