From e2db47eaae00ec33f8971db44b68645c5d3b9590 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 17 Aug 2021 11:36:49 +0100 Subject: gentoo resync : 17.08.2021 --- eclass/tests/qmail.sh | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 eclass/tests/qmail.sh (limited to 'eclass/tests') diff --git a/eclass/tests/qmail.sh b/eclass/tests/qmail.sh new file mode 100755 index 000000000000..3520ed2a9d5b --- /dev/null +++ b/eclass/tests/qmail.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# Copyright 2020-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +source tests-common.sh + +inherit qmail + +# some numbers are blocked because they are to small even if prime +test_low_numbers() { + tbegin "low numbers" + + for i in $(seq 0 6); do + if is_prime ${i}; then + return tend 1 "${i} badly accepted" + fi + done + + tend 0 +} + +# test a given number for being prime +check_prime_number() { + # use factor from coreutils to count the factors + if [[ $(factor $1 | cut -d: -f2 | wc -w) == 1 ]]; then + return $(is_prime $1) + else + return $(is_prime $1 && false || true) + fi +} + +test_primes() { + tbegin "factorizations from ${1} to ${2}" + + for i in $(seq ${1:?} ${2:?}); do + if ! check_prime_number $i; then + tend 1 "${i} returned bad factorization" + return 1 + fi + done + + tend 0 +} + +test_low_numbers +test_primes 7 99 +for i in $(seq 100 100 1000); do + test_primes $i $((i + 99)) +done + +texit -- cgit v1.2.3