diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2a1c56e..2b679c5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,12 +19,6 @@ jobs: uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - - uses: actions/cache@v2 - with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ matrix.python-version }}-lint-${{ hashFiles('./dev-requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip-${{ matrix.python-version }}-lint- - name: Install dependencies run: | pip install -U pip setuptools wheel @@ -46,12 +40,6 @@ jobs: uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - - uses: actions/cache@v2 - with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ matrix.python-version }}-test-${{ hashFiles('./dev-requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip-${{ matrix.python-version }}-test- - name: Install dependencies run: | pip install -U pip setuptools wheel @@ -74,12 +62,6 @@ jobs: uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - - uses: actions/cache@v2 - with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ matrix.django-version }}-typecheck-${{ hashFiles('./dev-requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ matrix.django-version }}-typecheck- - name: Install dependencies run: | pip install -U pip setuptools wheel diff --git a/dev-requirements.txt b/dev-requirements.txt index 751b080..86c23fe 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -5,7 +5,7 @@ coreapi==2.3.3 gitpython==3.1.9 pre-commit==2.13.0 pytest==6.1.1 -pytest-mypy-plugins==1.7.0 +pytest-mypy-plugins==1.9.2 psycopg2-binary types-toml==0.1.1 -e ./django_stubs_ext diff --git a/tests/typecheck/fields/test_base.yml b/tests/typecheck/fields/test_base.yml index 2b2f012..c32db55 100644 --- a/tests/typecheck/fields/test_base.yml +++ b/tests/typecheck/fields/test_base.yml @@ -63,10 +63,7 @@ main: | from myapp.models import User reveal_type(User().my_pk) # N: Revealed type is "builtins.int*" - reveal_type(User().id) - out: | - main:3: note: Revealed type is "Any" - main:3: error: "User" has no attribute "id" + User().id # E: "User" has no attribute "id" installed_apps: - myapp files: diff --git a/tests/typecheck/fields/test_related.yml b/tests/typecheck/fields/test_related.yml index e5d249d..c54b33e 100644 --- a/tests/typecheck/fields/test_related.yml +++ b/tests/typecheck/fields/test_related.yml @@ -130,10 +130,7 @@ main: | from myapp.models import View reveal_type(View().app.views) # N: Revealed type is "django.db.models.manager.RelatedManager[myapp.models.View]" - reveal_type(View().app.unknown) - out: | - main:3: note: Revealed type is "Any" - main:3: error: "App" has no attribute "unknown" + View().app.unknown # E: "App" has no attribute "unknown" installed_apps: - myapp - myapp2 diff --git a/tests/typecheck/models/test_inheritance.yml b/tests/typecheck/models/test_inheritance.yml index f36b6a5..bc04f5d 100644 --- a/tests/typecheck/models/test_inheritance.yml +++ b/tests/typecheck/models/test_inheritance.yml @@ -52,12 +52,8 @@ b_instance = B() reveal_type(b_instance.b_attr) # N: Revealed type is "builtins.int" - reveal_type(b_instance.non_existent_attribute) - b_instance.non_existent_attribute = 2 - out: | - main:5: note: Revealed type is "Any" - main:5: error: "B" has no attribute "non_existent_attribute" - main:6: error: "B" has no attribute "non_existent_attribute" + b_instance.non_existent_attribute # E: "B" has no attribute "non_existent_attribute" + b_instance.non_existent_attribute = 2 # E: "B" has no attribute "non_existent_attribute" installed_apps: - myapp files: diff --git a/tests/typecheck/models/test_meta_options.yml b/tests/typecheck/models/test_meta_options.yml index ab50d2b..d9ed34a 100644 --- a/tests/typecheck/models/test_meta_options.yml +++ b/tests/typecheck/models/test_meta_options.yml @@ -18,11 +18,9 @@ reveal_type(MyUser._meta.get_field('base_name')) # N: Revealed type is "django.db.models.fields.CharField[Any, Any]" reveal_type(MyUser._meta.get_field('name')) # N: Revealed type is "django.db.models.fields.CharField[Any, Any]" reveal_type(MyUser._meta.get_field('age')) # N: Revealed type is "django.db.models.fields.IntegerField[Any, Any]" - reveal_type(MyUser._meta.get_field('unknown')) reveal_type(MyUser._meta.get_field('to_user')) # N: Revealed type is "django.db.models.fields.related.ForeignKey[Any, Any]" - out: | - main:5: note: Revealed type is "Any" - main:5: error: MyUser has no field named 'unknown' + + MyUser._meta.get_field('unknown') # E: MyUser has no field named 'unknown' installed_apps: - myapp files: diff --git a/tests/typecheck/test_settings.yml b/tests/typecheck/test_settings.yml index ae45e00..4cdb263 100644 --- a/tests/typecheck/test_settings.yml +++ b/tests/typecheck/test_settings.yml @@ -30,10 +30,7 @@ - case: fail_if_there_is_no_setting main: | from django.conf import settings - reveal_type(settings.NOT_EXISTING) - out: | - main:2: note: Revealed type is "Any" - main:2: error: 'Settings' object has no attribute 'NOT_EXISTING' + settings.NOT_EXISTING # E: 'Settings' object has no attribute 'NOT_EXISTING' - case: override_default_setting_with_different_type_in_the_different_module custom_settings: |