code: def test_normality():
      if debug_mode:
          if "test_norm" not in to_test:  # pragma: no cover
              return
          else:
              print("\n\nTEST NON-NORMALITY", end="")
      for ds in datasets:
          for dt in ds.dt_s_list:
              if debug_mode:
                  print("\n" + dt_s_tup_to_string(dt) + ": ", end="")
  
              exog = results_sm_exog[ds][dt].exog is not None
              exog_coint = (
                  results_sm_exog_coint[ds][dt].exog_coint is not None
              )
  
              obtained = results_sm[ds][dt].test_normality(signif=0.05)
              obtained_exog = results_sm_exog[ds][dt].test_normality(
                  signif=0.05
              )
              obtained_exog_coint = results_sm_exog_coint[ds][
                  dt
              ].test_normality(signif=0.05)
              err_msg = build_err_msg(
                  ds, dt, "TEST NON-NORMALITY - STATISTIC"
              )
              obt_statistic = obtained.test_statistic
              obt_statistic_exog = obtained_exog.test_statistic
              obt_statistic_exog_coint = (
                  obtained_exog_coint.test_statistic
              )
              des_statistic = results_ref[ds][dt]["test_norm"][
                  "joint_test_statistic"
              ]
              assert_allclose(
                  obt_statistic,
                  des_statistic,
                  rtol,
                  atol,
                  False,
                  err_msg,
              )
              if exog:
                  assert_equal(
                      obt_statistic_exog,
                      obt_statistic,
                      "WITH EXOG" + err_msg,
                  )
              if exog_coint:
                  assert_equal(
                      obt_statistic_exog_coint,
                      obt_statistic,
                      "WITH EXOG_COINT" + err_msg,
                  )
              err_msg = build_err_msg(
                  ds, dt, "TEST NON-NORMALITY - P-VALUE"
              )
              obt_pvalue = obtained.pvalue
              des_pvalue = results_ref[ds][dt]["test_norm"][
                  "joint_pvalue"
              ]
              assert_allclose(
                  obt_pvalue, des_pvalue, rtol, atol, False, err_msg
              )
              # call methods to assure they do not raise exceptions
              obtained.summary()
              str(obtained)  # __str__()
              assert_(obtained == obtained_exog)
  
imports: import numpy
  from numpy.testing import assert_, assert_allclose, assert_array_equal, assert_raises, assert_raises_regex
  import pytest
  import statsmodels.datasets.interest_inflation.data
  from statsmodels.tools.testing import assert_equal
  from statsmodels.tsa.vector_ar.tests.JMulTi_results.parse_jmulti_vecm_output import dt_s_tup_to_string, load_results_jmulti, sublists
  from statsmodels.tsa.vector_ar.util import seasonal_dummies
  from statsmodels.tsa.vector_ar.var_model import VARProcess
  from statsmodels.tsa.vector_ar.vecm import VECM, select_coint_rank, select_order
label_desc: Use image node_id 21 for calling a global function with example usage: test_normality() without return types