TAP version 13 # Subtest: T-I1 bootstrap --instance creates each instance's config, root and marker once, and refuses what it must not claim # Subtest: alpha and beta get a 0700 config dir, a config naming ~/.mosaic-NAME, a 0700 root and a 0644 marker ok 1 - alpha and beta get a 0700 config dir, a config naming ~/.mosaic-NAME, a 0700 root and a 0644 marker --- duration_ms: 69.582432 type: 'test' ... # Subtest: under umask 077 the config and marker are 0600: the source honors the operator's umask ok 2 - under umask 077 the config and marker are 0600: the source honors the operator's umask --- duration_ms: 30.988222 type: 'test' ... # Subtest: a second bootstrap of each changes no byte, mode or mtime ok 3 - a second bootstrap of each changes no byte, mode or mtime --- duration_ms: 126.407068 type: 'test' ... # Subtest: a non-empty root without its own marker refuses before anything is written, worktrees included ok 4 - a non-empty root without its own marker refuses before anything is written, worktrees included --- duration_ms: 114.527324 type: 'test' ... # Subtest: an empty existing root is claimed, and an existing config whose root lost its marker refuses, not repairs ok 5 - an empty existing root is claimed, and an existing config whose root lost its marker refuses, not repairs --- duration_ms: 58.808827 type: 'test' ... # Subtest: a dangling symlink at the config path is never written through, named or default ok 6 - a dangling symlink at the config path is never written through, named or default --- duration_ms: 59.277357 type: 'test' ... # Subtest: bad names and stray arguments exit 4 and write nothing ok 7 - bad names and stray arguments exit 4 and write nothing --- duration_ms: 395.862858 type: 'test' ... # Subtest: --instance dev writes exactly what no flag writes ok 8 - --instance dev writes exactly what no flag writes --- duration_ms: 67.311064 type: 'test' ... 1..8 ok 1 - T-I1 bootstrap --instance creates each instance's config, root and marker once, and refuses what it must not claim --- duration_ms: 924.514263 type: 'test' ... # Subtest: T-I2 selection: the four rows of D1 through the instance op and through an entry point # Subtest: row 1: no flag and no MOSAIC_CONFIG is the default; a missing default config leaves the data root empty ok 1 - row 1: no flag and no MOSAIC_CONFIG is the default; a missing default config leaves the data root empty --- duration_ms: 91.846124 type: 'test' ... # Subtest: row 2: MOSAIC_CONFIG alone is that config with the default names ok 2 - row 2: MOSAIC_CONFIG alone is that config with the default names --- duration_ms: 47.276795 type: 'test' ... # Subtest: row 3: --instance NAME alone is NAME's config, root and suffix ok 3 - row 3: --instance NAME alone is NAME's config, root and suffix --- duration_ms: 56.626484 type: 'test' ... # Subtest: row 4: both must name one file; a symlink to it agrees, any other file exits 4 ok 4 - row 4: both must name one file; a symlink to it agrees, any other file exits 4 --- duration_ms: 356.088191 type: 'test' ... # Subtest: a named instance with no config exits 3 with its own bootstrap hint ok 5 - a named instance with no config exits 3 with its own bootstrap hint --- duration_ms: 24.352924 type: 'test' ... # Subtest: an entry point takes --instance in any position, once, and refuses a mismatch before it prints ok 6 - an entry point takes --instance in any position, once, and refuses a mismatch before it prints --- duration_ms: 163.941041 type: 'test' ... # Subtest: copy takes no --instance in either script: every instance shares the copies ok 7 - copy takes no --instance in either script: every instance shares the copies --- duration_ms: 16.933531 type: 'test' ... 1..7 ok 2 - T-I2 selection: the four rows of D1 through the instance op and through an entry point --- duration_ms: 823.356097 type: 'test' ... # Subtest: T-I7 claims: the instance op refuses a root another instance claims, and a named root with no marker # Subtest: alpha's config pointing at beta's root refuses instance-root-mismatch in every op ok 1 - alpha's config pointing at beta's root refuses instance-root-mismatch in every op --- duration_ms: 131.805358 type: 'test' ... # Subtest: MOSAIC_CONFIG naming alpha's config with no flag refuses: the root is alpha's ok 2 - MOSAIC_CONFIG naming alpha's config with no flag refuses: the root is alpha's --- duration_ms: 27.772833 type: 'test' ... # Subtest: a default config whose root carries alpha's marker refuses; one naming dev, or none, passes ok 3 - a default config whose root carries alpha's marker refuses; one naming dev, or none, passes --- duration_ms: 74.983068 type: 'test' ... # Subtest: a named root whose marker is missing, a symlink, unparsable or the wrong shape refuses instance-root-unclaimed ok 4 - a named root whose marker is missing, a symlink, unparsable or the wrong shape refuses instance-root-unclaimed --- duration_ms: 212.912247 type: 'test' ... 1..4 ok 3 - T-I7 claims: the instance op refuses a root another instance claims, and a named root with no marker --- duration_ms: 509.310028 type: 'test' ... # Subtest: T-I5 two real bus hosts, one per instance, run at once and each answers from its own socket under its own root ok 4 - T-I5 two real bus hosts, one per instance, run at once and each answers from its own socket under its own root --- duration_ms: 1392.723652 type: 'test' ... # Subtest: T-I10 the guard protects every instance's config dir and data roots, even under a corrupt config ok 5 - T-I10 the guard protects every instance's config dir and data roots, even under a corrupt config --- duration_ms: 81.024949 type: 'test' ... 1..5 # tests 24 # suites 0 # pass 24 # fail 0 # cancelled 0 # skipped 0 # todo 0 # duration_ms 3829.565476