TST: Make HDF5 fspath write test robust
State: closed

The test_write_fspath_all test would fail on the HDF5 example
occasionally (about 1/100 in my experience). Apparently you don't get an
identical HDF5 every single time. This refactors that test out to its own where
we write and read both versions, and compare equality that way.

See https://github.com/pandas-dev/pandas/pull/14026#issuecomment-305554714 and https://circleci.com/gh/pandas-dev/pandas/2507?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link for an example

Labels:
name: IO Data
description: IO issues that don't fit into a more specific label
name: Unreliable Test
description: Unit tests that occasionally fail

Comments:
# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=h1) Report
> Merging [#16575](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/fb47ee56d95ff1d5fcdff5dc589491c63a238bac?src=pr&el=desc) will **decrease** coverage by `0.02%`.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/16575/graphs/tree.svg?src=pr&token=eZ4WkYLtcO&width=650&height=150)](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master   #16575      +/-   ##
==========================================
- Coverage   90.78%   90.75%   -0.03%     
==========================================
  Files         161      161              
  Lines       51089    51089              
==========================================
- Hits        46380    46368      -12     
- Misses       4709     4721      +12
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `88.59% <ø> (-0.03%)` | :arrow_down: |
| #single | `40.16% <ø> (ø)` | :arrow_up: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/plotting/\_converter.py](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=tree#diff-cGFuZGFzL3Bsb3R0aW5nL19jb252ZXJ0ZXIucHk=) | `63.23% <0%> (-1.82%)` | :arrow_down: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=footer). Last update [fb47ee5...7b1e9c5](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=h1) Report
> Merging [#16575](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/fb47ee56d95ff1d5fcdff5dc589491c63a238bac?src=pr&el=desc) will **decrease** coverage by `0.02%`.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/16575/graphs/tree.svg?width=650&height=150&src=pr&token=eZ4WkYLtcO)](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master   #16575      +/-   ##
==========================================
- Coverage   90.78%   90.75%   -0.03%     
==========================================
  Files         161      161              
  Lines       51089    51089              
==========================================
- Hits        46380    46368      -12     
- Misses       4709     4721      +12
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `88.59% <ø> (-0.03%)` | :arrow_down: |
| #single | `40.16% <ø> (ø)` | :arrow_up: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/plotting/\_converter.py](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=tree#diff-cGFuZGFzL3Bsb3R0aW5nL19jb252ZXJ0ZXIucHk=) | `63.23% <0%> (-1.82%)` | :arrow_down: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=footer). Last update [fb47ee5...7b1e9c5](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=h1) Report
> Merging [#16575](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/fb47ee56d95ff1d5fcdff5dc589491c63a238bac?src=pr&el=desc) will **decrease** coverage by `0.02%`.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/16575/graphs/tree.svg?token=eZ4WkYLtcO&src=pr&width=650&height=150)](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master   #16575      +/-   ##
==========================================
- Coverage   90.78%   90.75%   -0.03%     
==========================================
  Files         161      161              
  Lines       51089    51089              
==========================================
- Hits        46380    46368      -12     
- Misses       4709     4721      +12
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `88.59% <ø> (-0.03%)` | :arrow_down: |
| #single | `40.16% <ø> (ø)` | :arrow_up: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/plotting/\_converter.py](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=tree#diff-cGFuZGFzL3Bsb3R0aW5nL19jb252ZXJ0ZXIucHk=) | `63.23% <0%> (-1.82%)` | :arrow_down: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=footer). Last update [fb47ee5...7b1e9c5](https://codecov.io/gh/pandas-dev/pandas/pull/16575?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

thanks!
you *might* want to backport this? up 2 u
I think the fspath stuff was 0.21.0 (since it had that minor API change on HDFStore's getattr)
ahh right I remember your comment. thanks.