Skip to content

Commit 4f2ac0c

Browse files
committed
Fix "created" filter
1 parent d030bd9 commit 4f2ac0c

File tree

2 files changed

+29
-16
lines changed

2 files changed

+29
-16
lines changed

lib/pavilion/cmd_utils.py

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -140,14 +140,28 @@ def arg_filtered_tests(pav_cfg: "PavConfig", args: argparse.Namespace,
140140

141141
args.tests = ids
142142

143-
if 'all' in args.tests:
144-
for arg, default in filters.TEST_FILTER_DEFAULTS.items():
145-
if hasattr(args, arg) and default != getattr(args, arg):
146-
break
143+
has_filter_defaults = False
144+
145+
for arg, default in filters.TEST_FILTER_DEFAULTS.items():
146+
if hasattr(args, arg) and default != getattr(args, arg):
147+
has_filter_defaults = True
148+
break
149+
150+
# "all" takes priority over everything else
151+
if "all" in args.tests:
152+
args.tests = ["all"]
153+
elif "last" in args.tests:
154+
args.tests = ["last"]
155+
elif len(args.tests) == 0:
156+
if has_filter_defaults or args.filter is not None:
157+
args.tests = ["all"]
147158
else:
148-
output.fprint(verbose, "Using default search filters: The current system, user, and "
149-
"created less than 1 day ago.", color=output.CYAN)
150-
args.filter = make_filter_query()
159+
args.tests = ["last"]
160+
161+
if "all" in args.tests and args.filter is not None and not has_filter_defaults:
162+
output.fprint(verbose, "Using default search filters: The current system, user, and "
163+
"created less than 1 day ago.", color=output.CYAN)
164+
args.filter = make_filter_query()
151165

152166
if args.filter is None:
153167
filter_func = filters.const(True) # Always return True
@@ -156,7 +170,7 @@ def arg_filtered_tests(pav_cfg: "PavConfig", args: argparse.Namespace,
156170

157171
order_func, order_asc = filters.get_sort_opts(sort_by, "TEST")
158172

159-
if 'all' in args.tests:
173+
if "all" in args.tests:
160174
tests = dir_db.SelectItems([], [])
161175
working_dirs = set(map(lambda cfg: cfg['working_dir'],
162176
pav_cfg.configs.values()))
@@ -177,9 +191,6 @@ def arg_filtered_tests(pav_cfg: "PavConfig", args: argparse.Namespace,
177191

178192
return tests
179193

180-
if not args.tests:
181-
args.tests.append('last')
182-
183194
test_paths = test_list_to_paths(pav_cfg, args.tests, verbose)
184195

185196
return dir_db.select_from(
@@ -194,13 +205,15 @@ def arg_filtered_tests(pav_cfg: "PavConfig", args: argparse.Namespace,
194205

195206

196207
def make_filter_query() -> str:
197-
template = 'user={} and created<{}'
208+
"""Construct the default filter query, which targets tests created
209+
by the current user on the current system more recently than 1 day ago."""
210+
211+
template = 'user={} and created>1 day'
198212

199213
user = utils.get_login()
200-
time = (dt.datetime.now() - dt.timedelta(days=1)).isoformat()
201214
sysname = sys_vars.get_vars(defer=True).get('sys_name')
202215

203-
fargs = [user, time]
216+
fargs = [user]
204217

205218
if sysname is not None and len(sysname) > 0:
206219
template += ' and sys_name={}'

lib/pavilion/filters/filters.lark

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ keyword: NAME
3030
| duration
3131

3232
// Lark's INTs are restricted to non-negative values
33-
duration: INT [WS] unit ["s"]
33+
duration: INT unit ["s"]
3434

35-
unit: SECOND
35+
?unit: SECOND
3636
| MINUTE
3737
| HOUR
3838
| DAY

0 commit comments

Comments
 (0)