| 357 | assert rc == 130 |
| 358 | |
| 359 | def test_error_unicode(self): |
| 360 | stderr_b = io.BytesIO() |
| 361 | stderr = io.TextIOWrapper(stderr_b, encoding="UTF-8") |
| 362 | fake_client = mock.Mock() |
| 363 | fake_client.list_objects.side_effect = Exception("☃") |
| 364 | fake_client.can_paginate.return_value = False |
| 365 | self.driver.session.create_client = mock.Mock(return_value=fake_client) |
| 366 | with mock.patch("sys.stderr", stderr): |
| 367 | with mock.patch("locale.getpreferredencoding", lambda: "UTF-8"): |
| 368 | rc = self.driver.main('s3 list-objects --bucket foo'.split()) |
| 369 | stderr.flush() |
| 370 | assert rc == 255 |
| 371 | assert stderr_b.getvalue().strip() == "aws: [ERROR]: ☃".encode() |
| 372 | |
| 373 | @pytest.mark.parametrize( |
| 374 | 'env_vars', |