def test_selectGroups03(self): #regression test whether selectGroups alters original groups mdOptions = options.Options() mdOptions.compilerGroupName = "compiler1" mdOptions.optimizationGroupName = "optimization1" mdOptions.parallelGroupName = "*" mdOptions.overrideFile = "testNOREALFILE" groupList = [] group1 = overrides.OverrideGroup() group1.compiler = "compiler1" group1.optimization = "*" group1.parallel = "*" group1["test"] = "value1" group1["group1Only"] = "group1OnlyValue" groupList.append(group1) group2 = overrides.OverrideGroup() group2.compiler = "compiler1" group2.optimization = "optimization1" group2.parallel = "*" group2["test"] = "value2" group2["group2Only"] = "group2OnlyValue" groupList.append(group2) finalGroup = overrides.selectGroups(groupList, mdOptions) self.assertEquals( fullCount(group1), 2, "After selectGroups(), group1 was incorrectly altered") self.assertEquals( "test" in group1, True, "After selectGroups(), group1 was incorrectly altered") self.assertEquals( group1["test"], "value1", "After selectGroups(), group1 was incorrectly altered") self.assertEquals( "group1Only" in group1, True, "After selectGroups(), group1 was incorrectly altered") self.assertEquals( group1["group1Only"], "group1OnlyValue", "After selectGroups(), group1 was incorrectly altered") self.assertEquals( fullCount(group2), 2, "After selectGroups(), group2 was incorrectly altered") self.assertEquals( "test" in group2, True, "After selectGroups(), group2 was incorrectly altered") self.assertEquals( group2["test"], "value2", "After selectGroups(), group2 was incorrectly altered") self.assertEquals( "group2Only" in group2, True, "After selectGroups(), group2 was incorrectly altered") self.assertEquals( group2["group2Only"], "group2OnlyValue", "After selectGroups(), group2 was incorrectly altered")
def test_selectGroups01(self): mdOptions = options.Options() mdOptions.compilerGroupName = "compiler1" mdOptions.optimizationGroupName = "optimization1" mdOptions.parallelGroupName = "*" mdOptions.overrideFile = "testNOREALFILE" groupList = [] group1 = overrides.OverrideGroup() group1.compiler = "compiler1" group1.optimization = "*" group1.parallel = "*" group1["test"] = "value1" group1["group1Only"] = "group1OnlyValue" groupList.append(group1) group2 = overrides.OverrideGroup() group2.compiler = "compiler1" group2.optimization = "optimization1" group2.parallel = "*" group2["test"] = "value2" group2["group2Only"] = "group2OnlyValue" groupList.append(group2) finalGroup = overrides.selectGroups(groupList, mdOptions) self.assertNotEquals(finalGroup, None, "selectGroups() failed to return a group") self.assertEquals(fullCount(finalGroup), 3, "After selectGroups() override count was wrong") self.assertEquals( "test" in finalGroup, True, "After selectGroups() did not returned correct value") self.assertEquals( finalGroup["test"], "value2", "After selectGroups() did not returned correct value") self.assertEquals( "group1Only" in finalGroup, True, "After selectGroups() did not returned correct value") self.assertEquals( finalGroup["group1Only"], "group1OnlyValue", "After selectGroups() did not returned correct value") self.assertEquals( "group2Only" in finalGroup, True, "After selectGroups() did not returned correct value") self.assertEquals( finalGroup["group2Only"], "group2OnlyValue", "After selectGroups() did not returned correct value") self.assertEquals( "test" in finalGroup, True, "After selectGroups() did not returned correct value") self.assertEquals( finalGroup["test"], "value2", "After selectGroups() did not returned correct value")
def test_combine1(self): group1 = overrides.OverrideGroup() group1["test"] = "value1" group1["group1Only"] = "group1OnlyValue" group2 = overrides.OverrideGroup() group2["test"] = "value2" group2["group2Only"] = "group2OnlyValue" group1.combine(group2) self.assertEquals( "test" in group1, True, "After combine() hasOverride() did not returned correct value") self.assertEquals( group1["test"], "value2", "After combine() getOverride() did not returned correct value") self.assertEquals( "group1Only" in group1, True, "After combine() hasOverride() did not returned correct value") self.assertEquals( group1["group1Only"], "group1OnlyValue", "After combine() getOverride() did not returned correct value") self.assertEquals( "group2Only" in group1, True, "After combine() hasOverride() did not returned correct value") self.assertEquals( group1["group2Only"], "group2OnlyValue", "After combine() getOverride() did not returned correct value") self.assertEquals( "test" in group2, True, "After combine() hasOverride() did not returned correct value") self.assertEquals( group2["test"], "value2", "After combine() getOverride() did not returned correct value") self.assertEquals( "group2Only" in group2, True, "After combine() hasOverride() did not returned correct value") self.assertEquals( group2["group2Only"], "group2OnlyValue", "After combine() getOverride() did not returned correct value") self.assertEquals( "group1Only" in group2, False, "After combine() hasOverride() did not returned correct value") self.assertEquals( group2["group1Only"], None, "After combine() getOverride() did not returned correct value")
def test_setGetOverrides3(self): group = overrides.OverrideGroup() group["test"] = "value" self.assertEquals(group["test"], "value", "override did not returned correct value") group["test"] = "newvalue" self.assertEquals(group["test"], "newvalue", "override did not returned correct value")
def test_addPortlandGroupOptimizationGroup01(self): compilerGroup = overrides.OverrideGroup() groups = [] groups.append(compilerGroup) profiler.addPortlandGroupOptimizationGroup(groups, compilerGroup) self.assertEquals( len(groups), 1, "profiler.addPortlandGroupOptimizationGroup should not have added any more groups" )
def test_selectGroups11(self): mdOptions = options.Options() mdOptions.compilerGroupName = "compilerDOESNOTEXIST" mdOptions.optimizationGroupName = "optimizationDOESNOTEXIST" mdOptions.parallelGroupName = "parallelDOESNOTEXIST" mdOptions.overrideFile = "testNOREALFILE" groupList = [] group1 = overrides.OverrideGroup() group1.compiler = "compiler1" group1.optimization = "*" group1.parallel = "*" group1["test"] = "value1" group1["group1Only"] = "group1OnlyValue" groupList.append(group1) group2 = overrides.OverrideGroup() group2.compiler = "compiler1" group2.optimization = "optimization1" group2.parallel = "*" group2["test"] = "value2" group2["group2Only"] = "group2OnlyValue" groupList.append(group2) group3 = overrides.OverrideGroup() group3.compiler = "compiler1" group3.optimization = "optimization1" group3.parallel = "parallel1" group3["test"] = "value3" group3["group2and3"] = "group2and3Value" group3["group3Only"] = "group3OnlyValue" groupList.append(group3) finalGroup = overrides.selectGroups(groupList, mdOptions) self.assertEquals( finalGroup, None, "selectGroups() should have failed to return a group")
def test_hasOverrides4(self): group = overrides.OverrideGroup() group.defines["test"] = "value" self.assertEquals("test" in group, False, "hasOverride did not returned correct value")
def test_hasOverrides2(self): group = overrides.OverrideGroup() self.assertEquals("test" in group, False, "hasOverride did not returned correct value")
def test_hasOverrides1(self): group = overrides.OverrideGroup() group["test"] = "value" self.assertEquals("test" in group, True, "hasOverride did not returned correct value")
def test_setGetOverrides1(self): group = overrides.OverrideGroup() self.assertEquals(group["test"], None, "Non-existant override should have returned None")
def test_len01(self): group = overrides.OverrideGroup() group.defines["test"] = "value" group["ccompiler"] = "gcc" self.assertEquals(len(group), 1, "len was wrong") self.assertEquals(fullCount(group), 2, "count was wrong")
def test_addPortlandGroupOptimizationGroup02(self): compilerGroup = overrides.OverrideGroup() compilerGroup.compiler = "PORTLANDGROUP" compilerGroup.optimization = "*" compilerGroup.parallel = "*" compilerGroup["ccompiler"] = "pgcc" compilerGroup["cxxcompiler"] = "pgCC" compilerGroup["cpreprocessor"] = "cpp" compilerGroup["fcompiler"] = "pgf95" compilerGroup["f77compiler"] = "pgf77" groups = [] groups.append(compilerGroup) profiler.addPortlandGroupOptimizationGroup(groups, compilerGroup) self.assertEquals( len(groups), 3, "profiler.addPortlandGroupOptimizationGroup should have added 2 more groups" ) self.assertEquals( groups[0].compiler, "PORTLANDGROUP", "profiler.addPortlandGroupOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0].optimization, "*", "profiler.addPortlandGroupOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0].parallel, "*", "profiler.addPortlandGroupOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0]["ccompiler"], "pgcc", "profiler.addPortlandGroupOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0]["cxxcompiler"], "pgCC", "profiler.addPortlandGroupOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0]["cpreprocessor"], "cpp", "profiler.addPortlandGroupOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0]["fcompiler"], "pgf95", "profiler.addPortlandGroupOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0]["f77compiler"], "pgf77", "profiler.addPortlandGroupOptimizationGroup should not have altered this value" ) portlandDebugFlags = "-g -O0" self.assertEquals( groups[1].compiler, "PORTLANDGROUP", "profiler.addPortlandGroupOptimizationGroup returned wrong value") self.assertEquals( groups[1].optimization, "debug", "profiler.addPortlandGroupOptimizationGroup returned wrong value") self.assertEquals( groups[1].parallel, "*", "profiler.addPortlandGroupOptimizationGroup returned wrong value") self.assertEquals( groups[1]["cflags"], portlandDebugFlags, "profiler.addPortlandGroupOptimizationGroup returned wrong value") self.assertEquals( groups[1]["cxxflags"], portlandDebugFlags, "profiler.addPortlandGroupOptimizationGroup returned wrong value") self.assertEquals( groups[1]["cppflags"], "-Wall", "profiler.addPortlandGroupOptimizationGroup returned wrong value") self.assertEquals( groups[1]["fflags"], portlandDebugFlags, "profiler.addPortlandGroupOptimizationGroup returned wrong value") self.assertEquals( groups[1]["f77flags"], portlandDebugFlags, "profiler.addPortlandGroupOptimizationGroup returned wrong value") portlandReleaseFlags = "-O2" self.assertEquals( groups[2].compiler, "PORTLANDGROUP", "profiler.addPortlandGroupOptimizationGroup returned wrong value") self.assertEquals( groups[2].optimization, "release", "profiler.addPortlandGroupOptimizationGroup returned wrong value") self.assertEquals( groups[2].parallel, "*", "profiler.addPortlandGroupOptimizationGroup returned wrong value") self.assertEquals( groups[2]["cflags"], portlandReleaseFlags, "profiler.addPortlandGroupOptimizationGroup returned wrong value") self.assertEquals( groups[2]["cxxflags"], portlandReleaseFlags, "profiler.addPortlandGroupOptimizationGroup returned wrong value") self.assertEquals( groups[2]["cppflags"], "-Wall", "profiler.addPortlandGroupOptimizationGroup returned wrong value") self.assertEquals( groups[2]["fflags"], portlandReleaseFlags, "profiler.addPortlandGroupOptimizationGroup returned wrong value") self.assertEquals( groups[2]["f77flags"], portlandReleaseFlags, "profiler.addPortlandGroupOptimizationGroup returned wrong value")
def test_addPathscaleOptimizationGroup02(self): compilerGroup = overrides.OverrideGroup() compilerGroup.compiler = "PATHSCALE" compilerGroup.optimization = "*" compilerGroup.parallel = "*" compilerGroup["ccompiler"] = "pathcc" compilerGroup["cxxcompiler"] = "pathCC" compilerGroup["cpreprocessor"] = "cpp" compilerGroup["fcompiler"] = "pathf95" compilerGroup["f77compiler"] = "pathf95" groups = [] groups.append(compilerGroup) profiler.addPathscaleOptimizationGroup(groups, compilerGroup) self.assertEquals( len(groups), 3, "profiler.addPathscaleOptimizationGroup should have added 2 more groups" ) self.assertEquals( groups[0].compiler, "PATHSCALE", "profiler.addPathscaleOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0].optimization, "*", "profiler.addPathscaleOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0].parallel, "*", "profiler.addPathscaleOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0]["ccompiler"], "pathcc", "profiler.addPathscaleOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0]["cxxcompiler"], "pathCC", "profiler.addPathscaleOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0]["cpreprocessor"], "cpp", "profiler.addPathscaleOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0]["fcompiler"], "pathf95", "profiler.addPathscaleOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0]["f77compiler"], "pathf95", "profiler.addPathscaleOptimizationGroup should not have altered this value" ) pathDebugFlags = "-g -O0 -Wall" self.assertEquals( groups[1].compiler, "PATHSCALE", "profiler.addPathscaleOptimizationGroup returned wrong value") self.assertEquals( groups[1].optimization, "debug", "profiler.addPathscaleOptimizationGroup returned wrong value") self.assertEquals( groups[1].parallel, "*", "profiler.addPathscaleOptimizationGroup returned wrong value") self.assertEquals( groups[1]["cflags"], pathDebugFlags, "profiler.addPathscaleOptimizationGroup returned wrong value") self.assertEquals( groups[1]["cxxflags"], pathDebugFlags, "profiler.addPathscaleOptimizationGroup returned wrong value") self.assertEquals( groups[1]["cppflags"], "-Wall", "profiler.addPathscaleOptimizationGroup returned wrong value") self.assertEquals( groups[1]["fflags"], pathDebugFlags, "profiler.addPathscaleOptimizationGroup returned wrong value") self.assertEquals( groups[1]["f77flags"], pathDebugFlags, "profiler.addPathscaleOptimizationGroup returned wrong value") pathReleaseFlags = "-O2 -Wall" self.assertEquals( groups[2].compiler, "PATHSCALE", "profiler.addPathscaleOptimizationGroup returned wrong value") self.assertEquals( groups[2].optimization, "release", "profiler.addPathscaleOptimizationGroup returned wrong value") self.assertEquals( groups[2].parallel, "*", "profiler.addPathscaleOptimizationGroup returned wrong value") self.assertEquals( groups[2]["cflags"], pathReleaseFlags, "profiler.addPathscaleOptimizationGroup returned wrong value") self.assertEquals( groups[2]["cxxflags"], pathReleaseFlags, "profiler.addPathscaleOptimizationGroup returned wrong value") self.assertEquals( groups[2]["cppflags"], "-Wall", "profiler.addPathscaleOptimizationGroup returned wrong value") self.assertEquals( groups[2]["fflags"], pathReleaseFlags, "profiler.addPathscaleOptimizationGroup returned wrong value") self.assertEquals( groups[2]["f77flags"], pathReleaseFlags, "profiler.addPathscaleOptimizationGroup returned wrong value")
def test_addIntelOptimizationGroup02(self): compilerGroup = overrides.OverrideGroup() compilerGroup.compiler = "INTEL" compilerGroup.optimization = "*" compilerGroup.parallel = "*" compilerGroup["ccompiler"] = "icc" compilerGroup["cxxcompiler"] = "icc" compilerGroup["cpreprocessor"] = "cpp" compilerGroup["fcompiler"] = "ifort" compilerGroup["f77compiler"] = "ifc" groups = [] groups.append(compilerGroup) profiler.addIntelOptimizationGroup(groups, compilerGroup) self.assertEquals( len(groups), 3, "profiler.addIntelOptimizationGroup should have added 2 more groups" ) self.assertEquals( groups[0].compiler, "INTEL", "profiler.addIntelOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0].optimization, "*", "profiler.addIntelOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0].parallel, "*", "profiler.addIntelOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0]["ccompiler"], "icc", "profiler.addIntelOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0]["cxxcompiler"], "icc", "profiler.addIntelOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0]["cpreprocessor"], "cpp", "profiler.addIntelOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0]["fcompiler"], "ifort", "profiler.addIntelOptimizationGroup should not have altered this value" ) self.assertEquals( groups[0]["f77compiler"], "ifc", "profiler.addIntelOptimizationGroup should not have altered this value" ) iccDebugFlags = "-debug full -O0 -Wall" self.assertEquals( groups[1].compiler, "INTEL", "profiler.addIntelOptimizationGroup returned wrong value") self.assertEquals( groups[1].optimization, "debug", "profiler.addIntelOptimizationGroup returned wrong value") self.assertEquals( groups[1].parallel, "*", "profiler.addIntelOptimizationGroup returned wrong value") self.assertEquals( groups[1]["cflags"], iccDebugFlags, "profiler.addIntelOptimizationGroup returned wrong value") self.assertEquals( groups[1]["cxxflags"], iccDebugFlags, "profiler.addIntelOptimizationGroup returned wrong value") self.assertEquals( groups[1]["cppflags"], "-Wall", "profiler.addIntelOptimizationGroup returned wrong value") self.assertEquals( groups[1]["fflags"], "-O0 -warn all", "profiler.addIntelOptimizationGroup returned wrong value") self.assertEquals( groups[1]["f77flags"], "-O0 -warn all", "profiler.addIntelOptimizationGroup returned wrong value") iccReleaseFlags = "-debug none -O2 -Wall" self.assertEquals( groups[2].compiler, "INTEL", "profiler.addIntelOptimizationGroup returned wrong value") self.assertEquals( groups[2].optimization, "release", "profiler.addIntelOptimizationGroup returned wrong value") self.assertEquals( groups[2].parallel, "*", "profiler.addIntelOptimizationGroup returned wrong value") self.assertEquals( groups[2]["cflags"], iccReleaseFlags, "profiler.addIntelOptimizationGroup returned wrong value") self.assertEquals( groups[2]["cxxflags"], iccReleaseFlags, "profiler.addIntelOptimizationGroup returned wrong value") self.assertEquals( groups[2]["cppflags"], "-Wall", "profiler.addIntelOptimizationGroup returned wrong value") self.assertEquals( groups[2]["fflags"], "-O2 -warn all", "profiler.addIntelOptimizationGroup returned wrong value") self.assertEquals( groups[2]["f77flags"], "-O2 -warn all", "profiler.addIntelOptimizationGroup returned wrong value")
def test_addGnuOptimizationGroup02(self): compilerGroup = overrides.OverrideGroup() compilerGroup.compiler = "GNU" compilerGroup.optimization = "*" compilerGroup.parallel = "*" compilerGroup["ccompiler"] = "gcc" compilerGroup["cxxcompiler"] = "g++" compilerGroup["objccompiler"] = "gobjc" compilerGroup["objcxxcompiler"] = "gobjc" compilerGroup["cpreprocessor"] = "cpp" compilerGroup["objccpreprocessor"] = "cpp" compilerGroup["objcxxpreprocessor"] = "cpp" compilerGroup["fcompiler"] = "gfortran" compilerGroup["f77compiler"] = "g77" groups = [] groups.append(compilerGroup) profiler.addGnuOptimizationGroup(groups, compilerGroup) self.assertEquals( len(groups), 3, "profiler.addGnuOptimazationGroup should have added 2 more groups") self.assertEquals( groups[0].compiler, "GNU", "profiler.addGnuOptimazationGroup should not have altered this value" ) self.assertEquals( groups[0].optimization, "*", "profiler.addGnuOptimazationGroup should not have altered this value" ) self.assertEquals( groups[0].parallel, "*", "profiler.addGnuOptimazationGroup should not have altered this value" ) self.assertEquals( groups[0]["ccompiler"], "gcc", "profiler.addGnuOptimazationGroup should not have altered this value" ) self.assertEquals( groups[0]["cxxcompiler"], "g++", "profiler.addGnuOptimazationGroup should not have altered this value" ) self.assertEquals( groups[0]["objccompiler"], "gobjc", "profiler.addGnuOptimazationGroup should not have altered this value" ) self.assertEquals( groups[0]["objcxxcompiler"], "gobjc", "profiler.addGnuOptimazationGroup should not have altered this value" ) self.assertEquals( groups[0]["cpreprocessor"], "cpp", "profiler.addGnuOptimazationGroup should not have altered this value" ) self.assertEquals( groups[0]["objccpreprocessor"], "cpp", "profiler.addGnuOptimazationGroup should not have altered this value" ) self.assertEquals( groups[0]["objcxxpreprocessor"], "cpp", "profiler.addGnuOptimazationGroup should not have altered this value" ) self.assertEquals( groups[0]["fcompiler"], "gfortran", "profiler.addGnuOptimazationGroup should not have altered this value" ) self.assertEquals( groups[0]["f77compiler"], "g77", "profiler.addGnuOptimazationGroup should not have altered this value" ) gccDebugFlags = "-g -O0 -Wall" self.assertEquals( groups[1].compiler, "GNU", "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[1].optimization, "debug", "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[1].parallel, "*", "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[1]["cflags"], gccDebugFlags, "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[1]["cxxflags"], gccDebugFlags, "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[1]["objcflags"], gccDebugFlags, "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[1]["objcxxflags"], gccDebugFlags, "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[1]["cppflags"], "-Wall", "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[1]["fflags"], "-Wall", "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[1]["f77flags"], "-Wall", "profiler.addGnuOptimazationGroup returned wrong value") gccReleaseFlags = "-O2 -Wall" self.assertEquals( groups[2].compiler, "GNU", "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[2].optimization, "release", "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[2].parallel, "*", "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[2]["cflags"], gccReleaseFlags, "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[2]["cxxflags"], gccReleaseFlags, "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[2]["objcflags"], gccReleaseFlags, "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[2]["objcxxflags"], gccReleaseFlags, "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[2]["cppflags"], "-Wall", "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[2]["fflags"], "-Wall", "profiler.addGnuOptimazationGroup returned wrong value") self.assertEquals( groups[2]["f77flags"], "-Wall", "profiler.addGnuOptimazationGroup returned wrong value")