LCOV - code coverage report
Current view: | top level - Modules - _contextvarsmodule.c (source / functions) |  |  | Hit | Total | Coverage
Test: | CPython 3.12 LCOV report [commit 5e6661bce9] |  | Lines: | 7 | 12 | 58.3 %
Date: | 2023-03-20 08:15:36 |  | Functions: | 2 | 3 | 66.7 %
|  |  | Branches: | 3 | 6 | 50.0 %

               Branch data     Line data    Source code
           1                 :            : #include "Python.h"
           2                 :            :
           3                 :            : #include "clinic/_contextvarsmodule.c.h"
           4                 :            :
           5                 :            : /*[clinic input]
           6                 :            : module _contextvars
           7                 :            : [clinic start generated code]*/
           8                 :            : /*[clinic end generated code: output=da39a3ee5e6b4b0d input=a0955718c8b8cea6]*/
           9                 :            :
          10                 :            :
          11                 :            : /*[clinic input]
          12                 :            : _contextvars.copy_context
          13                 :            : [clinic start generated code]*/
          14                 :            :
          15                 :            : static PyObject *
          16                 :          0 : _contextvars_copy_context_impl(PyObject *module)
          17                 :            : /*[clinic end generated code: output=1fcd5da7225c4fa9 input=89bb9ae485888440]*/
          18                 :            : {
          19                 :          0 :     return PyContext_CopyCurrent();
          20                 :            : }
          21                 :            :
          22                 :            :
          23                 :            : PyDoc_STRVAR(module_doc, "Context Variables");
          24                 :            :
          25                 :            : static PyMethodDef _contextvars_methods[] = {
          26                 :            :     _CONTEXTVARS_COPY_CONTEXT_METHODDEF
          27                 :            :     {NULL, NULL}
          28                 :            : };
          29                 :            :
          30                 :            : static int
          31                 :          2 : _contextvars_exec(PyObject *m)
          32                 :            : {
          33         [ -  + ]:          2 :     if (PyModule_AddType(m, &PyContext_Type) < 0) {
          34                 :          0 :         return -1;
          35                 :            :     }
          36         [ -  + ]:          2 :     if (PyModule_AddType(m, &PyContextVar_Type) < 0) {
          37                 :          0 :         return -1;
          38                 :            :     }
          39         [ -  + ]:          2 :     if (PyModule_AddType(m, &PyContextToken_Type) < 0) {
          40                 :          0 :         return -1;
          41                 :            :     }
          42                 :          2 :     return 0;
          43                 :            : }
          44                 :            :
          45                 :            : static struct PyModuleDef_Slot _contextvars_slots[] = {
          46                 :            :     {Py_mod_exec, _contextvars_exec},
          47                 :            :     {0, NULL}
          48                 :            : };
          49                 :            :
          50                 :            : static struct PyModuleDef _contextvarsmodule = {
          51                 :            :     PyModuleDef_HEAD_INIT,      /* m_base */
          52                 :            :     "_contextvars",             /* m_name */
          53                 :            :     module_doc,                 /* m_doc */
          54                 :            :     0,                          /* m_size */
          55                 :            :     _contextvars_methods,       /* m_methods */
          56                 :            :     _contextvars_slots,         /* m_slots */
          57                 :            :     NULL,                       /* m_traverse */
          58                 :            :     NULL,                       /* m_clear */
          59                 :            :     NULL,                       /* m_free */
          60                 :            : };
          61                 :            :
          62                 :            : PyMODINIT_FUNC
          63                 :          2 : PyInit__contextvars(void)
          64                 :            : {
          65                 :          2 :     return PyModuleDef_Init(&_contextvarsmodule);
          66                 :            : }

Generated by: LCOV version 1.14