def METHOD_NAME(self):
    """If Go package is not native go module, lets try to make the module."""
    go_mod_file = 'go.mod'
    go_sum_file = 'go.sum'
    if not os.path.exists(go_mod_file) or not os.path.isfile(go_mod_file):
        self.log.warn("go.mod not found! This is not natively supported go module. Trying to init module.")
        if self.cfg['modulename'] is None:
            raise EasyBuildError("Installing non-native go module. You need to specify 'modulename' in easyconfig")
        # for more information about migrating to go modules
        # see: https://blog.golang.org/migrating-to-go-modules
        # go mod init
        cmd = ' '.join(['go', 'mod', 'init', self.cfg['modulename']])
        run_cmd(cmd, log_all=True, simple=True)
        if self.cfg['forced_deps']:
            for dep in self.cfg['forced_deps']:
                # go get specific dependencies which locks them in go.mod
                cmd = ' '.join(['go', 'get', '%s@%s' % dep])
                run_cmd(cmd, log_all=True, simple=True)
        # note: ... (tripledot) used below is not a typo, but go wildcard pattern
        # which means: anything you can find in this directory, including all subdirectories
        # see: 'go help packages' or https://golang.org/pkg/cmd/go/internal/help/
        # see: https://stackoverflow.com/a/28031651/2047157
        # building and testing will add packages to go.mod
        run_cmd('go build ./...', log_all=True, simple=True)
        run_cmd('go test ./...', log_all=True, simple=True)
        # tidy up go.mod
        run_cmd('go mod tidy', log_all=True, simple=True)
        # build and test again, to ensure go mod tidy didn't removed anything needed
        run_cmd('go build ./...', log_all=True, simple=True)
        run_cmd('go test ./...', log_all=True, simple=True)
        self.log.warn('Include generated go.mod and go.sum via patch to ensure locked dependencies '
                      'and run this easyconfig again.')
        run_cmd('cat go.mod', log_all=True, simple=True)
        run_cmd('cat go.sum', log_all=True, simple=True)
    if not os.path.exists(go_sum_file) or not os.path.isfile(go_sum_file):
        raise EasyBuildError("go.sum not found! This module has no locked dependency versions.")