Bug 180180

Summary: [build.webkit.org] Move python code from master.cfg in separate files
Product: WebKit Reporter: Aakash Jain <aakash_jain>
Component: Tools / TestsAssignee: Aakash Jain <aakash_jain>
Status: RESOLVED FIXED    
Severity: Normal CC: aakash_jain, ap, commit-queue, dean_johnson, ews-watchlist, lforschler, matthew_hanson
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=180278
Attachments:
Description Flags
Proposed patch none

Description Aakash Jain 2017-11-29 17:37:23 PST
master.cfg is a configuration file. It should contain only the configuration. All the logic (python code) should be in corresponding python files.

Also having separate files like steps.py, factories.py would be more scalable/manageable as we would be adding more steps and factories in future.
Comment 1 Aakash Jain 2017-11-29 17:44:45 PST
Created attachment 327937 [details]
Proposed patch

Tested on a local instance.
Comment 2 EWS Watchlist 2017-11-29 17:47:47 PST
Attachment 327937 [details] did not pass style-queue:


ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:32:  [Factory.__init__] Undefined variable 'ConfigureBuild'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:34:  [Factory.__init__] Undefined variable 'WaitForSVNServer'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:35:  [Factory.__init__] Undefined variable 'CheckOutSource'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:37:  [Factory.__init__] Undefined variable 'KillOldProcesses'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:38:  [Factory.__init__] Undefined variable 'CleanBuildIfScheduled'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:39:  [Factory.__init__] Undefined variable 'DeleteStaleBuildFiles'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:41:  [Factory.__init__] Undefined variable 'InstallWin32Dependencies'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:43:  [Factory.__init__] Undefined variable 'InstallGtkDependencies'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:45:  [Factory.__init__] Undefined variable 'InstallWpeDependencies'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:53:  [BuildFactory.__init__] Undefined variable 'CompileWebKit'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:55:  [BuildFactory.__init__] Undefined variable 'CompileWebKit'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:58:  [BuildFactory.__init__] Undefined variable 'ArchiveBuiltProduct'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:59:  [BuildFactory.__init__] Undefined variable 'UploadBuiltProduct'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:61:  [BuildFactory.__init__] Undefined variable 'ArchiveMinifiedBuiltProduct'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:62:  [BuildFactory.__init__] Undefined variable 'UploadMinifiedBuiltProduct'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:63:  [BuildFactory.__init__] Undefined variable 'TransferToS3'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:68:  [TestFactory] Undefined variable 'RunJavaScriptCoreTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:69:  [TestFactory] Undefined variable 'RunWebKitTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:72:  [TestFactory.getProduct] Undefined variable 'DownloadBuiltProduct'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:73:  [TestFactory.getProduct] Undefined variable 'ExtractBuiltProduct'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:84:  [TestFactory.__init__] Undefined variable 'RunUnitTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:85:  [TestFactory.__init__] Undefined variable 'RunPythonTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:86:  [TestFactory.__init__] Undefined variable 'RunPerlTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:87:  [TestFactory.__init__] Undefined variable 'RunBindingsTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:88:  [TestFactory.__init__] Undefined variable 'RunBuiltinsTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:90:  [TestFactory.__init__] Undefined variable 'RunDashboardTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:92:  [TestFactory.__init__] Undefined variable 'ArchiveTestResults'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:93:  [TestFactory.__init__] Undefined variable 'UploadTestResults'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:94:  [TestFactory.__init__] Undefined variable 'ExtractTestResults'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:96:  [TestFactory.__init__] Undefined variable 'RunGtkAPITests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:98:  [TestFactory.__init__] Undefined variable 'RunWPEAPITests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:103:  [BuildAndTestFactory.getProduct] Undefined variable 'CompileWebKit'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:108:  [BuildAndTestFactory.__init__] Undefined variable 'ArchiveBuiltProduct'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:109:  [BuildAndTestFactory.__init__] Undefined variable 'UploadBuiltProduct'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:116:  [BuildAndTestLLINTCLoopFactory.__init__] Undefined variable 'CompileLLINTCLoop'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:117:  [BuildAndTestLLINTCLoopFactory.__init__] Undefined variable 'RunLLINTCLoopTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:123:  [BuildAndTest32bitJSCFactory.__init__] Undefined variable 'Compile32bitJSC'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:124:  [BuildAndTest32bitJSCFactory.__init__] Undefined variable 'Run32bitJSCTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:134:  [BuildAndRemoteJSCTestsFactory.__init__] Undefined variable 'CompileJSCOnly'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:135:  [BuildAndRemoteJSCTestsFactory.__init__] Undefined variable 'RunRemoteJavaScriptCoreTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:141:  [TestWebKit1LeaksFactory.__init__] Undefined variable 'DownloadBuiltProduct'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:142:  [TestWebKit1LeaksFactory.__init__] Undefined variable 'ExtractBuiltProduct'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:143:  [TestWebKit1LeaksFactory.__init__] Undefined variable 'RunWebKit1LeakTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:144:  [TestWebKit1LeaksFactory.__init__] Undefined variable 'ArchiveTestResults'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:145:  [TestWebKit1LeaksFactory.__init__] Undefined variable 'UploadTestResults'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:146:  [TestWebKit1LeaksFactory.__init__] Undefined variable 'ExtractTestResultsAndLeaks'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:156:  [TestJSCFactory.__init__] Undefined variable 'DownloadBuiltProduct'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:157:  [TestJSCFactory.__init__] Undefined variable 'ExtractBuiltProduct'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:158:  [TestJSCFactory.__init__] Undefined variable 'RunJavaScriptCoreTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:164:  [Test262Factory.__init__] Undefined variable 'DownloadBuiltProduct'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:165:  [Test262Factory.__init__] Undefined variable 'ExtractBuiltProduct'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:166:  [Test262Factory.__init__] Undefined variable 'RunTest262Tests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:170:  [TestWebKit1Factory] Undefined variable 'RunWebKit1Tests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:180:  [BuildAndPerfTestFactory.__init__] Undefined variable 'CompileWebKit'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:181:  [BuildAndPerfTestFactory.__init__] Undefined variable 'RunAndUploadPerfTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:183:  [BuildAndPerfTestFactory.__init__] Undefined variable 'RunBenchmarkTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:189:  [DownloadAndPerfTestFactory.__init__] Undefined variable 'DownloadBuiltProduct'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:190:  [DownloadAndPerfTestFactory.__init__] Undefined variable 'ExtractBuiltProduct'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:191:  [DownloadAndPerfTestFactory.__init__] Undefined variable 'RunAndUploadPerfTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:193:  [DownloadAndPerfTestFactory.__init__] Undefined variable 'RunBenchmarkTests'  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:29:  No name 'internet' in module 'twisted'  [pylint/E0611] [5]
Total errors found: 61 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Aakash Jain 2017-11-30 11:05:48 PST
<rdar://problem/35299537>
Comment 4 Dean Johnson 2017-11-30 11:10:24 PST
Looks good to me. Unofficial r=me.
Comment 5 WebKit Commit Bot 2017-11-30 11:14:07 PST
Comment on attachment 327937 [details]
Proposed patch

Clearing flags on attachment: 327937

Committed r225334: <https://trac.webkit.org/changeset/225334>
Comment 6 WebKit Commit Bot 2017-11-30 11:14:09 PST
All reviewed patches have been landed.  Closing bug.