/** * Oshi (https://github.com/oshi/oshi) * * Copyright (c) 2010 - 2017 The Oshi Project Team * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Maintainers: * dblock[at]dblock[dot]org * widdis[at]gmail[dot]com * enrico.bianchi[at]gmail[dot]com * * Contributors: * https://github.com/oshi/oshi/graphs/contributors */ package oshi.software.os; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import org.junit.Test; import oshi.SystemInfo; /** * Test OS */ public class OperatingSystemTest { /** * Test operating system */ @Test public void testOperatingSystem() { SystemInfo si = new SystemInfo(); OperatingSystem os = si.getOperatingSystem(); assertNotNull(os.getFamily()); assertNotNull(os.getManufacturer()); OperatingSystemVersion version = os.getVersion(); assertNotNull(version); assertNotNull(version.getVersion()); assertNotNull(version.getCodeName()); assertNotNull(version.getBuildNumber()); assertTrue(os.getProcessCount() >= 1); assertTrue(os.getThreadCount() >= 1); assertTrue(os.getProcessId() > 0); assertTrue(os.getProcesses(0, null).length > 0); OSProcess proc = os.getProcess(os.getProcessId()); assertTrue(proc.getName().length() > 0); assertTrue(proc.getPath().length() > 0); assertTrue(proc.getCommandLine().length() > 0); assertNotNull(proc.getCurrentWorkingDirectory()); assertNotNull(proc.getUser()); assertNotNull(proc.getUserID()); assertNotNull(proc.getGroup()); assertNotNull(proc.getGroupID()); assertNotNull(proc.getState()); assertEquals(proc.getProcessID(), os.getProcessId()); assertTrue(proc.getParentProcessID() > 0); assertTrue(proc.getThreadCount() > 0); assertTrue(proc.getPriority() >= -20 && proc.getPriority() <= 128); assertTrue(proc.getVirtualSize() >= proc.getResidentSetSize()); assertTrue(proc.getResidentSetSize() >= 0); assertTrue(proc.getKernelTime() >= 0); assertTrue(proc.getUserTime() >= 0); assertTrue(proc.getUpTime() >= 0); assertTrue(proc.getStartTime() >= 0); assertTrue(proc.getBytesRead() >= 0); assertTrue(proc.getBytesWritten() >= 0); } /** * Test OSProcess setters and getters */ @Test public void testOSProcessSetters() { SystemInfo si = new SystemInfo(); OperatingSystem os = si.getOperatingSystem(); OSProcess oldProcess = os.getProcess(os.getProcessId()); OSProcess newProcess = new OSProcess(); newProcess.setName(oldProcess.getName()); newProcess.setPath(oldProcess.getPath()); newProcess.setCommandLine(oldProcess.getCommandLine()); newProcess.setCurrentWorkingDirectory(oldProcess.getCurrentWorkingDirectory()); newProcess.setUser(oldProcess.getUser()); newProcess.setUserID(oldProcess.getUserID()); newProcess.setGroup(oldProcess.getGroup()); newProcess.setGroupID(oldProcess.getGroupID()); newProcess.setState(oldProcess.getState()); newProcess.setProcessID(oldProcess.getProcessID()); newProcess.setParentProcessID(oldProcess.getParentProcessID()); newProcess.setThreadCount(oldProcess.getThreadCount()); newProcess.setPriority(oldProcess.getPriority()); newProcess.setVirtualSize(oldProcess.getVirtualSize()); newProcess.setResidentSetSize(oldProcess.getResidentSetSize()); newProcess.setKernelTime(oldProcess.getKernelTime()); newProcess.setUserTime(oldProcess.getUserTime()); newProcess.setUpTime(oldProcess.getUpTime()); newProcess.setStartTime(oldProcess.getStartTime()); newProcess.setBytesRead(oldProcess.getBytesRead()); newProcess.setBytesWritten(oldProcess.getBytesWritten()); assertEquals(oldProcess.getName(), newProcess.getName()); assertEquals(oldProcess.getPath(), newProcess.getPath()); assertEquals(oldProcess.getCommandLine(), newProcess.getCommandLine()); assertEquals(oldProcess.getCurrentWorkingDirectory(), newProcess.getCurrentWorkingDirectory()); assertEquals(oldProcess.getUser(), newProcess.getUser()); assertEquals(oldProcess.getUserID(), newProcess.getUserID()); assertEquals(oldProcess.getGroup(), newProcess.getGroup()); assertEquals(oldProcess.getGroupID(), newProcess.getGroupID()); assertEquals(oldProcess.getState(), newProcess.getState()); assertEquals(oldProcess.getProcessID(), newProcess.getProcessID()); assertEquals(oldProcess.getParentProcessID(), newProcess.getParentProcessID()); assertEquals(oldProcess.getThreadCount(), newProcess.getThreadCount()); assertEquals(oldProcess.getPriority(), newProcess.getPriority()); assertEquals(oldProcess.getVirtualSize(), newProcess.getVirtualSize()); assertEquals(oldProcess.getResidentSetSize(), newProcess.getResidentSetSize()); assertEquals(oldProcess.getKernelTime(), newProcess.getKernelTime()); assertEquals(oldProcess.getUserTime(), newProcess.getUserTime()); assertEquals(oldProcess.getUpTime(), newProcess.getUpTime()); assertEquals(oldProcess.getStartTime(), newProcess.getStartTime()); assertEquals(oldProcess.getBytesRead(), newProcess.getBytesRead()); assertEquals(oldProcess.getBytesWritten(), newProcess.getBytesWritten()); } }