{
  "__type": "IngestedDoc",
  "__tag": 4010,
  "_content": {},
  "_ordered_sections": [],
  "item_file": null,
  "item_line": null,
  "item_type": null,
  "aliases": [],
  "example_section_data": {
    "__type": "Section",
    "__tag": 4015,
    "children": [],
    "title": [],
    "level": 0,
    "target": null
  },
  "see_also": [],
  "signature": null,
  "references": null,
  "qa": "dev:contributor:devpy_test",
  "arbitrary": [
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Basic test writing and execution from within the Python interpreter is documented in the "
            },
            {
              "__type": "CrossRef",
              "__tag": 4002,
              "value": "NumPy/SciPy testing guidelines",
              "reference": {
                "__type": "LocalRef",
                "__tag": 4022,
                "kind": "docs",
                "path": "numpy:reference/testing"
              },
              "kind": "docs"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ". This page includes information about running tests from the command line using the "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "spin"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " command line tool. "
            },
            {
              "__type": "Emphasis",
              "__tag": 4047,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "Note: Before beginning, ensure that"
                }
              ]
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " "
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "|pytest|_"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " "
            },
            {
              "__type": "Emphasis",
              "__tag": 4047,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "is installed."
                }
              ]
            }
          ]
        },
        {
          "__type": "Admonition",
          "__tag": 4056,
          "kind": "note",
          "base_type": "note",
          "children": [
            {
              "__type": "AdmonitionTitle",
              "__tag": 4055,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "note "
                }
              ]
            },
            {
              "__type": "Paragraph",
              "__tag": 4045,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "The "
                },
                {
                  "__type": "InlineCode",
                  "__tag": 4051,
                  "value": "spin"
                },
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": " interface is self-documenting, in the sense that everything on this page and more (including usage examples for each command) can be accessed with "
                },
                {
                  "__type": "InlineCode",
                  "__tag": 4051,
                  "value": "spin --help"
                },
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": " and for individual commands like "
                },
                {
                  "__type": "InlineCode",
                  "__tag": 4051,
                  "value": "spin <command-name> --help"
                },
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": ". In this case, you can check "
                },
                {
                  "__type": "InlineCode",
                  "__tag": 4051,
                  "value": "spin test --help"
                },
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "."
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "To run all tests, navigate to the root SciPy directory at the command line and execute"
            }
          ]
        },
        {
          "__type": "Code",
          "__tag": 4050,
          "value": "spin test",
          "execution_status": null
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "This builds SciPy (or updates an existing build) and runs the tests."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "To run tests on a particular submodule, such as "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "optimize"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ", use the "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "--submodule"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " option:"
            }
          ]
        },
        {
          "__type": "Code",
          "__tag": 4050,
          "value": "spin test -s optimize",
          "execution_status": null
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "To run a particular test module, use the Pytest syntax of "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "--test"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " (or "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "-t"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ")     "
            }
          ]
        },
        {
          "__type": "Code",
          "__tag": 4050,
          "value": "spin test -t scipy.<module>.tests.<test_file>",
          "execution_status": null
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Example for "
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "|test-linprog|_"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " file tests, run:"
            }
          ]
        },
        {
          "__type": "Code",
          "__tag": 4050,
          "value": "spin test -t scipy.optimize.tests.test_linprog",
          "execution_status": null
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "To run a test class:"
            }
          ]
        },
        {
          "__type": "Code",
          "__tag": 4050,
          "value": "spin test -t scipy.<module>.tests.<test_file>::<TestClass>",
          "execution_status": null
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Example for "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "TestLinprogRSCommon"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " class from "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "test_linprog.py"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ":"
            }
          ]
        },
        {
          "__type": "Code",
          "__tag": 4050,
          "value": "spin test -t scipy.optimize.tests.test_linprog::TestLinprogRSCommon",
          "execution_status": null
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "To run a particular test:"
            }
          ]
        },
        {
          "__type": "Code",
          "__tag": 4050,
          "value": "spin test -t scipy.<module>.tests.<test_file>::<test_name>",
          "execution_status": null
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Example for "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "test_unknown_solvers_and_options"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " from "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "test_linprog.py"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ":"
            }
          ]
        },
        {
          "__type": "Code",
          "__tag": 4050,
          "value": "spin test -t scipy.optimize.tests.test_linprog::test_unknown_solvers_and_options",
          "execution_status": null
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "For tests within a class, you need to specify the class name and the test name:"
            }
          ]
        },
        {
          "__type": "Code",
          "__tag": 4050,
          "value": "spin test -t scipy.<module>.tests.<test_file>::<TestClass>::<test_name>",
          "execution_status": null
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Example:"
            }
          ]
        },
        {
          "__type": "Code",
          "__tag": 4050,
          "value": "spin test -t scipy.optimize.tests.test_linprog::TestLinprogRSCommon::test_nontrivial_problem_with_guess",
          "execution_status": null
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Other useful options include:"
            }
          ]
        },
        {
          "__type": "BulletList",
          "__tag": 4053,
          "ordered": false,
          "start": 1,
          "children": [
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "-v"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " or "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "--verbose"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ", which activates the verbose option for more    detailed output."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "-b"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " or "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "--array-api-backend"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " "
                    },
                    {
                      "__type": "Emphasis",
                      "__tag": 4047,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "backend"
                        }
                      ]
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " to include alternative    array backends in array-api-compatible tests. See "
                    },
                    {
                      "__type": "CrossRef",
                      "__tag": 4002,
                      "value": "dev-arrayapi",
                      "reference": {
                        "__type": "LocalRef",
                        "__tag": 4022,
                        "kind": "docs",
                        "path": "dev:api-dev:array_api"
                      },
                      "kind": "exists"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "    for details."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "--coverage"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " to generate a test coverage report in    "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "scipy/build/coverage/index.html"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ". "
                    },
                    {
                      "__type": "Emphasis",
                      "__tag": 4047,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "Note:"
                        }
                      ]
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " "
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "|pytest-cov|_"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " "
                    },
                    {
                      "__type": "Emphasis",
                      "__tag": 4047,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "must be\n   installed."
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "-n"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " or "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "--no-build"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " to prevent SciPy from updating the build    before testing"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "-j"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " or "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "--parallel"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " "
                    },
                    {
                      "__type": "Emphasis",
                      "__tag": 4047,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "n"
                        }
                      ]
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " to engage "
                    },
                    {
                      "__type": "Emphasis",
                      "__tag": 4047,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "n"
                        }
                      ]
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " cores when building SciPy;    e.g. "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "spin test -j 4"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " engages four cores. As of "
                    },
                    {
                      "__type": "Link",
                      "__tag": 4049,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "#10172"
                        }
                      ],
                      "url": "https://github.com/scipy/scipy/pull/10172",
                      "title": ""
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "    this also runs the tests on four cores if "
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "|pytest-xdist|_"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " is installed."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "-m full"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " or "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "--mode full"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " to run the \"full\" test suite, including    tests marked "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "slow"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " (e.g. with "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "@pytest.mark.slow"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "). Note that this    does not "
                    },
                    {
                      "__type": "Emphasis",
                      "__tag": 4047,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "run"
                        }
                      ]
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " tests marked "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "xslow"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "; see Tips below."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "--"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " to send remaining command line arguments to "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "pytest"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " instead of    "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "spin test"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ". For instance, while "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "-n"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " sent to "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "pytest.py"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " activates    the "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "--no-build"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " option, "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "-n"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " sent to "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "pytest"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " runs the tests on    multiple cores; e.g. "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "spin test -- -n 4"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " runs tests using    four cores. "
                    },
                    {
                      "__type": "Emphasis",
                      "__tag": 4047,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "Note:"
                        }
                      ]
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " "
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "|pytest-xdist|_"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " "
                    },
                    {
                      "__type": "Emphasis",
                      "__tag": 4047,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "must be installed for testing on\n   multiple cores."
                        }
                      ]
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " Common command line arguments for "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "pytest"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " include:"
                    }
                  ]
                },
                {
                  "__type": "BulletList",
                  "__tag": 4053,
                  "ordered": false,
                  "start": 1,
                  "children": [
                    {
                      "__type": "ListItem",
                      "__tag": 4054,
                      "children": [
                        {
                          "__type": "Paragraph",
                          "__tag": 4045,
                          "children": [
                            {
                              "__type": "InlineCode",
                              "__tag": 4051,
                              "value": "--durations=m"
                            },
                            {
                              "__type": "Text",
                              "__tag": 4046,
                              "value": " to display durations of the slowest "
                            },
                            {
                              "__type": "InlineCode",
                              "__tag": 4051,
                              "value": "m"
                            },
                            {
                              "__type": "Text",
                              "__tag": 4046,
                              "value": " tests. Use      "
                            },
                            {
                              "__type": "InlineCode",
                              "__tag": 4051,
                              "value": "--durations=0"
                            },
                            {
                              "__type": "Text",
                              "__tag": 4046,
                              "value": " together with "
                            },
                            {
                              "__type": "InlineCode",
                              "__tag": 4051,
                              "value": "--durations-min=x"
                            },
                            {
                              "__type": "Text",
                              "__tag": 4046,
                              "value": " to display      durations of all tests with durations that exceed "
                            },
                            {
                              "__type": "InlineCode",
                              "__tag": 4051,
                              "value": "x"
                            },
                            {
                              "__type": "Text",
                              "__tag": 4046,
                              "value": " seconds."
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "__type": "ListItem",
                      "__tag": 4054,
                      "children": [
                        {
                          "__type": "Paragraph",
                          "__tag": 4045,
                          "children": [
                            {
                              "__type": "InlineCode",
                              "__tag": 4051,
                              "value": "--fail-slow=x"
                            },
                            {
                              "__type": "Text",
                              "__tag": 4046,
                              "value": " to cause test to fail if they exceed "
                            },
                            {
                              "__type": "InlineCode",
                              "__tag": 4051,
                              "value": "x"
                            },
                            {
                              "__type": "Text",
                              "__tag": 4046,
                              "value": " seconds.      ("
                            },
                            {
                              "__type": "Emphasis",
                              "__tag": 4047,
                              "children": [
                                {
                                  "__type": "Text",
                                  "__tag": 4046,
                                  "value": "Note"
                                }
                              ]
                            },
                            {
                              "__type": "Text",
                              "__tag": 4046,
                              "value": ": "
                            },
                            {
                              "__type": "Text",
                              "__tag": 4046,
                              "value": "|pytest-fail-slow|_"
                            },
                            {
                              "__type": "Text",
                              "__tag": 4046,
                              "value": " must be installed.)"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "__type": "ListItem",
                      "__tag": 4054,
                      "children": [
                        {
                          "__type": "Paragraph",
                          "__tag": 4045,
                          "children": [
                            {
                              "__type": "InlineCode",
                              "__tag": 4051,
                              "value": "--timeout=x"
                            },
                            {
                              "__type": "Text",
                              "__tag": 4046,
                              "value": " to halt all test execution if any test time exceeds      "
                            },
                            {
                              "__type": "InlineCode",
                              "__tag": 4051,
                              "value": "x"
                            },
                            {
                              "__type": "Text",
                              "__tag": 4046,
                              "value": " seconds. ("
                            },
                            {
                              "__type": "Emphasis",
                              "__tag": 4047,
                              "children": [
                                {
                                  "__type": "Text",
                                  "__tag": 4046,
                                  "value": "Note"
                                }
                              ]
                            },
                            {
                              "__type": "Text",
                              "__tag": 4046,
                              "value": ": "
                            },
                            {
                              "__type": "Text",
                              "__tag": 4046,
                              "value": "|pytest-timeout|_"
                            },
                            {
                              "__type": "Text",
                              "__tag": 4046,
                              "value": " must be installed.)"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "For much more information about "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "pytest"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ", see the "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "pytest"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " "
            },
            {
              "__type": "Link",
              "__tag": 4049,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "documentation"
                }
              ],
              "url": "https://docs.pytest.org/en/latest/usage.html",
              "title": ""
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "."
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "Running SciPy Tests Locally"
        }
      ],
      "level": 0,
      "target": "devpy-test"
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "If you built SciPy from source but are having trouble running tests after a change to the codebase, try deleting the "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "scipy/build"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " directory. This forces "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "spin"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " to completely rebuild SciPy before performing tests."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "There is an additional level of very slow tests (several minutes), which are disabled even when calling "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "spin test -m full"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ". They can be enabled by setting the environment variable "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "SCIPY_XSLOW=1"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " before running the test suite."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "By default, tests that use "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Hypothesis"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " run with the "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "deterministic"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " profile defined in "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "scipy/scipy/conftest.py"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ". This profile includes the Hypothesis setting "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "derandomize=True"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " so the same examples are used until Hypothesis, Python, or the test function are updated. To better use Hypothesis' abilities to find counterexamples, select the "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "nondeterministic"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " profile by setting the environment variable "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "SCIPY_HYPOTHESIS_PROFILE=nondeterministic"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " before running the test suite. The number of examples that are run can be configured by editing the selected configuration, e.g. adding "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "max_examples=100_000"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "."
            }
          ]
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "pytest-cov"
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "#10172"
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "pytest-xdist"
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "pytest-fail-slow"
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "pytest-timeout"
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "pytest"
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "test-linprog"
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "Hypothesis"
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "Tips:"
        }
      ],
      "level": 1,
      "target": null
    }
  ],
  "local_refs": []
}