Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify and abstract away asset access in test #542

Merged
merged 1 commit into from Apr 14, 2020

Conversation

mthrok
Copy link
Collaborator

@mthrok mthrok commented Apr 14, 2020

This PR aims the following things;

  1. Introduce and adopt helper function get_asset_path that abstract the logic to construct path to test assets.
  2. Remove create_temp_assets_dir anywhere except test_io.

The benefits of doing so are,
a. the test code becomes simpler (no manual construction of asset path with os.path.join)
b. No unnecessary directory creation and file copies.

For 2. and b. tests in test_io.py (or tests that use torchaudio.save) are the only tests that need to write file to the disc, where the use of temporary directory makes it cleaner, therefore, create_temp_assets_dir is not necessary elsewhere. (still, test_io does not need to copy the entire asset directory, but that's not the point here.)

Also if any test is accidentally overwriting an asset data, not using a copy will make us aware of such behavior, so it is better to get rid of create_temp_assets_dir.

This PR aims the following things;
1. Introduce and adopt helper function `get_asset_path` that abstract the logic to construct path to test assets.
2. Remove `create_temp_assets_dir` anywhere except `test_io`.

The benefits of doing so are,
a. the test code becomes simpler (no manual construction of asset path with `os.path.join`)
b. No unnecessary directory creation and file copies.

For 2. and b. tests in `test_io.py` (or tests that use `torchaudio.save`) are the only tests that need to write file to the disc, where the use of temporary directory makes it cleaner, therefore, `create_temp_assets_dir` is not necessary elsewhere. (still, `test_io` does not need to copy the entire asset directory, but that's not the point here.)

Also if any test is accidentally overwriting an asset data, not using a copy will make us aware of such behavior, so it is better to get rid of `create_temp_assets_dir`.
@mthrok mthrok requested a review from vincentqb April 14, 2020 15:14
Copy link
Contributor

@vincentqb vincentqb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@vincentqb vincentqb merged commit 0e5581c into pytorch:master Apr 14, 2020
@mthrok mthrok deleted the refactor-test-util branch April 14, 2020 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants