mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-21 05:34:18 +08:00
Use doctest directly to get docstring examples (#50596)
Summary: This PR addresses [a two-year-old TODO in `test/test_type_hints.py`](12942ea52b/test/test_type_hints.py (L21-L22)
) by replacing most of the body of our custom `get_examples_from_docstring` function with [a function from Python's built-in `doctest.DocTestParser` class](https://docs.python.org/3/library/doctest.html#doctest.DocTestParser.get_examples). This mostly made the parser more strict, catching a few errors in existing doctests: - missing `...` in multiline statements - missing space after `>>>` - unmatched closing parenthesis Also, as shown by [the resulting diff of the untracked `test/generated_type_hints_smoketest.py` file](https://pastebin.com/vC5Wz6M0) (also linked from the test plan below), this introduces a few incidental changes as well: - standalone comments are no longer preserved - indentation is now visually correct - [`example_torch_promote_types`](4da9ceb743/torch/_torch_docs.py (L6753-L6772)
) is now present - an example called `example_torch_tensor___array_priority__` is added, although I can't tell where it comes from - the last nine lines of code from [`example_torch_tensor_align_as`](5d45140d68/torch/_tensor_docs.py (L386-L431)
) are now present - the previously-misformatted third line from [`example_torch_tensor_stride`](5d45140d68/torch/_tensor_docs.py (L3508-L3532)
) is now present Pull Request resolved: https://github.com/pytorch/pytorch/pull/50596 Test Plan: Checkout the base commit, typecheck the doctests, and save the generated file: ``` $ python test/test_type_hints.py TestTypeHints.test_doc_examples $ cp test/generated_type_hints_smoketest.py /tmp ``` Then checkout this PR, do the same thing, and compare: ``` $ python test/test_type_hints.py TestTypeHints.test_doc_examples $ git diff --no-index {/tmp,test}/generated_type_hints_smoketest.py ``` The test should succeed, and the diff should match [this paste](https://pastebin.com/vC5Wz6M0). Reviewed By: walterddr Differential Revision: D25926245 Pulled By: samestep fbshipit-source-id: 23bc379ff438420e556263c19582dba06d8e42ec
This commit is contained in:
committed by
Facebook GitHub Bot
parent
1bde5a216f
commit
c147aa306c
@ -566,7 +566,7 @@ def load(f, map_location=None, pickle_module=pickle, **pickle_load_args):
|
||||
>>> torch.load('tensors.pt', map_location={'cuda:1':'cuda:0'})
|
||||
# Load tensor from io.BytesIO object
|
||||
>>> with open('tensor.pt', 'rb') as f:
|
||||
buffer = io.BytesIO(f.read())
|
||||
... buffer = io.BytesIO(f.read())
|
||||
>>> torch.load(buffer)
|
||||
# Load a module with 'ascii' encoding for unpickling
|
||||
>>> torch.load('module.pt', encoding='ascii')
|
||||
|
Reference in New Issue
Block a user