• Tom Lane's avatar
    Further portability hacking in pg_upgrade's test script. · 04269320
    Tom Lane authored
    I blew the dust off a Bourne shell (file date 1996, yea verily) and
    tried to run test.sh with it.  It mostly worked, but I found that the
    temp-directory creation code introduced by commit be76a6d3 was not
    compatible, for a couple of reasons: this shell thinks "set -e" should
    force an exit if a command within backticks fails, and it also thinks code
    within braces should be executed by a sub-shell, meaning that variable
    settings don't propagate back up to the parent shell.  In view of Victor
    Wagner's report that Solaris is still using pre-POSIX shells, seems like
    we oughta make this case work.  It's not like the code is any less
    idiomatic this way; the prior coding technique appeared nowhere else.
    
    (There is a remaining bash-ism here, which is that $RANDOM doesn't do
    what the code hopes in non-bash shells.  But the use of $$ elsewhere in
    that path should be enough to ensure uniqueness and some amount of
    randomness, so I think it's okay as-is.)
    
    Back-patch to all supported branches, as the previous commit was.
    
    Discussion: https://postgr.es/m/20180720153820.69e9ae6c@fafnir.local.vm
    04269320
test.sh 7.95 KB