Compare commits

...

3 Commits

Author SHA1 Message Date
a8e4ba10f5 ...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
2025-12-26 19:31:54 +03:00
31eb2f4b19 bugfix...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
2025-12-26 16:49:53 +03:00
058db76618 bugfix...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
2025-12-26 16:24:20 +03:00
2 changed files with 38 additions and 28 deletions

View File

@ -1,6 +1,6 @@
{
"name": "ig-test",
"version": "1.6.0",
"version": "1.6.2",
"description": "experimental test runner....",
"main": "test.js",
"bin": {

64
test.js
View File

@ -614,9 +614,12 @@ async function(spec, chain, stats, mod_chain_length=1){
var chain_length = chain.length
var setup = chain.shift() || '*'
var test = chain.pop() || '*'
var mod = chain.pop() || '*'
var mod = chain || '*'
mod = chain_length == 2 ?
'as-is'
'as-is'
: mod.length == 1
&& mod[0] == '*' ?
'*'
: mod
// get the tests...
@ -651,38 +654,45 @@ async function(spec, chain, stats, mod_chain_length=1){
false
: (test == '*'
|| test == t) ) })
if(mod_chain_length <= 0){
var mod_queue = []
} else {
var mod_queue = object.deepKeys(modifiers)
.filter(function(m){
return typeof(modifiers[m]) == 'function'
&& (mod == '*' || mod == m) })
.map(function(m){
return [m] })
// modifier chains...
for(var i=1; i < mod_chain_length; i++){
mod_queue = [
...mod_queue,
...mod_queue
.map(function(m){
return mod_queue
.map(function(mm){
return [...m, ...mm] }) })
.flat()] } }
var mod_queue = []
if(mod_chain_length > 0){
if(mod instanceof Array){
mod_queue = [mod]
} else {
mod_queue = object.deepKeys(modifiers)
.filter(function(m){
return typeof(modifiers[m]) == 'function'
&& (mod == '*' || mod == m) })
.map(function(m){
return [m] })
// modifier chains...
for(var i=1; i < mod_chain_length; i++){
mod_queue = [
...mod_queue,
...mod_queue
.map(function(m){
return mod_queue
.map(function(mm){
return [...m, ...mm] }) })
.flat()] } } }
var setup_queue = object.deepKeys(setups)
.filter(function(s){
return typeof(setups[s]) == 'function'
&& (setup == '*' || setup == s) })
// XXX this breaks if mod_queue is empty...
var queue =
chain_length != 1 ?
test_queue
.map(function(t){
return mod_queue
.map(function(m){
return setup_queue
.map(function(s){
return [s, m, t] }) }) })
return mod_queue.length == 0 ?
setup_queue
.map(function(s){
return [[s, [], t]] })
: mod_queue
.map(function(m){
return setup_queue
.map(function(s){
return [s, m, t] }) }) })
.flat(2)
: []
// NOTE: we are not running these via .map(..) to keep things in
@ -1072,4 +1082,4 @@ typeof(__filename) != 'undefined'
/**********************************************************************
* vim:set ts=4 sw=4 : */ return module })
* vim:set ts=4 sw=4 nowrap : */ return module })