diff --git a/bits_helpers/args.py b/bits_helpers/args.py index 5db07155..b6b2d755 100644 --- a/bits_helpers/args.py +++ b/bits_helpers/args.py @@ -404,16 +404,17 @@ def matchValidArch(architecture): S3_SUPPORTED_ARCHS = "slc7_x86-64", "slc8_x86-64", "ubuntu2004_x86-64", "ubuntu2204_x86-64", "ubuntu2404_x86-64", "slc9_x86-64", "slc9_aarch64" def finaliseArgs(args, parser): - + # Nothing to finalise for version or analytics # if args.action in ["version", "analytics", "architecture"]: if args.action in ["version", "architecture"]: return args - if "::" in args.defaults: - args.defaults,args.xdefaults = args.defaults.split("::") - else: - args.xdefaults = None + if hasattr(args, "defaults"): + if "::" in args.defaults: + args.defaults,args.xdefaults = args.defaults.split("::") + else: + args.xdefaults = None # --architecture can be specified in both clean and build. if args.action in ["build", "clean"] and not args.architecture: diff --git a/bits_helpers/build.py b/bits_helpers/build.py index 63e55aa2..e75fda2b 100644 --- a/bits_helpers/build.py +++ b/bits_helpers/build.py @@ -494,7 +494,6 @@ def doBuild(args, parser): (err, overrides, taps) = parseDefaults(args.disable, defaultsReader, debug) dieOnError(err, err) - makedirs(join(workDir, "SPECS"), exist_ok=True) # If the bits workdir contains a .sl directory, we use Sapling as SCM. diff --git a/bits_helpers/deps.py b/bits_helpers/deps.py index 3ee504a2..a16aa80e 100644 --- a/bits_helpers/deps.py +++ b/bits_helpers/deps.py @@ -14,7 +14,7 @@ def doDeps(args, parser): # Resolve all the package parsing boilerplate specs = {} - defaultsReader = lambda: readDefaults(args.configDir, args.defaults, parser.error, args.architecture. args.xdefaults) + defaultsReader = lambda: readDefaults(args.configDir, args.defaults, parser.error, args.architecture, args.xdefaults) (err, overrides, taps) = parseDefaults(args.disable, defaultsReader, debug) with DockerRunner(args.dockerImage, args.docker_extra_args) as getstatusoutput_docker: systemPackages, ownPackages, failed, validDefaults = \ diff --git a/tests/test_build.py b/tests/test_build.py index 82bab377..a1ed6ed6 100644 --- a/tests/test_build.py +++ b/tests/test_build.py @@ -279,7 +279,8 @@ def test_coverDoBuild(self, mock_debug, mock_listdir, mock_warning, mock_git_git fetchRepos=False, forceTracked=False, plugin="legacy", - makeflow=False + makeflow=False, + xdefaults=None ) def mkcall(args): diff --git a/tests/test_deps.py b/tests/test_deps.py index 6f910152..c4922a1f 100644 --- a/tests/test_deps.py +++ b/tests/test_deps.py @@ -65,7 +65,8 @@ def depsOpen(fn, mode): outdot="/tmp/out.dot", outgraph="/tmp/outgraph.pdf", package="AliRoot", - defaults="release") + defaults="release", + xdefaults=None) def fake_exists(n): diff --git a/tests/test_doctor.py b/tests/test_doctor.py index b0f29321..fa239ebf 100644 --- a/tests/test_doctor.py +++ b/tests/test_doctor.py @@ -90,7 +90,8 @@ def resetOut(): noSystem="*", architecture="osx_x86-64", disable=[], - defaults="release") + defaults="release", + xdefaults=None) # What to call (longer names deprecated in Python 3.5+) if not hasattr(self, "assertRegex"): diff --git a/tests/test_init.py b/tests/test_init.py index 15c00429..d3e470eb 100644 --- a/tests/test_init.py +++ b/tests/test_init.py @@ -47,7 +47,8 @@ def test_doDryRunInit(self, mock_os, mock_path, mock_info) -> None: defaults = "release", dryRun = True, fetchRepos = False, - architecture = "slc7_x86-64" + architecture = "slc7_x86-64", + xdefaults = None ) self.assertRaises(SystemExit, doInit, args) self.assertEqual(mock_info.mock_calls, [call('This will initialise local checkouts for %s\n--dry-run / -n specified. Doing nothing.', 'zlib,AliRoot')]) @@ -86,7 +87,8 @@ def test_doRealInit(self, mock_read_defaults, mock_open, mock_update_reference, defaults = "release", dryRun = False, fetchRepos = False, - architecture = "slc7_x86-64" + architecture = "slc7_x86-64", + xdefaults = None ) doInit(args) self.assertEqual(mock_git.mock_calls, CLONE_EVERYTHING)