public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/python-django5] rawhide: Disable failing tests on Python 3.15
@ 2026-06-06 15:38 Michel Lind
  0 siblings, 0 replies; only message in thread
From: Michel Lind @ 2026-06-06 15:38 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/python-django5
            Branch : rawhide
            Commit : e56e8c9c2cfe7cc87d9c3b226e1e39cd132e0b1a
            Author : Michel Lind <salimma@fedoraproject.org>
            Date   : 2026-06-06T16:37:14+01:00
            Stats  : +238/-37 in 3 file(s)
            URL    : https://src.fedoraproject.org/rpms/python-django5/c/e56e8c9c2cfe7cc87d9c3b226e1e39cd132e0b1a?branch=rawhide

            Log:
            Disable failing tests on Python 3.15

scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=146309158

Signed-off-by: Michel Lind <salimma@fedoraproject.org>

---
diff --git a/django-py314-skip-failing-tests.diff b/django-py314-skip-failing-tests.diff
deleted file mode 100644
index 78b91a3..0000000
--- a/django-py314-skip-failing-tests.diff
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/tests/utils_tests/test_html.py
-+++ b/tests/utils_tests/test_html.py
-@@ -1,6 +1,7 @@
- import os
- import sys
- from datetime import datetime
-+from unittest import skip
- 
- from django.core.exceptions import SuspiciousOperation
- from django.core.serializers.json import DjangoJSONEncoder
-@@ -117,6 +118,7 @@ class TestUtilsHtml(SimpleTestCase):
-                 self.check_output(linebreaks, value, output)
-                 self.check_output(linebreaks, lazystr(value), output)
- 
-+    @skip("Fails on Python 3.14")
-     def test_strip_tags(self):
-         # Python fixed a quadratic-time issue in HTMLParser in 3.13.6, 3.12.12,
-         # 3.11.14, 3.10.19, and 3.9.24. The fix slightly changes HTMLParser's

diff --git a/get-dash-k-exp.sh b/get-dash-k-exp.sh
new file mode 100755
index 0000000..98a64d0
--- /dev/null
+++ b/get-dash-k-exp.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+#
+# from build.log, compute the -k expression to pass to runtests.py
+#
+cat build.log | grep "FAIL: " | awk '{ print $3 }' | sed -e 's|^(||' | sed -e 's|)$||' | sed -e 's|^|    and not |'

diff --git a/python-django5.spec b/python-django5.spec
index 83d806b..0d5d7f4 100644
--- a/python-django5.spec
+++ b/python-django5.spec
@@ -7,7 +7,10 @@
 %bcond main_django 0
 %endif
 
-%if 0%{?python3_version_nodots} >= 314
+# This allows to build the package without tests, e.g. when bootstrapping new Python version
+%bcond tests    1
+
+%if 0%{?python3_version_nodots} >= 315
 # some tests currently fail
 %bcond all_tests 0
 %else
@@ -39,23 +42,8 @@ URL:            https://www.djangoproject.com/
 Source:         %{pypi_source django}
 Source:         %{name}.rpmlintrc
 
-# conditional patches: >= 1000
-# test_strip_tags() failing with Python 3.14
-# https://code.djangoproject.com/ticket/36499
-#
-# also test_parsing_errors()
-# https://code.djangoproject.com/ticket/36515
-# ======================================================================
-# FAIL: test_parsing_errors (test_utils.tests.HTMLEqualTests.test_parsing_errors)
-# ----------------------------------------------------------------------
-# AssertionError: &lt; div&gt; != <div>
-# - &lt; div&gt;   
-# + <div>
-Patch1000:      django-py314-skip-failing-tests.diff
 # setuptools 77 is only needed to support the new license metadata
 Patch1001:      django-allow-setuptools-ge-69.diff
-# This allows to build the package without tests, e.g. when bootstrapping new Python version
-%bcond tests    1
 
 BuildArch:      noarch
 
@@ -126,9 +114,6 @@ Conflicts:      python-django-impl
 %prep
 %autosetup -N -n django-%{version}
 %autopatch -p1 -M 999
-%if %{without all_tests}
-%autopatch -p1 1000
-%endif
 %if %{with old_setuptools}
 %autopatch -p1 1001
 %endif
@@ -201,7 +186,124 @@ cd %{_builddir}/django-%{version}
 export PYTHONPATH=$(pwd)
 cd tests
 
+%if %{with all_tests}
 %{python3} runtests.py --settings=test_sqlite --verbosity=2
+%else
+%{python3} runtests.py --settings=test_sqlite --verbosity=2 -k "%{shrink:
+    not admin_scripts.tests.ArgumentOrder.test_option_then_setting
+    and not admin_scripts.tests.ArgumentOrder.test_option_then_setting_then_option
+    and not admin_scripts.tests.ArgumentOrder.test_setting_then_option
+    and not admin_scripts.tests.ArgumentOrder.test_setting_then_short_option
+    and not admin_scripts.tests.ArgumentOrder.test_short_option_then_setting
+    and not admin_scripts.tests.CommandDBOptionChoiceTests.test_invalid_choice_db_option
+    and not admin_scripts.tests.CommandTypes.test_app_command
+    and not admin_scripts.tests.CommandTypes.test_app_command_multiple_apps
+    and not admin_scripts.tests.CommandTypes.test_base_command
+    and not admin_scripts.tests.CommandTypes.test_base_command_multiple_label
+    and not admin_scripts.tests.CommandTypes.test_base_command_no_label
+    and not admin_scripts.tests.CommandTypes.test_base_command_with_option
+    and not admin_scripts.tests.CommandTypes.test_base_command_with_options
+    and not admin_scripts.tests.CommandTypes.test_help_default_options_with_custom_arguments
+    and not admin_scripts.tests.CommandTypes.test_label_command
+    and not admin_scripts.tests.CommandTypes.test_label_command_multiple_label
+    and not admin_scripts.tests.CommandTypes.test_noargs
+    and not admin_scripts.tests.CommandTypes.test_specific_help
+    and not admin_scripts.tests.CommandTypes.test_suppress_base_options_command_defaults
+    and not admin_scripts.tests.CommandTypes.test_suppress_base_options_command_help
+    and not admin_scripts.tests.CommandTypes.test_version
+    and not admin_scripts.tests.DiffSettings.test_all
+    and not admin_scripts.tests.DiffSettings.test_basic
+    and not admin_scripts.tests.DiffSettings.test_custom_default
+    and not admin_scripts.tests.DiffSettings.test_dynamic_settings_configured
+    and not admin_scripts.tests.DiffSettings.test_settings_configured
+    and not admin_scripts.tests.DiffSettings.test_unified
+    and not admin_scripts.tests.DiffSettings.test_unified_all
+    and not admin_scripts.tests.DjangoAdminAlternateSettings.test_builtin_with_environment
+    and not admin_scripts.tests.DjangoAdminAlternateSettings.test_builtin_with_settings
+    and not admin_scripts.tests.DjangoAdminAlternateSettings.test_custom_command_with_environment
+    and not admin_scripts.tests.DjangoAdminAlternateSettings.test_custom_command_with_settings
+    and not admin_scripts.tests.DjangoAdminDefaultSettings.test_builtin_with_environment
+    and not admin_scripts.tests.DjangoAdminDefaultSettings.test_builtin_with_settings
+    and not admin_scripts.tests.DjangoAdminDefaultSettings.test_custom_command_with_environment
+    and not admin_scripts.tests.DjangoAdminDefaultSettings.test_custom_command_with_settings
+    and not admin_scripts.tests.DjangoAdminFullPathDefaultSettings.test_builtin_with_environment
+    and not admin_scripts.tests.DjangoAdminFullPathDefaultSettings.test_builtin_with_settings
+    and not admin_scripts.tests.DjangoAdminFullPathDefaultSettings.test_custom_command_with_environment
+    and not admin_scripts.tests.DjangoAdminFullPathDefaultSettings.test_custom_command_with_settings
+    and not admin_scripts.tests.DjangoAdminMultipleSettings.test_builtin_with_environment
+    and not admin_scripts.tests.DjangoAdminMultipleSettings.test_builtin_with_settings
+    and not admin_scripts.tests.DjangoAdminMultipleSettings.test_custom_command_with_environment
+    and not admin_scripts.tests.DjangoAdminMultipleSettings.test_custom_command_with_settings
+    and not admin_scripts.tests.DjangoAdminSettingsDirectory.test_builtin_with_environment
+    and not admin_scripts.tests.DjangoAdminSettingsDirectory.test_builtin_with_settings
+    and not admin_scripts.tests.DjangoAdminSettingsDirectory.test_setup_environ
+    and not admin_scripts.tests.DjangoAdminSettingsDirectory.test_setup_environ_custom_template
+    and not admin_scripts.tests.DjangoAdminSettingsDirectory.test_startapp_unicode_name
+    and not admin_scripts.tests.ManageAlternateSettings.test_builtin_with_environment
+    and not admin_scripts.tests.ManageAlternateSettings.test_builtin_with_settings
+    and not admin_scripts.tests.ManageAlternateSettings.test_custom_command_output_color
+    and not admin_scripts.tests.ManageAlternateSettings.test_custom_command_with_environment
+    and not admin_scripts.tests.ManageAlternateSettings.test_custom_command_with_settings
+    and not admin_scripts.tests.ManageCheck.test_app_with_import
+    and not admin_scripts.tests.ManageCheck.test_complex_app
+    and not admin_scripts.tests.ManageCheck.test_output_format
+    and not admin_scripts.tests.ManageCheck.test_warning_does_not_halt
+    and not admin_scripts.tests.ManageDefaultSettings.test_builtin_command
+    and not admin_scripts.tests.ManageDefaultSettings.test_builtin_with_environment
+    and not admin_scripts.tests.ManageDefaultSettings.test_builtin_with_settings
+    and not admin_scripts.tests.ManageDefaultSettings.test_custom_command
+    and not admin_scripts.tests.ManageDefaultSettings.test_custom_command_with_environment
+    and not admin_scripts.tests.ManageDefaultSettings.test_custom_command_with_settings
+    and not admin_scripts.tests.ManageFullPathDefaultSettings.test_builtin_command
+    and not admin_scripts.tests.ManageFullPathDefaultSettings.test_builtin_with_environment
+    and not admin_scripts.tests.ManageFullPathDefaultSettings.test_builtin_with_settings
+    and not admin_scripts.tests.ManageFullPathDefaultSettings.test_custom_command
+    and not admin_scripts.tests.ManageFullPathDefaultSettings.test_custom_command_with_environment
+    and not admin_scripts.tests.ManageFullPathDefaultSettings.test_custom_command_with_settings
+    and not admin_scripts.tests.ManageMultipleSettings.test_builtin_with_environment
+    and not admin_scripts.tests.ManageMultipleSettings.test_builtin_with_settings
+    and not admin_scripts.tests.ManageMultipleSettings.test_custom_command_with_environment
+    and not admin_scripts.tests.ManageMultipleSettings.test_custom_command_with_settings
+    and not admin_scripts.tests.ManageSettingsWithSettingsErrors.test_help
+    and not admin_scripts.tests.StartApp.test_template
+    and not admin_scripts.tests.StartApp.test_trailing_slash_in_target_app_directory_name
+    and not admin_scripts.tests.StartProject.test_custom_project_template
+    and not admin_scripts.tests.StartProject.test_custom_project_template_context_variables
+    and not admin_scripts.tests.StartProject.test_custom_project_template_exclude_directory
+    and not admin_scripts.tests.StartProject.test_custom_project_template_from_tarball_by_path
+    and not admin_scripts.tests.StartProject.test_custom_project_template_from_tarball_by_url
+    and not admin_scripts.tests.StartProject.test_custom_project_template_from_tarball_by_url_django_user_agent
+    and not admin_scripts.tests.StartProject.test_custom_project_template_from_tarball_to_alternative_location
+    and not admin_scripts.tests.StartProject.test_custom_project_template_hidden_directory_default_excluded
+    and not admin_scripts.tests.StartProject.test_custom_project_template_hidden_directory_included
+    and not admin_scripts.tests.StartProject.test_custom_project_template_non_python_files_not_formatted
+    and not admin_scripts.tests.StartProject.test_custom_project_template_with_non_ascii_templates
+    and not admin_scripts.tests.StartProject.test_file_without_extension
+    and not admin_scripts.tests.StartProject.test_honor_umask
+    and not admin_scripts.tests.StartProject.test_no_escaping_of_project_variables
+    and not admin_scripts.tests.StartProject.test_project_template_tarball_url
+    and not admin_scripts.tests.StartProject.test_simple_project
+    and not admin_scripts.tests.StartProject.test_simple_project_different_directory
+    and not admin_scripts.tests.StartProject.test_template_dir_with_trailing_slash
+    and not logging_tests.tests.SettingsConfigTest.test_circular_dependency
+    and not logging_tests.tests.SettingsCustomLoggingTest.test_custom_logging
+    and not staticfiles_tests.test_management.TestCollectionHelpSubcommand.test_missing_settings_dont_prevent_help
+    and not test_runner.tests.CustomTestRunnerOptionsCmdlineTests.test_no_testrunner
+    and not test_runner.tests.CustomTestRunnerOptionsCmdlineTests.test_testrunner_equals
+    and not test_runner.tests.CustomTestRunnerOptionsCmdlineTests.test_testrunner_option
+    and not test_runner.tests.CustomTestRunnerOptionsSettingsTests.test_all_options_given
+    and not test_runner.tests.CustomTestRunnerOptionsSettingsTests.test_default_and_given_options
+    and not test_runner.tests.CustomTestRunnerOptionsSettingsTests.test_default_options
+    and not test_runner.tests.CustomTestRunnerOptionsSettingsTests.test_option_name_and_value_separated
+    and not test_runner.tests.Ticket17477RegressionTests.test_ticket_17477
+    and not urlpatterns_reverse.tests.ReverseLazySettingsTest.test_lazy_in_settings
+    and not user_commands.tests.CommandRunTests.test_disallowed_abbreviated_options
+    and not user_commands.tests.CommandRunTests.test_script_prefix_set_in_commands
+    and not user_commands.tests.CommandRunTests.test_skip_checks
+    and not user_commands.tests.CommandRunTests.test_subparser_error_formatting
+    and not user_commands.tests.CommandRunTests.test_subparser_non_django_error_formatting
+}"
+%endif
 %endif
 
 %files -n %{pkgname}-bash-completion
@@ -228,3 +330,115 @@ cd tests
 
 %changelog
 %autochangelog
+    and not admin_scripts.tests.ArgumentOrder.test_option_then_setting
+    and not admin_scripts.tests.ArgumentOrder.test_option_then_setting_then_option
+    and not admin_scripts.tests.ArgumentOrder.test_setting_then_option
+    and not admin_scripts.tests.ArgumentOrder.test_setting_then_short_option
+    and not admin_scripts.tests.ArgumentOrder.test_short_option_then_setting
+    and not admin_scripts.tests.CommandDBOptionChoiceTests.test_invalid_choice_db_option
+    and not admin_scripts.tests.CommandTypes.test_app_command
+    and not admin_scripts.tests.CommandTypes.test_app_command_multiple_apps
+    and not admin_scripts.tests.CommandTypes.test_base_command
+    and not admin_scripts.tests.CommandTypes.test_base_command_multiple_label
+    and not admin_scripts.tests.CommandTypes.test_base_command_no_label
+    and not admin_scripts.tests.CommandTypes.test_base_command_with_option
+    and not admin_scripts.tests.CommandTypes.test_base_command_with_options
+    and not admin_scripts.tests.CommandTypes.test_help_default_options_with_custom_arguments
+    and not admin_scripts.tests.CommandTypes.test_label_command
+    and not admin_scripts.tests.CommandTypes.test_label_command_multiple_label
+    and not admin_scripts.tests.CommandTypes.test_noargs
+    and not admin_scripts.tests.CommandTypes.test_specific_help
+    and not admin_scripts.tests.CommandTypes.test_suppress_base_options_command_defaults
+    and not admin_scripts.tests.CommandTypes.test_suppress_base_options_command_help
+    and not admin_scripts.tests.CommandTypes.test_version
+    and not admin_scripts.tests.DiffSettings.test_all
+    and not admin_scripts.tests.DiffSettings.test_basic
+    and not admin_scripts.tests.DiffSettings.test_custom_default
+    and not admin_scripts.tests.DiffSettings.test_dynamic_settings_configured
+    and not admin_scripts.tests.DiffSettings.test_settings_configured
+    and not admin_scripts.tests.DiffSettings.test_unified
+    and not admin_scripts.tests.DiffSettings.test_unified_all
+    and not admin_scripts.tests.DjangoAdminAlternateSettings.test_builtin_with_environment
+    and not admin_scripts.tests.DjangoAdminAlternateSettings.test_builtin_with_settings
+    and not admin_scripts.tests.DjangoAdminAlternateSettings.test_custom_command_with_environment
+    and not admin_scripts.tests.DjangoAdminAlternateSettings.test_custom_command_with_settings
+    and not admin_scripts.tests.DjangoAdminDefaultSettings.test_builtin_with_environment
+    and not admin_scripts.tests.DjangoAdminDefaultSettings.test_builtin_with_settings
+    and not admin_scripts.tests.DjangoAdminDefaultSettings.test_custom_command_with_environment
+    and not admin_scripts.tests.DjangoAdminDefaultSettings.test_custom_command_with_settings
+    and not admin_scripts.tests.DjangoAdminFullPathDefaultSettings.test_builtin_with_environment
+    and not admin_scripts.tests.DjangoAdminFullPathDefaultSettings.test_builtin_with_settings
+    and not admin_scripts.tests.DjangoAdminFullPathDefaultSettings.test_custom_command_with_environment
+    and not admin_scripts.tests.DjangoAdminFullPathDefaultSettings.test_custom_command_with_settings
+    and not admin_scripts.tests.DjangoAdminMultipleSettings.test_builtin_with_environment
+    and not admin_scripts.tests.DjangoAdminMultipleSettings.test_builtin_with_settings
+    and not admin_scripts.tests.DjangoAdminMultipleSettings.test_custom_command_with_environment
+    and not admin_scripts.tests.DjangoAdminMultipleSettings.test_custom_command_with_settings
+    and not admin_scripts.tests.DjangoAdminSettingsDirectory.test_builtin_with_environment
+    and not admin_scripts.tests.DjangoAdminSettingsDirectory.test_builtin_with_settings
+    and not admin_scripts.tests.DjangoAdminSettingsDirectory.test_setup_environ
+    and not admin_scripts.tests.DjangoAdminSettingsDirectory.test_setup_environ_custom_template
+    and not admin_scripts.tests.DjangoAdminSettingsDirectory.test_startapp_unicode_name
+    and not admin_scripts.tests.ManageAlternateSettings.test_builtin_with_environment
+    and not admin_scripts.tests.ManageAlternateSettings.test_builtin_with_settings
+    and not admin_scripts.tests.ManageAlternateSettings.test_custom_command_output_color
+    and not admin_scripts.tests.ManageAlternateSettings.test_custom_command_with_environment
+    and not admin_scripts.tests.ManageAlternateSettings.test_custom_command_with_settings
+    and not admin_scripts.tests.ManageCheck.test_app_with_import
+    and not admin_scripts.tests.ManageCheck.test_complex_app
+    and not admin_scripts.tests.ManageCheck.test_output_format
+    and not admin_scripts.tests.ManageCheck.test_warning_does_not_halt
+    and not admin_scripts.tests.ManageDefaultSettings.test_builtin_command
+    and not admin_scripts.tests.ManageDefaultSettings.test_builtin_with_environment
+    and not admin_scripts.tests.ManageDefaultSettings.test_builtin_with_settings
+    and not admin_scripts.tests.ManageDefaultSettings.test_custom_command
+    and not admin_scripts.tests.ManageDefaultSettings.test_custom_command_with_environment
+    and not admin_scripts.tests.ManageDefaultSettings.test_custom_command_with_settings
+    and not admin_scripts.tests.ManageFullPathDefaultSettings.test_builtin_command
+    and not admin_scripts.tests.ManageFullPathDefaultSettings.test_builtin_with_environment
+    and not admin_scripts.tests.ManageFullPathDefaultSettings.test_builtin_with_settings
+    and not admin_scripts.tests.ManageFullPathDefaultSettings.test_custom_command
+    and not admin_scripts.tests.ManageFullPathDefaultSettings.test_custom_command_with_environment
+    and not admin_scripts.tests.ManageFullPathDefaultSettings.test_custom_command_with_settings
+    and not admin_scripts.tests.ManageMultipleSettings.test_builtin_with_environment
+    and not admin_scripts.tests.ManageMultipleSettings.test_builtin_with_settings
+    and not admin_scripts.tests.ManageMultipleSettings.test_custom_command_with_environment
+    and not admin_scripts.tests.ManageMultipleSettings.test_custom_command_with_settings
+    and not admin_scripts.tests.ManageSettingsWithSettingsErrors.test_help
+    and not admin_scripts.tests.StartApp.test_template
+    and not admin_scripts.tests.StartApp.test_trailing_slash_in_target_app_directory_name
+    and not admin_scripts.tests.StartProject.test_custom_project_template
+    and not admin_scripts.tests.StartProject.test_custom_project_template_context_variables
+    and not admin_scripts.tests.StartProject.test_custom_project_template_exclude_directory
+    and not admin_scripts.tests.StartProject.test_custom_project_template_from_tarball_by_path
+    and not admin_scripts.tests.StartProject.test_custom_project_template_from_tarball_by_url
+    and not admin_scripts.tests.StartProject.test_custom_project_template_from_tarball_by_url_django_user_agent
+    and not admin_scripts.tests.StartProject.test_custom_project_template_from_tarball_to_alternative_location
+    and not admin_scripts.tests.StartProject.test_custom_project_template_hidden_directory_default_excluded
+    and not admin_scripts.tests.StartProject.test_custom_project_template_hidden_directory_included
+    and not admin_scripts.tests.StartProject.test_custom_project_template_non_python_files_not_formatted
+    and not admin_scripts.tests.StartProject.test_custom_project_template_with_non_ascii_templates
+    and not admin_scripts.tests.StartProject.test_file_without_extension
+    and not admin_scripts.tests.StartProject.test_honor_umask
+    and not admin_scripts.tests.StartProject.test_no_escaping_of_project_variables
+    and not admin_scripts.tests.StartProject.test_project_template_tarball_url
+    and not admin_scripts.tests.StartProject.test_simple_project
+    and not admin_scripts.tests.StartProject.test_simple_project_different_directory
+    and not admin_scripts.tests.StartProject.test_template_dir_with_trailing_slash
+    and not logging_tests.tests.SettingsConfigTest.test_circular_dependency
+    and not logging_tests.tests.SettingsCustomLoggingTest.test_custom_logging
+    and not staticfiles_tests.test_management.TestCollectionHelpSubcommand.test_missing_settings_dont_prevent_help
+    and not test_runner.tests.CustomTestRunnerOptionsCmdlineTests.test_no_testrunner
+    and not test_runner.tests.CustomTestRunnerOptionsCmdlineTests.test_testrunner_equals
+    and not test_runner.tests.CustomTestRunnerOptionsCmdlineTests.test_testrunner_option
+    and not test_runner.tests.CustomTestRunnerOptionsSettingsTests.test_all_options_given
+    and not test_runner.tests.CustomTestRunnerOptionsSettingsTests.test_default_and_given_options
+    and not test_runner.tests.CustomTestRunnerOptionsSettingsTests.test_default_options
+    and not test_runner.tests.CustomTestRunnerOptionsSettingsTests.test_option_name_and_value_separated
+    and not test_runner.tests.Ticket17477RegressionTests.test_ticket_17477
+    and not urlpatterns_reverse.tests.ReverseLazySettingsTest.test_lazy_in_settings
+    and not user_commands.tests.CommandRunTests.test_disallowed_abbreviated_options
+    and not user_commands.tests.CommandRunTests.test_script_prefix_set_in_commands
+    and not user_commands.tests.CommandRunTests.test_skip_checks
+    and not user_commands.tests.CommandRunTests.test_subparser_error_formatting
+    and not user_commands.tests.CommandRunTests.test_subparser_non_django_error_formatting

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-06-06 15:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-06 15:38 [rpms/python-django5] rawhide: Disable failing tests on Python 3.15 Michel Lind

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox