def test_SelectTests(self): tm = 'try: -b od -p win32 -u crashtest,mochitest-other' # test in the getBuilders (for local builder_master unittests) self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES + VALID_UPN, BUILDER_PRETTY_NAMES, UNITTEST_PRETTY_NAMES, UNITTEST_SUITES) builders = [ BUILDER_PRETTY_NAMES['win32'], BUILDER_PRETTY_NAMES['win32-debug'] ] testers = self.filterBuilders(['win32-debug'], valid=VALID_BUILDER_NAMES + VALID_UPN, pretties=UNITTEST_PRETTY_NAMES) builders += [ t for t in testers if 'crashtest' in t or 'mochitest-other' in t ] self.assertEqual(sorted(self.customBuilders), sorted(builders)) # test in the getTestBuilders (for local builder_master unittests) self.customBuilders = TryParser(tm, VALID_TESTER_NAMES, TESTER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = self.filterTesters(['win32']) builders = [ t for t in builders if 'crashtest' in t or 'mochitest-other' in t ] self.assertEqual(sorted(self.customBuilders), sorted(builders))
def test_NoBuildTypeSelected(self): tm = 'try: -m none -u crashtest -p win32' # should get both build types for the selected platform self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES, BUILDER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = [ BUILDER_PRETTY_NAMES['win32'], BUILDER_PRETTY_NAMES['win32-debug'] ] self.assertEqual(sorted(self.customBuilders), sorted(builders)) # should get debug win32 in the builder_master test builders self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES + VALID_UPN, {}, UNITTEST_PRETTY_NAMES, UNITTEST_SUITES) builders = self.filterBuilders(['win32-debug'], pretties=UNITTEST_PRETTY_NAMES, valid=VALID_BUILDER_NAMES + VALID_UPN) builders = [t for t in builders if 'crashtest' in t] self.assertEqual(sorted(self.customBuilders), sorted(builders)) # should get both build types in test_builders self.customBuilders = TryParser(tm, VALID_TESTER_NAMES, TESTER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = self.filterTesters(['win32', 'win32-debug']) builders = [t for t in builders if 'crashtest' in t] self.assertEqual(sorted(self.customBuilders), sorted(builders))
def test_ReftestMobileAliases(self): tm = 'try: -b d -p win32 -u reftests' self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES+VALID_REFTEST_NAMES, {}, UNITTEST_PRETTY_NAMES, MOBILE_UNITTEST_SUITES) builders = ['WINNT 5.2 try debug test reftest-1/3', 'WINNT 5.2 try debug test reftest-3/3'] self.assertEquals(sorted(self.customBuilders),sorted(builders)) tm = 'try: -b d -p win32 -u reftest' builders = ['WINNT 5.2 try debug test reftest-1/3', 'WINNT 5.2 try debug test reftest-3/3'] self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES+VALID_REFTEST_NAMES, {}, UNITTEST_PRETTY_NAMES, MOBILE_UNITTEST_SUITES) self.assertEquals(sorted(self.customBuilders),sorted(builders))
def test_ReftestAliases(self): tm = 'try: -b d -p win32 -u reftests' self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES+VALID_UPN, {}, UNITTEST_PRETTY_NAMES, UNITTEST_SUITES) builders = ['WINNT 5.2 try debug test reftest'] self.assertEquals(sorted(self.customBuilders),sorted(builders)) tm = 'try: -b d -p win32 -u reftest' self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES+VALID_UPN, {}, UNITTEST_PRETTY_NAMES, UNITTEST_SUITES) builders = ['WINNT 5.2 try debug test reftest'] self.assertEquals(sorted(self.customBuilders),sorted(builders))
def test_MochitestAliasesOnTestMaster(self): tm = 'try: -b od -p all -u mochitests' self.customBuilders = TryParser(tm, VALID_TESTER_NAMES, TESTER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = ['Rev3 Fedora 12 try opt test mochitests-1/5', 'Rev3 Fedora 12 try opt test mochitest-other', 'Rev3 Fedora 12 try debug test mochitests-1/5', 'Rev3 Fedora 12 try debug test mochitest-other', 'Rev3 WINNT 6.1 try debug test mochitest-other', 'Rev3 WINNT 6.1 try debug test mochitests-3/5'] self.assertEqual(sorted(self.customBuilders),sorted(builders)) tm = 'try: -b od -p win32 -u mochitest-o' self.customBuilders = TryParser(tm, VALID_TESTER_NAMES, TESTER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = ['Rev3 WINNT 6.1 try debug test mochitest-other'] self.assertEqual(sorted(self.customBuilders),sorted(builders))
def test_MochitestAliasesOnBuilderMaster(self): tm = 'try: -b od -p win32 -u mochitests' self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES+VALID_UPN, BUILDER_PRETTY_NAMES, UNITTEST_PRETTY_NAMES, UNITTEST_SUITES) builders = ['WINNT 5.2 try build', 'WINNT 5.2 try leak test build', 'WINNT 5.2 try debug test mochitest-other', 'WINNT 5.2 try debug test mochitests-3/5', 'WINNT 5.2 try debug test mochitests-1/5',] self.assertEqual(sorted(self.customBuilders),sorted(builders)) tm = 'try: -b od -p win32 -u mochitest-o' self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES+VALID_UPN, BUILDER_PRETTY_NAMES, UNITTEST_PRETTY_NAMES, UNITTEST_SUITES) builders = ['WINNT 5.2 try build', 'WINNT 5.2 try leak test build', 'WINNT 5.2 try debug test mochitest-other'] self.assertEqual(sorted(self.customBuilders),sorted(builders))
def test_NoTests(self): tm = 'try: -b od -p linux,win32 -u none' # test in getBuilders self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES, BUILDER_PRETTY_NAMES, UNITTEST_PRETTY_NAMES, UNITTEST_SUITES) builders = ['Linux try build', 'Linux try leak test build', 'WINNT 5.2 try build', 'WINNT 5.2 try leak test build'] self.assertEqual(sorted(self.customBuilders),sorted(builders)) # test in getTestBuilders self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES, TESTER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = [] self.assertEqual(sorted(self.customBuilders),sorted(builders))
def test_NoTests(self): tm = 'try: -b od -p win32 -u none --buildbot' # test in getBuilders self.customBuilders = TryParser(tm, LEGACY_VALID_BUILDER_NAMES, LEGACY_BUILDER_PRETTY_NAMES, LEGACY_TESTER_PRETTY_NAMES, UNITTEST_SUITES) builders = self.filterBuilders(['win32', 'win32-debug'], LEGACY_BUILDER_PRETTY_NAMES, LEGACY_VALID_BUILDER_NAMES ) self.assertEqual(sorted(self.customBuilders), sorted(builders)) # test in getTestBuilders self.customBuilders = TryParser(tm, LEGACY_VALID_BUILDER_NAMES, LEGACY_TESTER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = [] self.assertEqual(sorted(self.customBuilders), sorted(builders))
def test_SelectTests(self): tm = 'try: -b od -p win32 -u crashtest,mochitest-other' # test in the getBuilders (for local builder_master unittests) self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES+VALID_UPN, BUILDER_PRETTY_NAMES, UNITTEST_PRETTY_NAMES, UNITTEST_SUITES) builders = ['WINNT 5.2 try build', 'WINNT 5.2 try leak test build', 'WINNT 5.2 try debug test crashtest', 'WINNT 5.2 try debug test mochitest-other'] self.assertEqual(sorted(self.customBuilders),sorted(builders)) # test in the getTestBuilders (for local builder_master unittests) self.customBuilders = TryParser(tm, VALID_TESTER_NAMES, TESTER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = ['Rev3 WINNT 6.1 try opt test crashtest', 'Rev3 WINNT 6.1 try debug test crashtest', 'Rev3 WINNT 6.1 try debug test mochitest-other'] self.assertEqual(sorted(self.customBuilders),sorted(builders))
def test_ReftestAliases(self): tm = 'try: -b d -p win32 -u reftests --buildbot' self.customBuilders = TryParser(tm, LEGACY_VALID_BUILDER_NAMES + VALID_UPN, {}, UNITTEST_PRETTY_NAMES, UNITTEST_SUITES) builders = self.filterBuilders(['win32-debug'], valid=LEGACY_VALID_BUILDER_NAMES + VALID_UPN, pretties=UNITTEST_PRETTY_NAMES) builders = [t for t in builders if 'reftest' in t] self.assertEquals(sorted(self.customBuilders), sorted(builders)) tm = 'try: -b d -p win32 -u reftest --buildbot' self.customBuilders = TryParser(tm, LEGACY_VALID_BUILDER_NAMES + VALID_UPN, {}, UNITTEST_PRETTY_NAMES, UNITTEST_SUITES) self.assertEquals(sorted(self.customBuilders), sorted(builders))
def test_NoTests(self): tm = 'try: -b od -p linux,win32 -u none' # test in getBuilders self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES, BUILDER_PRETTY_NAMES, UNITTEST_PRETTY_NAMES, UNITTEST_SUITES) builders = self.filterBuilders( ['linux', 'linux-debug', 'win32', 'win32-debug']) self.assertEqual(sorted(self.customBuilders), sorted(builders)) # test in getTestBuilders self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES, TESTER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = [] self.assertEqual(sorted(self.customBuilders), sorted(builders))
def test_MochitestAliasesOnTestMaster(self): tm = 'try: -b od -p all -u mochitests --buildbot' self.customBuilders = TryParser(tm, LEGACY_VALID_TESTER_NAMES, LEGACY_TESTER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = [t for t in LEGACY_VALID_TESTER_NAMES if 'mochitest' in t] self.assertEqual(sorted(self.customBuilders), sorted(builders)) tm = 'try: -b od -p linux64 -u mochitest-bc' self.customBuilders = TryParser(tm, LEGACY_VALID_TESTER_NAMES, LEGACY_TESTER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = [t for t in self.filterTesters(['linux64']) if 'mochitest-browser-chrome' in t] self.assertEqual(sorted(self.customBuilders), sorted(builders)) tm = 'try: -b od -p linux64 -u mochitest-o' self.customBuilders = TryParser(tm, LEGACY_VALID_TESTER_NAMES, LEGACY_TESTER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = [t for t in self.filterTesters(['linux64']) if 'mochitest-other' in t] self.assertEqual(sorted(self.customBuilders), sorted(builders))
def test_SpecificPlatform(self): # Testing a specific platform, eg: mac only # should specify macosx and macosx64 to get opt and debug tm = 'try: -b od -p macosx64,macosx' self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES, BUILDER_PRETTY_NAMES) builders = ['OS X 10.6.2 try build', 'OS X 10.6.2 try leak test build', 'OS X 10.5.2 try leak test build'] self.assertEquals(sorted(self.customBuilders), sorted(builders))
def test_BothBuildTypes(self): # User can send 'do' or 'od' for both tm = ['try: -b od -p win32','try: -b do -p win32'] for m in tm: self.customBuilders = TryParser(m, VALID_BUILDER_NAMES, BUILDER_PRETTY_NAMES) builders = ['WINNT 5.2 try build', 'WINNT 5.2 try leak test build'] self.assertEquals(sorted(self.customBuilders), sorted(builders))
def test_DebugOnlyBuild(self): tm = "try: -b d -p win64,win32 --buildbot" self.customBuilders = TryParser( tm, LEGACY_VALID_BUILDER_NAMES, LEGACY_BUILDER_PRETTY_NAMES) builders = [LEGACY_BUILDER_PRETTY_NAMES[p] for p in [ 'win64-debug', 'win32-debug']] self.assertEquals(sorted(self.customBuilders), sorted(builders))
def test_MochitestAliasesOnBuilderMaster(self): tm = 'try: -b od -p win32 -u mochitests --buildbot' self.customBuilders = TryParser(tm, LEGACY_VALID_BUILDER_NAMES + VALID_UPN, LEGACY_BUILDER_PRETTY_NAMES, UNITTEST_PRETTY_NAMES, UNITTEST_SUITES) builders = [LEGACY_BUILDER_PRETTY_NAMES[p] for p in ['win32', 'win32-debug']] builders += [t for t in VALID_UPN if 'mochitest' in t] self.assertEqual(sorted(self.customBuilders), sorted(builders)) tm = 'try: -b od -p win32 -u mochitest-bc --buildbot' self.customBuilders = TryParser(tm, LEGACY_VALID_BUILDER_NAMES + VALID_UPN, LEGACY_BUILDER_PRETTY_NAMES, UNITTEST_PRETTY_NAMES, UNITTEST_SUITES) builders = [LEGACY_BUILDER_PRETTY_NAMES[p] for p in ['win32', 'win32-debug']] builders += [t for t in VALID_UPN if 'mochitest-browser-chrome' in t] self.assertEqual(sorted(self.customBuilders), sorted(builders)) tm = 'try: -b od -p win32 -u mochitest-o --buildbot' self.customBuilders = TryParser(tm, LEGACY_VALID_BUILDER_NAMES + VALID_UPN, LEGACY_BUILDER_PRETTY_NAMES, UNITTEST_PRETTY_NAMES, UNITTEST_SUITES) builders = [LEGACY_BUILDER_PRETTY_NAMES[p] for p in ['win32', 'win32-debug']] builders += [t for t in VALID_UPN if 'mochitest-other' in t] self.assertEqual(sorted(self.customBuilders), sorted(builders))
def test_GipAliasOnTestMaster(self): tm = 'try: -b od -p all -u gaia-ui-test' self.customBuilders = TryParser(tm, VALID_TESTER_NAMES, TESTER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = [t for t in VALID_TESTER_NAMES if 'gaia-ui-test' in t] self.assertEqual(sorted(self.customBuilders), sorted(builders))
def test_AllTalos(self): # should get all unittests too since that's the default set tm = 'try: -b od -t all --buildbot' self.customBuilders = TryParser(tm, LEGACY_VALID_TESTER_NAMES, LEGACY_TESTER_PRETTY_NAMES, None, UNITTEST_SUITES, TALOS_SUITES) builders = self.removeNondefaults( LEGACY_VALID_TESTER_NAMES, LEGACY_TESTER_PRETTY_NAMES) self.assertEqual(sorted(self.customBuilders), sorted(builders))
def test_B2GPlatform(self): tm = 'try: -b od -p emulator' self.customBuilders = TryParser(tm, VALID_BUILDER_B2G_NAMES, BUILDER_PRETTY_B2G_NAMES) builders = self.filterBuilders(['emulator', 'emulator-debug'], pretties=BUILDER_PRETTY_B2G_NAMES, valid=VALID_BUILDER_B2G_NAMES) self.assertEquals(sorted(self.customBuilders), sorted(builders)) tm = 'try: -b o -p emulator' self.customBuilders = TryParser(tm, VALID_BUILDER_B2G_NAMES, BUILDER_PRETTY_B2G_NAMES) builders = ['b2g_try_emulator build'] builders = self.filterBuilders(['emulator'], pretties=BUILDER_PRETTY_B2G_NAMES, valid=VALID_BUILDER_B2G_NAMES) self.assertEquals(sorted(self.customBuilders), sorted(builders))
def test_FullPlatformsDebug(self): tm = 'try: -b d -p full' self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES, BUILDER_PRETTY_NAMES) builders = dictslice(BUILDER_PRETTY_NAMES, lambda p: 'debug' in p).values() self.assertEqual(sorted(self.customBuilders), sorted(builders))
def test_AllPlatformsBothLegacy(self): tm = 'try: -b od -p all --buildbot' self.customBuilders = TryParser( tm, LEGACY_VALID_BUILDER_NAMES, LEGACY_BUILDER_PRETTY_NAMES) builders = [b for b in LEGACY_BUILDER_PRETTY_NAMES.values( ) if 'nondefault' not in b] self.assertEqual(sorted(self.customBuilders), sorted(builders))
def test_AllPlatformsBoth(self): tm = 'try: -b od -p all' self.customBuilders = TryParser( tm, VALID_BUILDER_NAMES, BUILDER_PRETTY_NAMES) # builders should be [] unless --buildbot is specified builders = [] self.assertEqual(sorted(self.customBuilders), sorted(builders))
def test_AllPlatformsDebug(self): tm = 'try: -b d -p all' self.customBuilders = TryParser( tm, VALID_BUILDER_NAMES, BUILDER_PRETTY_NAMES) builders = dictslice( BUILDER_PRETTY_NAMES, lambda p: 'debug' in p).values() builders = [b for b in builders if 'nondefault' not in b]
def test_NoBuildTypeSelected(self): tm = 'try: -m none -u crashtest -p win32' # should get both build types for the selected platform self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES, BUILDER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = ['WINNT 5.2 try build', 'WINNT 5.2 try leak test build'] self.assertEqual(sorted(self.customBuilders),sorted(builders)) # should get debug win32 in the builder_master test builders self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES+VALID_UPN, {}, UNITTEST_PRETTY_NAMES, UNITTEST_SUITES) builders = ['WINNT 5.2 try debug test crashtest'] self.assertEqual(sorted(self.customBuilders),sorted(builders)) # should get both build types in test_builders self.customBuilders = TryParser(tm, VALID_TESTER_NAMES, TESTER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = ['Rev3 WINNT 6.1 try opt test crashtest', 'Rev3 WINNT 6.1 try debug test crashtest'] self.assertEqual(sorted(self.customBuilders),sorted(builders))
def test_JunkMessageTesters(self): # Should get empty set with junk input to the test masters tm = "try: junk" self.customBuilders = TryParser(tm, VALID_TESTER_NAMES, TESTER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = [b for b in VALID_TESTER_NAMES if 'talos' not in b] builders = self.removeNondefaults(builders, TESTER_PRETTY_NAMES) self.assertEqual(sorted(self.customBuilders), [])
def test_HiddenCharactersAndOldSyntax(self): tm = 'attributes\ntry: -b o -p linux64 -m none -u reftest -t none' self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES, BUILDER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = [BUILDER_PRETTY_NAMES['linux64']] self.assertEqual(sorted(self.customBuilders), sorted(builders))
def test_IncludeExcludeEmpty(self): tm = 'try: -b do -p win32 -u crashtest[-5.1,5.1]' self.customBuilders = TryParser(tm, VALID_TESTER_NAMES, TESTER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = [] self.assertEqual(sorted(self.customBuilders), sorted(builders))
def test_NoTalos(self): tm = 'try: -b od -p linux,win32 -t none' self.customBuilders = TryParser(tm, VALID_BUILDER_NAMES, TESTER_PRETTY_NAMES, None, None, TALOS_SUITES) builders = [] self.assertEqual(sorted(self.customBuilders), sorted(builders))
def test_DebugWin32OnTestMaster(self): tm = 'try: -b do -p win32 -u crashtest' self.customBuilders = TryParser(tm, VALID_TESTER_NAMES, TESTER_PRETTY_NAMES, None, UNITTEST_SUITES) builders = self.filterTesters(['win32']) builders = [t for t in builders if 'crashtest' in t] self.assertEqual(sorted(self.customBuilders), sorted(builders))
def test_SelecTalosWithNoTalosPlatforms(self): tm = 'try: -b od -p win32,android-r7 -t tp4' self.customBuilders = TryParser(tm, VALID_TESTER_NAMES, TESTER_PRETTY_NAMES, None, None, TALOS_SUITES) builders = self.filterTesters(['win32', 'android-r7']) builders = [t for t in builders if 'tp4' in t] self.assertEqual(sorted(self.customBuilders), sorted(builders))