|
|
|
@@ -33,19 +33,19 @@
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@test "Starting tests without prior history" {
|
|
|
|
|
run bash -c 'grep -c "Total DNS queries: 0" /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
run bash -c 'grep -c "Total DNS queries: 0" /var/log/pihole/FTL.log'
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@test "Initial blocking status is enabled" {
|
|
|
|
|
run bash -c 'grep -c "Blocking status is enabled" /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
run bash -c 'grep -c "Blocking status is enabled" /var/log/pihole/FTL.log'
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@test "Number of compiled regex filters as expected" {
|
|
|
|
|
run bash -c 'grep "Compiled [0-9]* allow" /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
run bash -c 'grep "Compiled [0-9]* allow" /var/log/pihole/FTL.log'
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == *"Compiled 2 allow and 9 deny regex for 1 client in "* ]]
|
|
|
|
|
}
|
|
|
|
@@ -159,31 +159,31 @@
|
|
|
|
|
@test "Client 4: Client is recognized by MAC address" {
|
|
|
|
|
run bash -c "dig TXT CHAOS version.bind -b 127.0.0.4 @127.0.0.1 +short"
|
|
|
|
|
run sleep 0.1
|
|
|
|
|
run bash -c "grep -c \"Found database hardware address 127.0.0.4 -> aa:bb:cc:dd:ee:ff\" /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c \"Found database hardware address 127.0.0.4 -> aa:bb:cc:dd:ee:ff\" /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c "grep -c \"Gravity database: Client aa:bb:cc:dd:ee:ff found. Using groups (4)\" /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c \"Gravity database: Client aa:bb:cc:dd:ee:ff found. Using groups (4)\" /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} != "0" ]]
|
|
|
|
|
run bash -c "grep -c 'Regex deny: Querying groups for client 127.0.0.4: \"SELECT id from vw_regex_blacklist WHERE group_id IN (4);\"' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'Regex deny: Querying groups for client 127.0.0.4: \"SELECT id from vw_regex_blacklist WHERE group_id IN (4);\"' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c "grep -c 'Regex allow: Querying groups for client 127.0.0.4: \"SELECT id from vw_regex_whitelist WHERE group_id IN (4);\"' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'Regex allow: Querying groups for client 127.0.0.4: \"SELECT id from vw_regex_whitelist WHERE group_id IN (4);\"' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_whitelist WHERE domain = ? AND group_id IN (4));' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_whitelist WHERE domain = ? AND group_id IN (4));' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} != "0" ]]
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_blacklist WHERE domain = ? AND group_id IN (4));' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_blacklist WHERE domain = ? AND group_id IN (4));' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} != "0" ]]
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_gravity WHERE domain = ? AND group_id IN (4));' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_gravity WHERE domain = ? AND group_id IN (4));' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} != "0" ]]
|
|
|
|
|
run bash -c "grep -c 'Regex allow ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.4' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'Regex allow ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.4' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "2" ]]
|
|
|
|
|
run bash -c "grep -c 'Regex deny ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.4' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'Regex deny ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.4' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "9" ]]
|
|
|
|
|
}
|
|
|
|
@@ -191,31 +191,31 @@
|
|
|
|
|
@test "Client 5: Client is recognized by MAC address" {
|
|
|
|
|
run bash -c "dig TXT CHAOS version.bind -b 127.0.0.5 @127.0.0.1 +short"
|
|
|
|
|
run sleep 0.1
|
|
|
|
|
run bash -c "grep -c \"Found database hardware address 127.0.0.5 -> aa:bb:cc:dd:ee:ff\" /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c \"Found database hardware address 127.0.0.5 -> aa:bb:cc:dd:ee:ff\" /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c "grep -c \"Gravity database: Client aa:bb:cc:dd:ee:ff found. Using groups (4)\" /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c \"Gravity database: Client aa:bb:cc:dd:ee:ff found. Using groups (4)\" /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} != "0" ]]
|
|
|
|
|
run bash -c "grep -c 'Regex deny: Querying groups for client 127.0.0.5: \"SELECT id from vw_regex_blacklist WHERE group_id IN (4);\"' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'Regex deny: Querying groups for client 127.0.0.5: \"SELECT id from vw_regex_blacklist WHERE group_id IN (4);\"' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c "grep -c 'Regex allow: Querying groups for client 127.0.0.5: \"SELECT id from vw_regex_whitelist WHERE group_id IN (4);\"' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'Regex allow: Querying groups for client 127.0.0.5: \"SELECT id from vw_regex_whitelist WHERE group_id IN (4);\"' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_whitelist WHERE domain = ? AND group_id IN (4));' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_whitelist WHERE domain = ? AND group_id IN (4));' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} != "0" ]]
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_blacklist WHERE domain = ? AND group_id IN (4));' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_blacklist WHERE domain = ? AND group_id IN (4));' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} != "0" ]]
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_gravity WHERE domain = ? AND group_id IN (4));' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_gravity WHERE domain = ? AND group_id IN (4));' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} != "0" ]]
|
|
|
|
|
run bash -c "grep -c 'Regex allow ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.5' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'Regex allow ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.5' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "2" ]]
|
|
|
|
|
run bash -c "grep -c 'Regex deny ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.5' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'Regex deny ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.5' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "9" ]]
|
|
|
|
|
}
|
|
|
|
@@ -223,37 +223,37 @@
|
|
|
|
|
@test "Client 6: Client is recognized by interface name" {
|
|
|
|
|
run bash -c "dig TXT CHAOS version.bind -b 127.0.0.6 @127.0.0.1 +short"
|
|
|
|
|
run sleep 0.1
|
|
|
|
|
run bash -c "grep -c \"Found database hardware address 127.0.0.6 -> 00:11:22:33:44:55\" /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c \"Found database hardware address 127.0.0.6 -> 00:11:22:33:44:55\" /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c "grep -c \"There is no record for 00:11:22:33:44:55 in the client table\" /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c \"There is no record for 00:11:22:33:44:55 in the client table\" /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c "grep -c \"Found database interface 127.0.0.6 -> enp0s123\" /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c \"Found database interface 127.0.0.6 -> enp0s123\" /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c "grep -c \"Gravity database: Client 00:11:22:33:44:55 found (identified by interface enp0s123). Using groups (5)\" /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c \"Gravity database: Client 00:11:22:33:44:55 found (identified by interface enp0s123). Using groups (5)\" /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c "grep -c 'Regex deny: Querying groups for client 127.0.0.6: \"SELECT id from vw_regex_blacklist WHERE group_id IN (5);\"' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'Regex deny: Querying groups for client 127.0.0.6: \"SELECT id from vw_regex_blacklist WHERE group_id IN (5);\"' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c "grep -c 'Regex allow: Querying groups for client 127.0.0.6: \"SELECT id from vw_regex_whitelist WHERE group_id IN (5);\"' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'Regex allow: Querying groups for client 127.0.0.6: \"SELECT id from vw_regex_whitelist WHERE group_id IN (5);\"' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_whitelist WHERE domain = ? AND group_id IN (5));' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_whitelist WHERE domain = ? AND group_id IN (5));' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_blacklist WHERE domain = ? AND group_id IN (5));' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_blacklist WHERE domain = ? AND group_id IN (5));' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_gravity WHERE domain = ? AND group_id IN (5));' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_gravity WHERE domain = ? AND group_id IN (5));' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c "grep -c 'Regex allow ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.6' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'Regex allow ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.6' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "2" ]]
|
|
|
|
|
run bash -c "grep -c 'Regex deny ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.6' /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "grep -c 'Regex deny ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.6' /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "9" ]]
|
|
|
|
|
}
|
|
|
|
@@ -445,40 +445,40 @@
|
|
|
|
|
[[ ${lines[3]} == "Available arguments:" ]]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#@test "No WARNING messages in pihole-FTL.log (besides known capability issues)" {
|
|
|
|
|
# run bash -c 'grep "WARNING" /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
#@test "No WARNING messages in FTL.log (besides known capability issues)" {
|
|
|
|
|
# run bash -c 'grep "WARNING" /var/log/pihole/FTL.log'
|
|
|
|
|
# printf "%s\n" "${lines[@]}"
|
|
|
|
|
# run bash -c 'grep "WARNING" /var/log/pihole/pihole-FTL.log | grep -c -v -E "CAP_NET_ADMIN|CAP_NET_RAW|CAP_SYS_NICE|CAP_IPC_LOCK|CAP_CHOWN"'
|
|
|
|
|
# run bash -c 'grep "WARNING" /var/log/pihole/FTL.log | grep -c -v -E "CAP_NET_ADMIN|CAP_NET_RAW|CAP_SYS_NICE|CAP_IPC_LOCK|CAP_CHOWN"'
|
|
|
|
|
# printf "%s\n" "${lines[@]}"
|
|
|
|
|
# [[ ${lines[0]} == "0" ]]
|
|
|
|
|
#}
|
|
|
|
|
|
|
|
|
|
#@test "No FATAL messages in pihole-FTL.log (besides error due to starting FTL more than once)" {
|
|
|
|
|
# run bash -c 'grep "FATAL" /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
#@test "No FATAL messages in FTL.log (besides error due to starting FTL more than once)" {
|
|
|
|
|
# run bash -c 'grep "FATAL" /var/log/pihole/FTL.log'
|
|
|
|
|
# printf "%s\n" "${lines[@]}"
|
|
|
|
|
# run bash -c 'grep "FATAL:" /var/log/pihole/pihole-FTL.log | grep -c -v "FATAL: create_shm(): Failed to create shared memory object \"FTL-lock\": File exists"'
|
|
|
|
|
# run bash -c 'grep "FATAL:" /var/log/pihole/FTL.log | grep -c -v "FATAL: create_shm(): Failed to create shared memory object \"FTL-lock\": File exists"'
|
|
|
|
|
# printf "%s\n" "${lines[@]}"
|
|
|
|
|
# [[ ${lines[0]} == "0" ]]
|
|
|
|
|
#}
|
|
|
|
|
|
|
|
|
|
@test "No \"database not available\" messages in pihole-FTL.log" {
|
|
|
|
|
run bash -c 'grep -c "database not available" /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
@test "No \"database not available\" messages in FTL.log" {
|
|
|
|
|
run bash -c 'grep -c "database not available" /var/log/pihole/FTL.log'
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "0" ]]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Regex tests
|
|
|
|
|
@test "Compiled deny regex as expected" {
|
|
|
|
|
run bash -c 'grep -c "Compiling deny regex 0 (DB ID 6): regex\[0-9\].ftl" /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
run bash -c 'grep -c "Compiling deny regex 0 (DB ID 6): regex\[0-9\].ftl" /var/log/pihole/FTL.log'
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@test "Compiled allow regex as expected" {
|
|
|
|
|
run bash -c 'grep -c "Compiling allow regex 0 (DB ID 3): regex2" /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
run bash -c 'grep -c "Compiling allow regex 0 (DB ID 3): regex2" /var/log/pihole/FTL.log'
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c 'grep -c "Compiling allow regex 1 (DB ID 4): ^gravity-allowed" /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
run bash -c 'grep -c "Compiling allow regex 1 (DB ID 4): ^gravity-allowed" /var/log/pihole/FTL.log'
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
}
|
|
|
|
@@ -867,21 +867,21 @@
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@test "Architecture is correctly reported on startup" {
|
|
|
|
|
run bash -c 'grep "Compiled for" /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
run bash -c 'grep "Compiled for" /var/log/pihole/FTL.log'
|
|
|
|
|
printf "Output: %s\n\$CI_ARCH: %s\nuname -m: %s\n" "${lines[@]:-not set}" "${CI_ARCH:-not set}" "$(uname -m)"
|
|
|
|
|
[[ ${lines[0]} == *"Compiled for ${CI_ARCH:-$(uname -m)}"* ]]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@test "Building machine (CI) is reported on startup" {
|
|
|
|
|
[[ ${CI_ARCH} != "" ]] && compiled_str="on CI" || compiled_str="locally" && export compiled_str
|
|
|
|
|
run bash -c 'grep "Compiled for" /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
run bash -c 'grep "Compiled for" /var/log/pihole/FTL.log'
|
|
|
|
|
printf "Output: %s\n\$CI_ARCH: %s\n" "${lines[@]:-not set}" "${CI_ARCH:-not set}"
|
|
|
|
|
[[ ${lines[0]} == *"(compiled ${compiled_str})"* ]]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@test "Compiler version is correctly reported on startup" {
|
|
|
|
|
compiler_version="$(${CC} --version | head -n1)" && export compiler_version
|
|
|
|
|
run bash -c 'grep "Compiled for" /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
run bash -c 'grep "Compiled for" /var/log/pihole/FTL.log'
|
|
|
|
|
printf "Output: %s\n\$CC: %s\nVersion: %s\n" "${lines[@]:-not set}" "${CC:-not set}" "${compiler_version:-not set}"
|
|
|
|
|
[[ ${lines[0]} == *"using ${compiler_version}"* ]]
|
|
|
|
|
}
|
|
|
|
@@ -893,7 +893,7 @@
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@test "No errors on setting busy handlers for the databases" {
|
|
|
|
|
run bash -c 'grep -c "Cannot set busy handler" /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
run bash -c 'grep -c "Cannot set busy handler" /var/log/pihole/FTL.log'
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "0" ]]
|
|
|
|
|
}
|
|
|
|
@@ -971,7 +971,7 @@
|
|
|
|
|
|
|
|
|
|
@test "EDNS(0) analysis working as expected" {
|
|
|
|
|
# Get number of lines in the log before the test
|
|
|
|
|
before="$(grep -c ^ /var/log/pihole/pihole-FTL.log)"
|
|
|
|
|
before="$(grep -c ^ /var/log/pihole/FTL.log)"
|
|
|
|
|
|
|
|
|
|
# Run test command
|
|
|
|
|
# CLIENT SUBNET COOKIE MAC HEX MAC TEXT CPE-ID
|
|
|
|
@@ -981,10 +981,10 @@
|
|
|
|
|
[[ $status == 0 ]]
|
|
|
|
|
|
|
|
|
|
# Get number of lines in the log after the test
|
|
|
|
|
after="$(grep -c ^ /var/log/pihole/pihole-FTL.log)"
|
|
|
|
|
after="$(grep -c ^ /var/log/pihole/FTL.log)"
|
|
|
|
|
|
|
|
|
|
# Extract relevant log lines
|
|
|
|
|
log="$(sed -n "${before},${after}p" /var/log/pihole/pihole-FTL.log)"
|
|
|
|
|
log="$(sed -n "${before},${after}p" /var/log/pihole/FTL.log)"
|
|
|
|
|
printf "%s\n" "${log}"
|
|
|
|
|
|
|
|
|
|
# Start actual test
|
|
|
|
@@ -1007,7 +1007,7 @@
|
|
|
|
|
|
|
|
|
|
@test "EDNS(0) ECS can overwrite client address (IPv4)" {
|
|
|
|
|
# Get number of lines in the log before the test
|
|
|
|
|
before="$(grep -c ^ /var/log/pihole/pihole-FTL.log)"
|
|
|
|
|
before="$(grep -c ^ /var/log/pihole/FTL.log)"
|
|
|
|
|
|
|
|
|
|
# Run test command
|
|
|
|
|
run bash -c 'dig localhost +short +subnet=192.168.47.97/32 @127.0.0.1'
|
|
|
|
@@ -1016,17 +1016,17 @@
|
|
|
|
|
[[ $status == 0 ]]
|
|
|
|
|
|
|
|
|
|
# Get number of lines in the log after the test
|
|
|
|
|
after="$(grep -c ^ /var/log/pihole/pihole-FTL.log)"
|
|
|
|
|
after="$(grep -c ^ /var/log/pihole/FTL.log)"
|
|
|
|
|
|
|
|
|
|
# Extract relevant log lines
|
|
|
|
|
run bash -c "sed -n \"${before},${after}p\" /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "sed -n \"${before},${after}p\" /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ "${lines[@]}" == *"**** new UDP IPv4 query[A] query \"localhost\" from lo/192.168.47.97#53 "* ]]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@test "EDNS(0) ECS can overwrite client address (IPv6)" {
|
|
|
|
|
# Get number of lines in the log before the test
|
|
|
|
|
before="$(grep -c ^ /var/log/pihole/pihole-FTL.log)"
|
|
|
|
|
before="$(grep -c ^ /var/log/pihole/FTL.log)"
|
|
|
|
|
|
|
|
|
|
# Run test command
|
|
|
|
|
run bash -c 'dig localhost +short +subnet=fe80::b167:af1e:968b:dead/128 @127.0.0.1'
|
|
|
|
@@ -1035,29 +1035,29 @@
|
|
|
|
|
[[ $status == 0 ]]
|
|
|
|
|
|
|
|
|
|
# Get number of lines in the log after the test
|
|
|
|
|
after="$(grep -c ^ /var/log/pihole/pihole-FTL.log)"
|
|
|
|
|
after="$(grep -c ^ /var/log/pihole/FTL.log)"
|
|
|
|
|
|
|
|
|
|
# Extract relevant log lines
|
|
|
|
|
run bash -c "sed -n \"${before},${after}p\" /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "sed -n \"${before},${after}p\" /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ "${lines[@]}" == *"**** new UDP IPv4 query[A] query \"localhost\" from lo/fe80::b167:af1e:968b:dead#53 "* ]]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@test "alias-client is imported and used for configured client" {
|
|
|
|
|
run bash -c 'grep -c "Added alias-client \"some-aliasclient\" (aliasclient-0) with FTL ID 0" /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
run bash -c 'grep -c "Added alias-client \"some-aliasclient\" (aliasclient-0) with FTL ID 0" /var/log/pihole/FTL.log'
|
|
|
|
|
printf "Added: %s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c 'grep -c "Aliasclient ID 127.0.0.6 -> 0" /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
run bash -c 'grep -c "Aliasclient ID 127.0.0.6 -> 0" /var/log/pihole/FTL.log'
|
|
|
|
|
printf "Found ID: %s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
run bash -c 'grep -c "Client .* (127.0.0.6) IS managed by this alias-client, adding counts" /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
run bash -c 'grep -c "Client .* (127.0.0.6) IS managed by this alias-client, adding counts" /var/log/pihole/FTL.log'
|
|
|
|
|
printf "Adding counts: %s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "1" ]]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@test "EDNS(0) ECS skipped for loopback address (IPv4)" {
|
|
|
|
|
# Get number of lines in the log before the test
|
|
|
|
|
before="$(grep -c ^ /var/log/pihole/pihole-FTL.log)"
|
|
|
|
|
before="$(grep -c ^ /var/log/pihole/FTL.log)"
|
|
|
|
|
|
|
|
|
|
# Run test command
|
|
|
|
|
run bash -c 'dig localhost +short +subnet=127.0.0.1/32 @127.0.0.1'
|
|
|
|
@@ -1066,17 +1066,17 @@
|
|
|
|
|
[[ $status == 0 ]]
|
|
|
|
|
|
|
|
|
|
# Get number of lines in the log after the test
|
|
|
|
|
after="$(grep -c ^ /var/log/pihole/pihole-FTL.log)"
|
|
|
|
|
after="$(grep -c ^ /var/log/pihole/FTL.log)"
|
|
|
|
|
|
|
|
|
|
# Extract relevant log lines
|
|
|
|
|
run bash -c "sed -n \"${before},${after}p\" /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "sed -n \"${before},${after}p\" /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ "${lines[@]}" == *"EDNS(0) CLIENT SUBNET: Skipped 127.0.0.1/32 (IPv4 loopback address)"* ]]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@test "EDNS(0) ECS skipped for loopback address (IPv6)" {
|
|
|
|
|
# Get number of lines in the log before the test
|
|
|
|
|
before="$(grep -c ^ /var/log/pihole/pihole-FTL.log)"
|
|
|
|
|
before="$(grep -c ^ /var/log/pihole/FTL.log)"
|
|
|
|
|
|
|
|
|
|
# Run test command
|
|
|
|
|
run bash -c 'dig localhost +short +subnet=::1/128 @127.0.0.1'
|
|
|
|
@@ -1085,10 +1085,10 @@
|
|
|
|
|
[[ $status == 0 ]]
|
|
|
|
|
|
|
|
|
|
# Get number of lines in the log after the test
|
|
|
|
|
after="$(grep -c ^ /var/log/pihole/pihole-FTL.log)"
|
|
|
|
|
after="$(grep -c ^ /var/log/pihole/FTL.log)"
|
|
|
|
|
|
|
|
|
|
# Extract relevant log lines
|
|
|
|
|
run bash -c "sed -n \"${before},${after}p\" /var/log/pihole/pihole-FTL.log"
|
|
|
|
|
run bash -c "sed -n \"${before},${after}p\" /var/log/pihole/FTL.log"
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
[[ "${lines[@]}" == *"EDNS(0) CLIENT SUBNET: Skipped ::1/128 (IPv6 loopback address)"* ]]
|
|
|
|
|
}
|
|
|
|
@@ -1126,34 +1126,34 @@
|
|
|
|
|
[[ "${lines[@]}" != *"ERROR"* ]]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@test "No WARNING messages in pihole-FTL.log (besides known capability issues)" {
|
|
|
|
|
run bash -c 'grep "WARNING: " /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
@test "No WARNING messages in FTL.log (besides known capability issues)" {
|
|
|
|
|
run bash -c 'grep "WARNING: " /var/log/pihole/FTL.log'
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
run bash -c 'grep "WARNING: " /var/log/pihole/pihole-FTL.log | grep -c -v -E "CAP_NET_ADMIN|CAP_NET_RAW|CAP_SYS_NICE"'
|
|
|
|
|
run bash -c 'grep "WARNING: " /var/log/pihole/FTL.log | grep -c -v -E "CAP_NET_ADMIN|CAP_NET_RAW|CAP_SYS_NICE"'
|
|
|
|
|
printf "count: %s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "0" ]]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@test "No ERROR messages in pihole-FTL.log (besides known index.html error)" {
|
|
|
|
|
run bash -c 'grep "ERR: " /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
@test "No ERROR messages in FTL.log (besides known index.html error)" {
|
|
|
|
|
run bash -c 'grep "ERR: " /var/log/pihole/FTL.log'
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
run bash -c 'grep "ERR: " /var/log/pihole/pihole-FTL.log | grep -c -v -E "(index\.html)|(Failed to create shared memory object)"'
|
|
|
|
|
run bash -c 'grep "ERR: " /var/log/pihole/FTL.log | grep -c -v -E "(index\.html)|(Failed to create shared memory object)"'
|
|
|
|
|
printf "count: %s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "0" ]]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@test "No CRIT messages in pihole-FTL.log (besides error due to testing to start FTL more than once)" {
|
|
|
|
|
run bash -c 'grep "CRIT: " /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
@test "No CRIT messages in FTL.log (besides error due to testing to start FTL more than once)" {
|
|
|
|
|
run bash -c 'grep "CRIT: " /var/log/pihole/FTL.log'
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
run bash -c 'grep "CRIT: " /var/log/pihole/pihole-FTL.log | grep -c -v "Initialization of shared memory failed."'
|
|
|
|
|
run bash -c 'grep "CRIT: " /var/log/pihole/FTL.log | grep -c -v "Initialization of shared memory failed."'
|
|
|
|
|
printf "count: %s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "0" ]]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@test "No config errors in pihole-FTL.toml" {
|
|
|
|
|
run bash -c 'grep "DEBUG_CONFIG: " /var/log/pihole/pihole-FTL.log'
|
|
|
|
|
run bash -c 'grep "DEBUG_CONFIG: " /var/log/pihole/FTL.log'
|
|
|
|
|
printf "%s\n" "${lines[@]}"
|
|
|
|
|
run bash -c 'grep "DEBUG_CONFIG: " /var/log/pihole/pihole-FTL.log | grep -c "DOES NOT EXIST"'
|
|
|
|
|
run bash -c 'grep "DEBUG_CONFIG: " /var/log/pihole/FTL.log | grep -c "DOES NOT EXIST"'
|
|
|
|
|
printf "count: %s\n" "${lines[@]}"
|
|
|
|
|
[[ ${lines[0]} == "0" ]]
|
|
|
|
|
}
|
|
|
|
|