• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

rjfarmer / gfModParser / 14949742347

10 May 2025 10:34PM UTC coverage: 80.919% (-1.1%) from 82.033%
14949742347

push

github

rjfarmer
Remove some tests from coverage

581 of 718 relevant lines covered (80.92%)

0.81 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

97.5
/gfModParser/modules/mod.py
1
# SPDX-License-Identifier: GPL-2.0+
2

3
# https://github.com/gcc-mirror/gcc/blob/master/gcc/fortran/module.cc
4

5
import typing as t
1✔
6

7
from .. import utils
1✔
8
from .. import io
1✔
9

10
from . import summary
1✔
11
from . import symbols
1✔
12

13

14
class VersionError(Exception):
1✔
15
    pass
1✔
16

17

18
class module:
1✔
19
    def __init__(self, filename, *, version):
1✔
20
        self.filename = filename
1✔
21
        self.version = version
1✔
22

23
        self._interfaces = None
1✔
24
        self._operators = None
1✔
25
        self._common = None
1✔
26
        self._equivalence = None
1✔
27
        self._omp = None
1✔
28
        self._symbols = None
1✔
29
        self._summary = None
1✔
30

31
        self.load()
1✔
32

33
    def load(self):
1✔
34
        # Read in data
35
        if self.filename.suffixes == [".mod", ".txt"]:
1✔
36
            raw_data = io.read_uncompressed(self.filename)
×
37
        else:
38
            raw_data = io.read_compressed(self.filename)
1✔
39

40
        # Split into sections
41
        (
1✔
42
            self._raw_interface,
43
            self._raw_operators,
44
            self._raw_generics,
45
            self._raw_common,
46
            self._raw_equivalence,
47
            self._raw_omp,
48
            self._raw_symbols,
49
            self._raw_summary,
50
        ) = raw_data.split("\n\n")
51

52
    def _load_summary(self):
1✔
53
        if self._summary is None:
1✔
54
            self._summary = summary.Summary(self._raw_summary, version=self.version)
1✔
55

56
    def _load_symbols(self):
1✔
57
        if self._symbols is None:
1✔
58
            self._symbols = symbols.Symbols(self._raw_symbols, version=self.version)
1✔
59

60
    def keys(self):
1✔
61
        self._load_summary()
1✔
62
        return self._summary.keys()
1✔
63

64
    def __contains__(self, key):
1✔
65
        self._load_summary()
1✔
66
        return key in self._summary
1✔
67

68
    def __getitem__(self, key):
1✔
69
        self._load_summary()
1✔
70
        self._load_symbols()
1✔
71
        return self._symbols[self._summary[key].id]
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc