Skip to content
Snippets Groups Projects
  • Katsunori FUJIWARA's avatar
    34a5f6c6
    tests: invoke printenv.py via sh -c for test portability · 34a5f6c6
    Katsunori FUJIWARA authored
    On Windows platform, invoking printenv.py directly via hook is
    problematic, because:
    
      - unless binding between *.py suffix and python runtime, application
        selector dialog is displayed, and running test is blocked at each
        printenv.py invocations
    
      - it isn't safe to assume binding between *.py suffix and python
        runtime, because application binding is easily broken
    
        For example, installing IDE (VisualStudio with Python Tools, or
        so) often requires binding between source files and IDE itself.
    
    This patch invokes printenv.py via sh -c for test portability. This is
    a kind of follow up for d19787db6fe0, which eliminated explicit
    "python" for printenv.py. There are already other 'sh -c "printenv.py"'
    in *.t files, and this fix should be reasonable.
    
    This changes were confirmed in cases below:
    
      - without any application binding for *.py suffix
      - with binding between *.py suffix and VisualStudio
    
    This patch also replaces "echo + redirection" style with "heredoc"
    style, because:
    
      - hook command line is parsed by cmd.exe as shell at first, and
      - single quotation can't quote arguments on cmd.exe, therefore,
      - "printenv.py foobar" should be quoted by double quotation, but
      - nested quoting (or tricky escaping) isn't readable
    34a5f6c6
    History
    tests: invoke printenv.py via sh -c for test portability
    Katsunori FUJIWARA authored
    On Windows platform, invoking printenv.py directly via hook is
    problematic, because:
    
      - unless binding between *.py suffix and python runtime, application
        selector dialog is displayed, and running test is blocked at each
        printenv.py invocations
    
      - it isn't safe to assume binding between *.py suffix and python
        runtime, because application binding is easily broken
    
        For example, installing IDE (VisualStudio with Python Tools, or
        so) often requires binding between source files and IDE itself.
    
    This patch invokes printenv.py via sh -c for test portability. This is
    a kind of follow up for d19787db6fe0, which eliminated explicit
    "python" for printenv.py. There are already other 'sh -c "printenv.py"'
    in *.t files, and this fix should be reasonable.
    
    This changes were confirmed in cases below:
    
      - without any application binding for *.py suffix
      - with binding between *.py suffix and VisualStudio
    
    This patch also replaces "echo + redirection" style with "heredoc"
    style, because:
    
      - hook command line is parsed by cmd.exe as shell at first, and
      - single quotation can't quote arguments on cmd.exe, therefore,
      - "printenv.py foobar" should be quoted by double quotation, but
      - nested quoting (or tricky escaping) isn't readable