< Summary - Results for net8.0, Release

Information
Class: LockCheck.Linux.ProcessInfoLinux
Assembly: LockCheck
File(s): /home/runner/work/LockCheck/LockCheck/src/LockCheck/Linux/ProcessInfo.Linux.cs
Tag: 96_11660771111
Line coverage
66%
Covered lines: 14
Uncovered lines: 7
Coverable lines: 21
Total lines: 46
Line coverage: 66.6%
Branch coverage
50%
Covered branches: 2
Total branches: 4
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Create(...)50%22100%
Create(...)50%3.88222.22%
.ctor(...)100%11100%

File(s)

/home/runner/work/LockCheck/LockCheck/src/LockCheck/Linux/ProcessInfo.Linux.cs

#LineLine coverage
 1using System;
 2using System.IO;
 3
 4namespace LockCheck.Linux;
 5
 6internal class ProcessInfoLinux : ProcessInfo
 7{
 8    public static ProcessInfoLinux Create(ProcInfo pi)
 9    {
 210        var result = new ProcessInfoLinux(pi.ProcessId, pi.StartTime)
 211        {
 212            ExecutableFullPath = pi.ExecutableFullPath,
 213            ExecutableName = pi.ExecutableFullPath != null ? Path.GetFileName(pi.ExecutableFullPath) : null,
 214            SessionId = pi.SessionId,
 215            Owner = pi.Owner,
 216            IsCritical = pi.IsCritical
 217        };
 18
 219        result.ApplicationName = result.ExecutableName;
 20
 221        return result;
 22    }
 23
 24    public static ProcessInfoLinux Create(LockInfo li)
 25    {
 226        if (li.ProcessId == -1)
 27        {
 28            // Can happen for OFD (open file descriptor) locks which are not
 29            // bound to a specific process.
 030            return new ProcessInfoLinux(li.ProcessId, DateTime.MinValue)
 031            {
 032                LockAccess = li.LockAccess,
 033                LockMode = li.LockMode,
 034                LockType = li.LockType,
 035                ApplicationName = $"({li.LockType};{li.LockAccess};{li.LockMode})"
 036            };
 37        }
 38
 239        return Create(new ProcInfo(li.ProcessId));
 40    }
 41
 42    private ProcessInfoLinux(int processId, DateTime startTime)
 243        : base(processId, startTime)
 44    {
 245    }
 46}