blob: 342e85de3bb4ff78bf8c8fdb74f245020f409b61 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.felix.framework.util.manifestparser;
import junit.framework.TestCase;
public class NativeLibraryClauseTest extends TestCase {
public void testNormalizeOSName() {
assertEquals("win32", NativeLibraryClause.normalizeOSName("win 32"));
assertEquals("win32", NativeLibraryClause.normalizeOSName("Win*"));
assertEquals("win32", NativeLibraryClause.normalizeOSName("Windows NonExistingFutureVersion 4711"));
assertEquals("windows95", NativeLibraryClause.normalizeOSName("Windows 95"));
assertEquals("windows98", NativeLibraryClause.normalizeOSName("Windows 98"));
assertEquals("windowsnt", NativeLibraryClause.normalizeOSName("WinNT"));
assertEquals("windows2000", NativeLibraryClause.normalizeOSName("Win2000"));
assertEquals("windows2003", NativeLibraryClause.normalizeOSName("Win2003"));
assertEquals("windowsserver2008", NativeLibraryClause.normalizeOSName("Windows Server 2008"));
assertEquals("windowsserver2012", NativeLibraryClause.normalizeOSName("Windows Server 2012"));
assertEquals("windowsserver2016", NativeLibraryClause.normalizeOSName("Windows Server 2016"));
assertEquals("windowsxp", NativeLibraryClause.normalizeOSName("WinXP"));
assertEquals("windowsce", NativeLibraryClause.normalizeOSName("WinCE"));
assertEquals("windowsvista", NativeLibraryClause.normalizeOSName("WinVista"));
assertEquals("windows7", NativeLibraryClause.normalizeOSName("Windows 7"));
assertEquals("windows8", NativeLibraryClause.normalizeOSName("Win8"));
assertEquals("windows10", NativeLibraryClause.normalizeOSName("Windows 10"));
assertEquals("linux", NativeLibraryClause.normalizeOSName("Linux1.2.3"));
assertEquals("aix", NativeLibraryClause.normalizeOSName("AIX-4.5.6"));
assertEquals("digitalunix", NativeLibraryClause.normalizeOSName("digitalunix_blah"));
assertEquals("hpux", NativeLibraryClause.normalizeOSName("HPUX-999"));
assertEquals("irix", NativeLibraryClause.normalizeOSName("Irixxxx"));
assertEquals("macosx", NativeLibraryClause.normalizeOSName("mac OS X"));
assertEquals("netware", NativeLibraryClause.normalizeOSName("Netware"));
assertEquals("openbsd", NativeLibraryClause.normalizeOSName("OpenBSD-0000"));
assertEquals("netbsd", NativeLibraryClause.normalizeOSName("netbsd "));
assertEquals("os2", NativeLibraryClause.normalizeOSName("os/2"));
assertEquals("qnx", NativeLibraryClause.normalizeOSName("procnto"));
assertEquals("solaris", NativeLibraryClause.normalizeOSName("Solaris 9"));
assertEquals("sunos", NativeLibraryClause.normalizeOSName("SunOS8"));
assertEquals("vxworks", NativeLibraryClause.normalizeOSName("VxWorks"));
// Try all the already normalized names
assertEquals("aix", NativeLibraryClause.normalizeOSName("aix"));
assertEquals("digitalunix", NativeLibraryClause.normalizeOSName("digitalunix"));
assertEquals("hpux", NativeLibraryClause.normalizeOSName("hpux"));
assertEquals("irix", NativeLibraryClause.normalizeOSName("irix"));
assertEquals("linux", NativeLibraryClause.normalizeOSName("linux"));
assertEquals("macos", NativeLibraryClause.normalizeOSName("macos"));
assertEquals("netbsd", NativeLibraryClause.normalizeOSName("netbsd"));
assertEquals("netware", NativeLibraryClause.normalizeOSName("netware"));
assertEquals("openbsd", NativeLibraryClause.normalizeOSName("openbsd"));
assertEquals("os2", NativeLibraryClause.normalizeOSName("os2"));
assertEquals("qnx", NativeLibraryClause.normalizeOSName("qnx"));
assertEquals("solaris", NativeLibraryClause.normalizeOSName("solaris"));
assertEquals("sunos", NativeLibraryClause.normalizeOSName("sunos"));
assertEquals("vxworks", NativeLibraryClause.normalizeOSName("vxworks"));
assertEquals("windows2000", NativeLibraryClause.normalizeOSName("windows2000"));
assertEquals("windows2003", NativeLibraryClause.normalizeOSName("windows2003"));
assertEquals("windows7", NativeLibraryClause.normalizeOSName("windows7"));
assertEquals("windows8", NativeLibraryClause.normalizeOSName("windows8"));
assertEquals("windows9", NativeLibraryClause.normalizeOSName("windows9"));
assertEquals("windows10", NativeLibraryClause.normalizeOSName("windows10"));
assertEquals("windows95", NativeLibraryClause.normalizeOSName("windows95"));
assertEquals("windows98", NativeLibraryClause.normalizeOSName("windows98"));
assertEquals("windowsce", NativeLibraryClause.normalizeOSName("windowsce"));
assertEquals("windowsnt", NativeLibraryClause.normalizeOSName("windowsnt"));
assertEquals("windowsserver2008", NativeLibraryClause.normalizeOSName("windowsserver2008"));
assertEquals("windowsserver2012", NativeLibraryClause.normalizeOSName("windowsserver2012"));
assertEquals("windowsvista", NativeLibraryClause.normalizeOSName("windowsvista"));
assertEquals("windowsxp", NativeLibraryClause.normalizeOSName("windowsxp"));
assertEquals("win32", NativeLibraryClause.normalizeOSName("win32"));
}
public void testgetOsNameWithAliases() {
assertTrue(NativeLibraryClause.getOsNameWithAliases("win 32").contains("win32"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("Win*").contains("win32"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("Windows 95").contains("windows95"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("Windows 98").contains("windows98"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("WinNT").contains("windowsnt"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("Win2000").contains("windows2000"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("Win2003").contains("windows2003"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("Windows Server 2008").contains("windowsserver2008"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("Windows Server 2012").contains("windowsserver2012"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("WinXP").contains("windowsxp"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("WinCE").contains("windowsce"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("WinVista").contains("windowsvista"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("Windows 7").contains("windows7"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("Windows7").contains("windows7"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("Win8").contains("windows8"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("Windows 10").contains("windows10"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("Linux1.2.3").contains("linux"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("AIX-4.5.6").contains("aix"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("digitalunix_blah").contains("digitalunix"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("HPUX-999").contains("hpux"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("Irixxxx").contains("irix"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("mac OS X").contains("mac os x"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("Netware").contains("netware"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("OpenBSD-0000").contains("openbsd"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("netbsd ").contains("netbsd"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("os/2").contains("os2"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("procnto").contains("qnx"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("Solaris 9").contains("solaris"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("SunOS8").contains("sunos"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("VxWorks").contains("vxworks"));
// Try all the already normalized names
assertTrue(NativeLibraryClause.getOsNameWithAliases("aix").contains("aix"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("digitalunix").contains("digitalunix"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("hpux").contains("hpux"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("irix").contains("irix"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("linux").contains("linux"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("mac os").contains("mac os"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("netbsd").contains("netbsd"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("netware").contains("netware"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("openbsd").contains("openbsd"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("os2").contains("os2"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("qnx").contains("qnx"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("solaris").contains("solaris"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("sunos").contains("sunos"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("vxworks").contains("vxworks"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("windows2000").contains("windows2000"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("windows2003").contains("windows2003"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("windows7").contains("windows7"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("windows8").contains("windows8"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("windows9").contains("windows9"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("windows10").contains("windows10"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("windows95").contains("windows95"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("windows98").contains("windows98"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("windowsce").contains("windowsce"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("windowsnt").contains("windowsnt"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("windowsserver2008").contains("windowsserver2008"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("windowsserver2012").contains("windowsserver2012"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("windowsvista").contains("windowsvista"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("windowsxp").contains("windowsxp"));
assertTrue(NativeLibraryClause.getOsNameWithAliases("win32").contains("win32"));
}
public void testNormalizeOSVersion() {
// valid
assertEquals("1.0.0", NativeLibraryClause.normalizeOSVersion("1"));
assertEquals("1.2.0", NativeLibraryClause.normalizeOSVersion("1.2"));
assertEquals("1.2.3", NativeLibraryClause.normalizeOSVersion("1.2.3"));
assertEquals("1.2.3.qualifier", NativeLibraryClause.normalizeOSVersion("1.2.3.qualifier"));
// to normalize
assertEquals("1.0.0.qualifier", NativeLibraryClause.normalizeOSVersion("1.qualifier"));
assertEquals("1.2.0.qualifier", NativeLibraryClause.normalizeOSVersion("1.2.qualifier"));
assertEquals("3.13.0.39-generic", NativeLibraryClause.normalizeOSVersion("3.13.0-39-generic"));
assertEquals("3.14.22.100_fc19_i686_PAE", NativeLibraryClause.normalizeOSVersion("3.14.22-100.fc19.i686.PAE"));
assertEquals("4.9.35", NativeLibraryClause.normalizeOSVersion("4.9.35+"));
assertEquals("4.9.0", NativeLibraryClause.normalizeOSVersion("4.9+"));
assertEquals("4.0.0", NativeLibraryClause.normalizeOSVersion("4+"));
}
}