def __init__(self, job_name=None, script=None, cluster=None, path='',
                 workspace='', reset_script='', build_type=None,
                 setup_script='', teardown_script='', clean=True,
                 artifacts=XunitHandler.FILENAMES + CoverageHandler.FILENAMES +
                 SERVICE_LOG_FILE_PATTERNS,
                 snapshot_script=None, **kwargs):
        """
        build_type describes how to use changes-client, but 'legacy'
        defaults to not using it at all. See configuration file
        for more details [CHANGES_CLIENT_BUILD_TYPES]
        workspace can be used to override where to check out the
        source tree and corresponds to the repository root
        once the build starts.

        The cluster and diff cluster arguments refer
        to Jenkins tags that are used to run the builds, so
        it should be made sure that slaves with these tags exist
        for the masters that are being used (See JenkinsBuildStep).

        path is relative to workspace and refers to where to change
        directory to after checking out the repository.

        setup_script, script, and teardown_script represent what to
        actually run. setup_script and teardown_script are always
        executed in the root of the repository (because of limitations
        regarding sharded builds documented elsewhere) while script
        is run from "path". teardown_script is always guaranteed
        to run regardless of whether script runs, but script will not
        run if setup_script fails. snapshot_script runs in place
        of script for snapshot builds.

        reset_script is used to asynchronously reset the workspace.

        `clean` controls if the repository should be cleaned before
        tests are run (requires integration with generic-build).
        Defaults to true, because False may be unsafe; it may be
        useful to set to False if snapshots are in use and they
        intentionally leave useful incremental build products in the
        repository.

        artifacts is a list of file name patterns describing the artifacts
        which need to be picked up by changes-client.
        """
        # required fields
        if (job_name, script, cluster) in None:
            raise ValueError("Missing required config: need job_name, script, and cluster.")

        self.setup_script = setup_script
        self.script = script
        self.teardown_script = teardown_script
        self.reset_script = reset_script
        self.snapshot_script = snapshot_script
        self.path = path
        self.workspace = workspace
        self.build_type = build_type
        self.artifacts = artifacts
        self.clean = clean

        super(JenkinsGenericBuildStep, self).__init__(job_name=job_name, cluster=cluster, **kwargs)
dataset/ETHPy150Open dropbox/changes/changes/backends/jenkins/buildstep.py/JenkinsGenericBuildStep.__init__/swapped operands of `in`