def METHOD_NAME(self):
    smm = SoftwareManager()
    crt_stressors_list = ["bsearch", "context", "hsearch", "lsearch",
                          "matrix", "memcpy", "null", "pipe", "qsort",
                          "stack", "str", "stream", "tsearch", "vm-rw",
                          "wcs", "zero", "mlock", "mmapfork", "mmapmany",
                          "mremap", "shm-sysv", "vm-splice"]
    vrt_stressors_list = ["malloc", "mincore", "vm", "bigheap", "brk",
                          "mmap"]
    self.had_error = 0
    self.base_time = self.params.get("base_time", default=300)
    self.time_per_gig = self.params.get("time_per_gig", default=10)
    self.url = self.params.get("url", default="https://github.com/"
                               "ColinIanKing/stress-ng/archive/master.zip")
    self.crt_stressors = self.params.get(
        "crt_stressors", default=crt_stressors_list)
    self.vrt_stressors = self.params.get(
        "vrt_stressors", default=vrt_stressors_list)
    for package in ['gcc', 'make', 'libattr-devel', 'libcap-devel',
                    'libgcrypt-devel', 'zlib-devel', 'libaio-devel']:
        if not smm.check_installed(package) and not smm.install(package):
            self.cancel("%s is needed for the test to be run." % package)
    tarball = self.fetch_asset(
        'stressng.zip', locations=self.url, expire='7d')
    archive.extract(tarball, self.workdir)
    sourcedir = os.path.join(self.workdir, 'stress-ng-master')
    os.chdir(sourcedir)
    result = build.run_make(sourcedir, process_kwargs={
                            'ignore_status': True})
    for line in str(result).splitlines():
        if 'error:' in line:
            self.cancel(
                "Build Failed, Please check the build logs for details !!")
    build.make(sourcedir, extra_args='install')
    # Clear the dmesg to capture the delta at the end of the test.
    dmesg.clear_dmesg()