From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 1 Mar 2021 20:56:20 +0300 From: "Dmitry V. Levin" To: devel@lists.altlinux.org Message-ID: <20210301175620.GA14812@altlinux.org> References: <20210301171032.GA968021@lks.home> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20210301171032.GA968021@lks.home> Subject: Re: [devel] =?koi8-r?b?UTog3M7U0s/QydEgzsEg08LP0s/ezsnDxSBbYm9sdC0w?= =?koi8-r?b?LjkuMS1hbHQxOiBTaXN5cGh1cy9pNTg2IHRlc3QgcmVidWlsZCBmYWlsZWRd?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Mar 2021 17:56:21 -0000 Archived-At: List-Archive: List-Post: On Mon, Mar 01, 2021 at 06:10:32PM +0100, Konstantin Lepikhov wrote: > Привет! > > Давно мучает меня эта "ошибка" пересборки > > Код теста: > > static void > test_strv_permute (TestRng *tt, gconstpointer user_data) > { > g_auto(GStrv) tst = NULL; > const char *ref[] = {"a", "b", "c", "d", NULL}; > char *empty[] = {NULL}; > guint N; > guint k = 0; > > bolt_strv_permute (NULL); > bolt_strv_permute (empty); > > g_assert_cmpuint (bolt_strv_length (empty), ==, 0U); > > tst = g_strdupv ((char **) ref); > > /* there are 4! = 24 possible permutations, do it > * at least N = 4! and pick a rather large threshold > * instead of a larger N */ > N = (4 * 3 * 2 * 1); > > for (guint i = 0; i < N; i++) > { > bolt_strv_permute (tst); > if (bolt_strv_equal ((char **) ref, (char **) tst)) > k++; > } > > g_debug ("permutation-test: %u of %u were equal", k, N); > g_assert_cmpuint (k, <, 5); > } > > ... > > У меня есть смутные подозрения, что в какой-то момент в сборочнице > кончается энтропия и начинается фигня Это что, неустранимо вероятностный тест, который, если его запускать достаточно много раз, обязательно упадёт? А где он добывает себе рандомизацию? -- ldv