@@ -0,0 +1,3357 @@
+/*%0A * MIT License%0A *%0A * Copyright (c) 2010 - 2021 The OSHI Project Contributors: https://github.com/oshi/oshi/graphs/contributors%0A *%0A * Permission is hereby granted, free of charge, to any person obtaining a copy%0A * of this software and associated documentation files (the %22Software%22), to deal%0A * in the Software without restriction, including without limitation the rights%0A * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell%0A * copies of the Software, and to permit persons to whom the Software is%0A * furnished to do so, subject to the following conditions:%0A *%0A * The above copyright notice and this permission notice shall be included in all%0A * copies or substantial portions of the Software.%0A *%0A * THE SOFTWARE IS PROVIDED %22AS IS%22, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR%0A * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,%0A * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE%0A * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER%0A * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,%0A * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE%0A * SOFTWARE.%0A */%0Apackage oshi.driver.linux.proc;%0A%0Aimport com.sun.jna.Platform;%0Aimport org.junit.Test;%0Aimport oshi.SystemInfo;%0Aimport oshi.hardware.CentralProcessor;%0Aimport oshi.hardware.HardwareAbstractionLayer;%0A%0Aimport static org.hamcrest.MatcherAssert.assertThat;%0Aimport static org.hamcrest.Matchers.greaterThanOrEqualTo;%0A%0A/**%0A * Tests for %7B@link CpuStat%7D.%0A */%0Apublic class CpuStatTest %7B%0A%0A    @Test%0A    public void testSystemCpuLoadTicks() %7B%0A        if (Platform.isLinux()) %7B%0A            long%5B%5D systemCpuLoadTicks = CpuStat.getSystemCpuLoadTicks();%0A            for (long systemCpuTick : systemCpuLoadTicks) %7B%0A                assertThat(%22CPU tick should be greater than or equal to 0%22, systemCpuTick, greaterThanOrEqualTo(0L));%0A            %7D%0A        %7D%0A    %7D%0A%0A    @Test%0A    public void testGetProcessorCpuLoadTicks() %7B%0A        if (Platform.isLinux()) %7B%0A            SystemInfo si = new SystemInfo();%0A            HardwareAbstractionLayer hal = si.getHardware();%0A            CentralProcessor processor = hal.getProcessor();%0A            int logicalProcessorCount = processor.getLogicalProcessorCount();%0A            long%5B%5D%5B%5D processorCpuLoadTicks = CpuStat.getProcessorCpuLoadTicks(logicalProcessorCount);%0A            for (long%5B%5D cpuTicks : processorCpuLoadTicks) %7B%0A                for (long cpuTick : cpuTicks) %7B%0A                    assertThat(%22CPU tick should be greater than or equal to 0%22, cpuTick, greaterThanOrEqualTo(0L));%0A                %7D%0A            %7D%0A        %7D%0A    %7D%0A%0A    @Test%0A    public void testGetContextSwitches() %7B%0A        if (Platform.isLinux()) %7B%0A            assertThat(%22Context switches should be greater than or equal to -1%22, CpuStat.getContextSwitches(), greaterThanOrEqualTo(-1L));%0A        %7D%0A    %7D%0A%0A    @Test%0A    public void testGetInterrupts() %7B%0A        if (Platform.isLinux()) %7B%0A            assertThat(%22Interrupts should be greater than or equal to -1%22, CpuStat.getInterrupts(), greaterThanOrEqualTo(-1L));%0A        %7D%0A    %7D%0A%0A    @Test%0A    public void testGetBootTime() %7B%0A        if (Platform.isLinux()) %7B%0A            assertThat(%22Boot time should be greater than or equal to 0%22, CpuStat.getBootTime(), greaterThanOrEqualTo(0L));%0A        %7D%0A    %7D%0A%7D%0A

Add CpuStat tests for Linux (#1727) (#1745)