tcmIn
uses node:child_process
Run tcm in dir: its exit status, and what it printed on both streams.
import { plainEnv, strip, tcmBin } from "#codebase/tcmts/cli/test/e2e/harness"; import { spawnSync } from "node:child_process"; export function tcmIn(dir: string, ...args: string[]): { status: number | null; out: string } { const r = spawnSync(process.execPath, [tcmBin(), ...args], { cwd: dir, encoding: "utf8", env: plainEnv() }); return { status: r.status, out: strip(r.stdout + r.stderr) }; }
uses
- tcmts.cli.test.e2e.harness.plainEnv
- tcmts.cli.test.e2e.harness.strip
- tcmts.cli.test.e2e.harness.tcmBin
used by
- tcmts.cli.test.e2e.cli.inDir
- tcmts.cli.test.e2e.cli.testABadArgumentShowsTheUsage
- tcmts.cli.test.e2e.cli.testDirectoryOption
- tcmts.cli.test.e2e.cli.testDoubledHashAndGrep
- tcmts.cli.test.e2e.cli.testHistoryNamesAndLimits
- tcmts.cli.test.e2e.cli.testPatchTakesOldAndNewAsWritten
- tcmts.cli.test.e2e.cli.testSearchTakesPatternsAsGrepDoes
- tcmts.cli.test.e2e.cli.testStatusAtPatchAndFiles
- tcmts.cli.test.e2e.cli.testTodoCountsWhatsBroken
- tcmts.cli.test.e2e.cycles.testCycleUpdatedWhole
- tcmts.cli.test.e2e.data.testMigrationsUniqueIndexesUpdates
- tcmts.cli.test.e2e.debug.testEachBranchHasItsOwnViews
- tcmts.cli.test.e2e.debug.testStackTracesPointAtDefinitions
- tcmts.cli.test.e2e.e2e.testPatchCodeAndPagesTogether
- tcmts.cli.test.e2e.e2e.testPatchSeveralAtOnce
- tcmts.cli.test.e2e.e2e.testRemoveWhatUsesItTogether
- tcmts.cli.test.e2e.e2e.testTypeChangeThroughAName
- tcmts.cli.test.e2e.editing.testCheckImportsWhatItUses
- tcmts.cli.test.e2e.editing.testCycleMatesKeepTheirFunctionNames
- tcmts.cli.test.e2e.editing.testEditNeverRenamesAFunction
- tcmts.cli.test.e2e.editing.testImportsUsingWhatChangesSavedWithIt
- tcmts.cli.test.e2e.editing.testNothingLeftToFixAfterGoingBack
- tcmts.cli.test.e2e.editing.testPatchAddsImportsItsGiven
- tcmts.cli.test.e2e.editing.testPatchSaysPlacesAsTheViewNumbersThem
- tcmts.cli.test.e2e.editing.testPatchTakesTemplateLiteralEscapesEitherWay
- tcmts.cli.test.e2e.editing.testSyntaxErrorIsSaidAlone
- tcmts.cli.test.e2e.editing.testTodoIsEditedAgainstWhatReplacedItsUses
- tcmts.cli.test.e2e.files.testEditDoesNotOverwriteTheCodebasesConfig
- tcmts.cli.test.e2e.files.testPagesAreDefinitions
- tcmts.cli.test.e2e.find.testFindByType
- tcmts.cli.test.e2e.harness.okIn
- tcmts.cli.test.e2e.history.codebase
- tcmts.cli.test.e2e.lint.setUp
- tcmts.cli.test.e2e.mcp.testSessionsLeftBehindAreClearedAway
- tcmts.cli.test.e2e.merge.testAMergeLeftToSettleWaitsApart
- tcmts.cli.test.e2e.merge.testAbortDropsAMergeNotFinished
- tcmts.cli.test.e2e.merge.testConflictFileImportsWhatItsCodeUses
- tcmts.cli.test.e2e.merge.testConflictMarkersRoundTrip
- tcmts.cli.test.e2e.merge.testConflictUsingAnotherConflict
- tcmts.cli.test.e2e.merge.testConflictedDefinitionsAreRederived
- tcmts.cli.test.e2e.merge.testCrissCrossMerge
- tcmts.cli.test.e2e.merge.testDeletedNameStillUsedIsKept
- tcmts.cli.test.e2e.merge.testLandingMergesMainIntoTheBranchFirst
- tcmts.cli.test.e2e.merge.testLeftoverScratchFileIsReplaced
- tcmts.cli.test.e2e.merge.testMergeAfterASquashedLandingLeavesNothingStale
- tcmts.cli.test.e2e.merge.testMergeOfAChangeBothSidesMadeLeavesNothingStale
- tcmts.cli.test.e2e.merge.testPageConflictMarkers
- tcmts.cli.test.e2e.merge.testPageConflictWithImporter
- tcmts.cli.test.e2e.merge.testResolveBySide
- tcmts.cli.test.e2e.merge.testResolveRepointsDependents
- tcmts.cli.test.e2e.merge.testSharedDependencyChangedOnBothSides
- tcmts.cli.test.e2e.merge.testTextMergeThatDoesntTypecheckIsQuiet
- tcmts.cli.test.e2e.merge.testThreeWayMerge
- tcmts.cli.test.e2e.merge.testViewNamesWhatTheOtherSideUses
- tcmts.cli.test.e2e.merge.withConflicts
- tcmts.cli.test.e2e.migrate.testMigrateKeepsEverything
- tcmts.cli.test.e2e.migrate.testMigrateRefusesANewerFormat
- tcmts.cli.test.e2e.packages.setUp
- tcmts.cli.test.e2e.prod.testStaticSitesAndPwas
- tcmts.cli.test.e2e.react.testRolesAndHostProtocols
- tcmts.cli.test.e2e.suites.testSuiteRunKeepsWhatASaveReplacedMeanwhile
- tcmts.cli.test.e2e.suites.testSuitesFollowMethodsAndConstantsTheyRead
- tcmts.cli.test.e2e.suites.testSuitesOrDefinitionsAlone
- tcmts.cli.test.e2e.suites.testSuitesRunAgainOnlyWhenCodeTheyRanChanged
- tcmts.cli.test.e2e.vitest.setUp
- tcmts.cli.test.e2e.watch.setUp