git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 10/18] remote-mediawiki tests: replace deprecated Perl construct

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Sep 21, 2020, 10:39 UTC
Message-ID
<20200921104000.2304-11-avarab@gmail.com>
In-Reply-To
<20200916102918.29805-1-avarab@gmail.com>

The use of the encoding pragma has been a hard error since Perl 5.18 (released in 2013).

What this script really wanted to do was to decode @ARGV and write out some files with the UTF-8 PerlIO layer. Let's just do that explicitly instead.

This explicitly does not retain the previous UTF-8 semantics of the script. The "encoding" pragma had all sorts of global effects (program text being UTF-8, stdin/stdout etc.). But the only thing that was required was decoding @ARGV and writing out UTF-8 data, which is currently facilitated with the "open" pragma.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 contrib/mw-to-git/t/test-gitmw.pl | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/contrib/mw-to-git/t/test-gitmw.pl b/contrib/mw-to-git/t/test-gitmw.pl
index afc4650b1a..71e5b06235 100755
--- a/contrib/mw-to-git/t/test-gitmw.pl
+++ b/contrib/mw-to-git/t/test-gitmw.pl
@@ -24,7 +24,6 @@
 
 use MediaWiki::API;
 use Getopt::Long;
-use encoding 'utf8';
 use DateTime::Format::ISO8601;
 use open ':encoding(utf8)';
 use constant SLASH_REPLACEMENT => "%2F";
@@ -222,4 +221,4 @@ sub wiki_upload_file {
 	getallpagename => \&wiki_getallpagename,
 );
 die "$0 ERROR: wrong argument" unless exists $functions_to_call{$fct_to_call};
-$functions_to_call{$fct_to_call}->(@ARGV);
+$functions_to_call{$fct_to_call}->(map { utf8::decode($_); $_ } @ARGV);
-- 
2.28.0.297.g1956fa8f8d
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 47 of 54 in “remote-mediawiki: various fixes to make tests pass”
  1. 00/15 remote-mediawiki: various fixes to make tests passÆvar Arnfjörð Bjarmason, Sep 16, 2020
  2. 13/15 remote-mediawiki tests: use CLI installerÆvar Arnfjörð Bjarmason, Sep 16, 2020
  3. 15/15 remote-mediawiki tests: annotate failing testsÆvar Arnfjörð Bjarmason, Sep 16, 2020
  4. 14/15 remote-mediawiki: fix duplicate revisions being importedÆvar Arnfjörð Bjarmason, Sep 16, 2020
  5. 06/15 remote-mediawiki tests: use test_cmp in testsÆvar Arnfjörð Bjarmason, Sep 16, 2020
  6. Jeff KingSep 16, 2020
  7. 12/15 remote-mediawiki tests: use inline PerlIO for readabilityÆvar Arnfjörð Bjarmason, Sep 16, 2020
  8. 09/15 remote-mediawiki tests: use "$dir/" instead of "$dir."Ævar Arnfjörð Bjarmason, Sep 16, 2020
  9. Jeff KingSep 16, 2020
  10. Junio C HamanoSep 16, 2020
  11. 07/15 remote-mediawiki tests: guard test_cmp with test_path_is_fileÆvar Arnfjörð Bjarmason, Sep 16, 2020
  12. Jeff KingSep 16, 2020
  13. Đoàn Trần Công DanhSep 16, 2020
  14. Eric SunshineSep 16, 2020
  15. Junio C HamanoSep 16, 2020
  16. test_cmp: diagnose incorrect arguments more preciselyEric Sunshine, Oct 3, 2020
  17. Junio C HamanoOct 3, 2020
  18. Ævar Arnfjörð BjarmasonSep 21, 2020
  19. Ævar Arnfjörð BjarmasonSep 21, 2020
  20. 11/15 remote-mediawiki tests: replace deprecated Perl constructÆvar Arnfjörð Bjarmason, Sep 16, 2020
  21. Jeff KingSep 16, 2020
  22. 08/15 remote-mediawiki tests: change `[]` to `test`Ævar Arnfjörð Bjarmason, Sep 16, 2020
  23. 10/15 remote-mediawiki tests: use a more idiomatic dispatch tableÆvar Arnfjörð Bjarmason, Sep 16, 2020
  24. 03/15 remote-mediawiki doc: bump recommended PHP version to 7.3Ævar Arnfjörð Bjarmason, Sep 16, 2020
  25. Đoàn Trần Công DanhSep 16, 2020
  26. Junio C HamanoSep 16, 2020
  27. 02/15 remote-mediawiki doc: link to MediaWiki's current versionÆvar Arnfjörð Bjarmason, Sep 16, 2020
  28. 01/15 remote-mediawiki doc: correct link to GitHub projectÆvar Arnfjörð Bjarmason, Sep 16, 2020
  29. Jeff KingSep 16, 2020
  30. Junio C HamanoSep 17, 2020
  31. 04/15 remote-mediawiki tests: use the login/password variablesÆvar Arnfjörð Bjarmason, Sep 16, 2020
  32. Johannes SchindelinSep 16, 2020
  33. Ævar Arnfjörð BjarmasonSep 21, 2020
  34. 05/15 remote-mediawiki tests: use a 10 character passwordÆvar Arnfjörð Bjarmason, Sep 16, 2020
  35. 00/18 remote-mediawiki: fix RCE issue, and the testsÆvar Arnfjörð Bjarmason, Sep 21, 2020
  36. Jeff KingSep 25, 2020
  37. 03/18 remote-mediawiki doc: don't hardcode Debian PHP versionsÆvar Arnfjörð Bjarmason, Sep 21, 2020
  38. 01/18 remote-mediawiki doc: correct link to GitHub projectÆvar Arnfjörð Bjarmason, Sep 21, 2020
  39. 02/18 remote-mediawiki doc: link to MediaWiki's current versionÆvar Arnfjörð Bjarmason, Sep 21, 2020
  40. 07/18 remote-mediawiki tests: change `[]` to `test`Ævar Arnfjörð Bjarmason, Sep 21, 2020
  41. 09/18 remote-mediawiki tests: use a more idiomatic dispatch tableÆvar Arnfjörð Bjarmason, Sep 21, 2020
  42. 11/18 remote-mediawiki tests: use inline PerlIO for readabilityÆvar Arnfjörð Bjarmason, Sep 21, 2020
  43. 06/18 remote-mediawiki tests: use test_cmp in testsÆvar Arnfjörð Bjarmason, Sep 21, 2020
  44. 08/18 remote-mediawiki tests: use "$dir/" instead of "$dir."Ævar Arnfjörð Bjarmason, Sep 21, 2020
  45. 04/18 remote-mediawiki tests: use the login/password variablesÆvar Arnfjörð Bjarmason, Sep 21, 2020
  46. 05/18 remote-mediawiki tests: use a 10 character passwordÆvar Arnfjörð Bjarmason, Sep 21, 2020
  47. 10/18 remote-mediawiki tests: replace deprecated Perl constructÆvar Arnfjörð Bjarmason, Sep 21, 2020
  48. 17/18 remote-mediawiki: annotate unquoted uses of run_git()Ævar Arnfjörð Bjarmason, Sep 21, 2020
  49. 12/18 remote-mediawiki tests: use CLI installerÆvar Arnfjörð Bjarmason, Sep 21, 2020
  50. 18/18 remote-mediawiki: use "sh" to eliminate unquoted commandsÆvar Arnfjörð Bjarmason, Sep 21, 2020
  51. 16/18 remote-mediawiki: convert to quoted run_git() invocationÆvar Arnfjörð Bjarmason, Sep 21, 2020
  52. 15/18 remote-mediawiki: provide a list form of run_git()Ævar Arnfjörð Bjarmason, Sep 21, 2020
  53. 13/18 remote-mediawiki: fix duplicate revisions being importedÆvar Arnfjörð Bjarmason, Sep 21, 2020
  54. 14/18 remote-mediawiki tests: annotate failing testsÆvar Arnfjörð Bjarmason, Sep 21, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.