import {readFileSync} from 'node:fs'; import {join} from 'node:path'; import {runqueueGuestServicesSources} from './runqueue-guest-services-sources.mjs'; export const waitGuestServicesRust=['context','queue','backend','bridge','ingress','tests'].map(n=>'scripts/os-acceptance/wait-guest-services-'+n+'.rs'); export function waitGuestServicesSources(root,overrides=new Map()){ const read=p=>overrides.get(p)??readFileSync(join(root,p),'utf8'); const map=runqueueGuestServicesSources(root); for(const[p,s]of map)map.set(p,s.replaceAll('turkos_os_runqueue_guest_services','turkos_os_wait_guest_services').replaceAll('turkos-os-runqueue-guest-services','turkos-os-wait-guest-services')); for(const[m,n]of[['context','context'],['runqueue','queue'],['backend','backend']])map.set('src/'+m+'.rs',map.get('src/'+m+'.rs')+'\n'+read('scripts/os-acceptance/wait-guest-services-'+n+'.rs')); for(const n of['bridge','ingress'])map.set('src/'+n+'.rs',read('scripts/os-acceptance/wait-guest-services-'+n+'.rs')); map.set('src/lib.rs',map.get('src/lib.rs')+'pub mod bridge;\npub mod ingress;\n'); map.set('Cargo.toml',map.get('Cargo.toml').replace('[dependencies]','[dependencies]\nturkos-os-thread-wait={path="../os-thread-wait"}')); return map; }