Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rUmBz-00CxdG-5q for pgsql-hackers@arkaria.postgresql.org; Tue, 30 Jan 2024 11:22:15 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rUmBx-004dAU-U6 for pgsql-hackers@arkaria.postgresql.org; Tue, 30 Jan 2024 11:22:13 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rUmBx-004dAM-KE for pgsql-hackers@lists.postgresql.org; Tue, 30 Jan 2024 11:22:13 +0000 Received: from mail-oo1-xc2f.google.com ([2607:f8b0:4864:20::c2f]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rUmBu-0048WW-O0 for pgsql-hackers@lists.postgresql.org; Tue, 30 Jan 2024 11:22:12 +0000 Received: by mail-oo1-xc2f.google.com with SMTP id 006d021491bc7-59a146e8c85so1945344eaf.0 for ; Tue, 30 Jan 2024 03:22:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706613730; x=1707218530; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=j0mq9WDAPflfJQLQczI1ILrkk69djMcAqZUfRrdAgj0=; b=YB9VZUkYvIJeuwYeXtyjS2Y87VtepBShNf9fpYIMdcWtf8l9v2GyYytk/VDoIyuJ2l rfTbPY7XmuE3jiJnocCT3TzsHJrrMv/pkTrJdk9tmHY98fvT79idZGL5YTH+NcnvVPJl lL/B/ogTfZ+aicLv4zU1eqR9oKMI8qQrekKdUcVNoZcwrhsdXiF+imv6TptImkDlLhOE b8iWaBKaeoItADul+08xBk5cDghuT67/v34KUxVANTcr0NeBrc2jxFNGydW4c5TMAY0K PEyYIM2A3bsQQm3/LKavJcdp/LWM6NIdNWpRLKtHAbLplrLoLlw6We2h36waw8P+60cT 76kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706613730; x=1707218530; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=j0mq9WDAPflfJQLQczI1ILrkk69djMcAqZUfRrdAgj0=; b=VSW/bXjcNIEKOX6fVaCkFs7TopZg722UsBne6tnA6um72k4mixUv79lpq4q+GOkAL7 co46rf12AU9NrevGQFtsbUM9pYf1Yni3kMj6ELggCPewPDoQaxOq3VJIsZoNj+8vomeT nsq1LIzTJXmd9iWE1HokM8QfAPmogCtCQ0wHa2imx2bDak8lShYXH/fA9oC+hGFBaTmG sRXIJNe93Ediu0BHK4r8DzjOiSy8Hu/ZnBiTGHki/9RSa+YeQiz9TZ88RQJU4cicZOwL 8OTzI64HhBABz6FQmdhHS+FpwU75VBBVLZbfu32U3uCHJoQgrZyizrNP7AdxkXzWkXH0 irjQ== X-Gm-Message-State: AOJu0YxErYCMNQCGLFp5paYk7sRPLeVC4p0w81VLnhcMDd7nIgNAV/3R nL3V4UALMtKbxZEO0GooZlCZH6mkyGiLzoGnZk0SLwZMm2hJALuHjvnAKMHEmOYnqfDhjJtvfVp XPb/nC4N6bX+3i9+SFto/6pz4BEoMTyRO8OU= X-Google-Smtp-Source: AGHT+IEUzaQ8AdAd15bPcPZf5ANycfYfuOh8bw6hnCmEEeQiwT493bvqaaQBbWA9+mJaKZ2lYrBSDxFyvKQFHhSDaYg= X-Received: by 2002:a05:6358:2486:b0:176:4d01:22af with SMTP id m6-20020a056358248600b001764d0122afmr9744772rwc.4.1706613729472; Tue, 30 Jan 2024 03:22:09 -0800 (PST) MIME-Version: 1.0 From: Nazir Bilal Yavuz Date: Tue, 30 Jan 2024 14:21:57 +0300 Message-ID: Subject: 003_extrafiles.pl test fails on Windows with the newer Perl versions To: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="0000000000001e19c3061027f90f" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000001e19c3061027f90f Content-Type: text/plain; charset="UTF-8" Hi, I was trying to install newer Perl versions to Windows CI images and found that 003_extrafiles.pl test fails on Windows with: (0.183s) not ok 2 - file lists match (0.000s) # Failed test 'file lists match' # at C:/cirrus/src/bin/pg_rewind/t/003_extrafiles.pl line 81. (0.000s) # Structures begin differing at: # $got->[0] = 'C:/cirrus/build/testrun/pg_rewind/003_extrafiles/data/t_003_extrafiles_primary_local_data/pgdata/tst_both_dir' # $expected->[0] = 'C:\cirrus\build/testrun/pg_rewind/003_extrafiles\data/t_003_extrafiles_primary_local_data/pgdata/tst_both_dir' (0.263s) not ok 5 - file lists match (0.000s) # Failed test 'file lists match' # at C:/cirrus/src/bin/pg_rewind/t/003_extrafiles.pl line 81. (0.000s) # Structures begin differing at: # $got->[0] = 'C:/cirrus/build/testrun/pg_rewind/003_extrafiles/data/t_003_extrafiles_primary_remote_data/pgdata/tst_both_dir' # $expected->[0] = 'C:\cirrus\build/testrun/pg_rewind/003_extrafiles\data/t_003_extrafiles_primary_remote_data/pgdata/tst_both_dir' It looks like File::Find converts backslashes to slashes in the newer Perl versions. I tried to find the related commit and found this: https://github.com/Perl/perl5/commit/414f14df98cb1c9a20f92c5c54948b67c09f072d To solve this, I did the same conversion for Windows before comparing the paths. And to support all Perl versions, I decided to always convert them on Windows regardless of the Perl's version. The fix is attached. I looked at other File::Find appearances in the code but they do not compare the paths. So, I do not think there is any need to fix them. Any kind of feedback would be appreciated. -- Regards, Nazir Bilal Yavuz Microsoft --0000000000001e19c3061027f90f Content-Type: application/x-patch; name="v1-0001-Fix-003_extrafiles.pl-test-for-the-Windows.patch" Content-Disposition: attachment; filename="v1-0001-Fix-003_extrafiles.pl-test-for-the-Windows.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ls09h1k20 RnJvbSBiMjhmNDhmZTdkOThkM2RkN2QyZmNmNjUyYmZhNWM4YTRjZDFjMmQ2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXppciBCaWxhbCBZYXZ1eiA8YnlhdnV6ODFAZ21haWwuY29t PgpEYXRlOiBUdWUsIDMwIEphbiAyMDI0IDEzOjEyOjQxICswMzAwClN1YmplY3Q6IFtQQVRDSCB2 MV0gRml4IDAwM19leHRyYWZpbGVzLnBsIHRlc3QgZm9yIHRoZSBXaW5kb3dzCgpGaWxlOjpGaW5k IGNvbnZlcnRzIGJhY2tzbGFzaGVzIHRvIHNsYXNoZXMgaW4gdGhlIG5ld2VyIFBlcmwgdmVyc2lv bnMuClNlZTogaHR0cHM6Ly9naXRodWIuY29tL1BlcmwvcGVybDUvY29tbWl0LzQxNGYxNGRmOThj YjFjOWEyMGY5MmM1YzU0OTQ4YjY3YzA5ZjA3MmQKClNvLCBkbyB0aGUgc2FtZSBjb252ZXJzaW9u IGZvciBXaW5kb3dzIGJlZm9yZSBjb21wYXJpbmcgcGF0aHMuIFRvCnN1cHBvcnQgYWxsIFBlcmwg dmVyc2lvbnMsIGFsd2F5cyBjb252ZXJ0IHRoZW0gb24gV2luZG93cyByZWdhcmRsZXNzIG9mCnRo ZSBQZXJsJ3MgdmVyc2lvbi4KLS0tCiBzcmMvYmluL3BnX3Jld2luZC90LzAwM19leHRyYWZpbGVz LnBsIHwgMTMgKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKykK CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3Jld2luZC90LzAwM19leHRyYWZpbGVzLnBsIGIvc3Jj L2Jpbi9wZ19yZXdpbmQvdC8wMDNfZXh0cmFmaWxlcy5wbAppbmRleCBkNTRkY2RkY2JiNi4uN2U0 YzI3NzFjZTcgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfcmV3aW5kL3QvMDAzX2V4dHJhZmlsZXMu cGwKKysrIGIvc3JjL2Jpbi9wZ19yZXdpbmQvdC8wMDNfZXh0cmFmaWxlcy5wbApAQCAtNzgsNiAr NzgsMTkgQEAgc3ViIHJ1bl90ZXN0CiAJCX0sCiAJCSR0ZXN0X3ByaW1hcnlfZGF0YWRpcik7CiAJ QHBhdGhzID0gc29ydCBAcGF0aHM7CisKKwkjIEZpbGU6OkZpbmQgY29udmVydHMgYmFja3NsYXNo ZXMgdG8gc2xhc2hlcyBpbiB0aGUgbmV3ZXIgUGVybAorCSMgdmVyc2lvbnMuIFRvIHN1cHBvcnQg YWxsIFBlcmwgdmVyc2lvbnMsIGRvIHRoZSBzYW1lIGNvbnZlcnNpb24KKwkjIGZvciBXaW5kb3dz IGJlZm9yZSBjb21wYXJpbmcgdGhlIHBhdGhzLgorCWlmICgkUG9zdGdyZVNRTDo6VGVzdDo6VXRp bHM6OndpbmRvd3Nfb3MpCisJeworCQlmb3IgbXkgJGZpbGVuYW1lIChAcGF0aHMpCisJCXsKKwkJ CSRmaWxlbmFtZSA9fiBze1xcfXsvfWc7CisJCX0KKwkJJHRlc3RfcHJpbWFyeV9kYXRhZGlyID1+ IHN7XFx9ey99ZzsKKwl9CisKIAlpc19kZWVwbHkoCiAJCVxAcGF0aHMsCiAJCVsKLS0gCjIuNDMu MAoK --0000000000001e19c3061027f90f--