mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-21 05:34:18 +08:00
Use conditional imports: when running under dynamo, import the original NumPy not torch._numpy. This is what we want to trace, not our implementation. With this, the test suite passes with and without `PYTORCH_TEST_WITH_DYNAMO=1` (modulo a couple of test modules which are not meant to be compiled, e.g. `test_nep50_examples`). There are two new decorators, `x{fail,pass}ifTorchDynamo`, the `xpass` in most cases indicates a graph break and a fallback to eager for things we do not implement. Pull Request resolved: https://github.com/pytorch/pytorch/pull/110401 Approved by: https://github.com/lezcano
38 lines
1.0 KiB
Python
38 lines
1.0 KiB
Python
# Owner(s): ["module: dynamo"]
|
|
|
|
|
|
import pytest
|
|
|
|
from torch.testing._internal.common_utils import (
|
|
run_tests,
|
|
TEST_WITH_TORCHDYNAMO,
|
|
TestCase,
|
|
)
|
|
|
|
# If we are going to trace through these, we should use NumPy
|
|
# If testing on eager mode, we use torch._numpy
|
|
if TEST_WITH_TORCHDYNAMO:
|
|
import numpy as np
|
|
from numpy.testing import assert_equal
|
|
else:
|
|
import torch._numpy as np
|
|
from torch._numpy.testing import assert_equal
|
|
|
|
|
|
class TestAppend(TestCase):
|
|
# tests taken from np.append docstring
|
|
def test_basic(self):
|
|
result = np.append([1, 2, 3], [[4, 5, 6], [7, 8, 9]])
|
|
assert_equal(result, np.arange(1, 10, dtype=int))
|
|
|
|
# When `axis` is specified, `values` must have the correct shape.
|
|
result = np.append([[1, 2, 3], [4, 5, 6]], [[7, 8, 9]], axis=0)
|
|
assert_equal(result, np.arange(1, 10, dtype=int).reshape((3, 3)))
|
|
|
|
with pytest.raises((RuntimeError, ValueError)):
|
|
np.append([[1, 2, 3], [4, 5, 6]], [7, 8, 9], axis=0)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
run_tests()
|