[mlir] Fix test failure with invalid piping syntax on old bash
authorKai Sasaki <lewuathe@gmail.com>
Fri, 7 Oct 2022 00:29:36 +0000 (09:29 +0900)
committerKai Sasaki <lewuathe@gmail.com>
Fri, 7 Oct 2022 00:29:49 +0000 (09:29 +0900)
commitb03f4396116e2450dc5237ea7050751e80cd7dd5
tree448ecb5375cb55185af556fab5376806e1b1701c
parentb924c8c71daaa1bb869c42d9afca2a09a9b94629
[mlir] Fix test failure with invalid piping syntax on old bash

Using '|&' syntax for piping both stdout and stderr is not supported by older bash. macOS pre-installs 3.2.57 as of today, and it causes test failure due to unexpected token '&'. We can use '2>&1' instead to make it compatible as much as possible.

```
******************** TEST 'MLIR :: mlir-cpu-runner/invalid.mlir' FAILED ********************
Script:
--
: 'RUN: at line 1';   not mlir-cpu-runner --no-implicit-module llvm-project/mlir/test/mlir-cpu-runner/invalid.mlir |& llvm-project/build/bin/FileCheck llvm-project/mlir/test/mlir-cpu-runner/invalid.mlir
--
Exit Code: 2

Command Output (stderr):
--
mlir-cpu-runner/Output/invalid.mlir.script: line 1: syntax error near unexpected token `&'
/mlir-cpu-runner/Output/invalid.mlir.script: line 1: `set -o pipefail;{ : 'RUN: at line 1';   not mlir-cpu-runner --no-implicit-module llvm-project/mlir/test/mlir-cpu-runner/invalid.mlir |& llvm-project/build/bin/FileCheck llvm-project/mlir/test/mlir-cpu-runner/invalid.mlir; }'
```

Reference: https://stackoverflow.com/questions/35384999/what-does-mean-in-bash

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D135347
mlir/test/mlir-cpu-runner/invalid.mlir
mlir/test/mlir-reduce/invalid.mlir