• 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.06
/gfModParser/__init__.py
1
# SPDX-License-Identifier: GPL-2.0+
2

3
import pathlib
1✔
4

5
from . import io
1✔
6
from .modules import mod
1✔
7

8

9
class module:
1✔
10
    def __init__(self, filename):
1✔
11
        self.filename = pathlib.Path(filename)
1✔
12

13
        if self.filename.suffixes == [".mod", ".txt"]:
1✔
14
            self.header = io.read_uncompressed_header(self.filename)
×
15
        else:
16
            self.header = io.read_compressed_header(self.filename)
1✔
17

18
        self._version = None
1✔
19
        self._checks()
1✔
20

21
    def _checks(self):
1✔
22
        if self.version < 15 or self.version > 16:
1✔
23
            raise ValueError(f"Unsupported module version {self.version}")
1✔
24

25
        if not "GFORTRAN" in self.header:
1✔
26
            raise ValueError("Only supports Gfortran modules")
1✔
27

28
        self._mod = mod.module(self.filename, version=self.version)
1✔
29

30
    @property
1✔
31
    def version(self):
1✔
32
        if self._version is None:
1✔
33
            self._version = int(self.header.split("'")[1])
1✔
34
        return self._version
1✔
35

36
    def keys(self):
1✔
37
        return self._mod.keys()
1✔
38

39
    def __contains__(self, key):
1✔
40
        return key in self._mod
1✔
41

42
    def __getitem__(self, key):
1✔
43
        return self._mod[key]
1✔
44

45
    def __dir__(self):
1✔
46
        return self._mod.__dir__()
1✔
47

48
    def __str__(self):
1✔
49
        return f"Module: {self.filename} Gfortran: {self.version}"
1✔
50

51
    def __repr__(self):
1✔
52
        return f"module('{self.filename}')"
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