Запуск дочернего процесса в Jasmine дает непоследовательные результаты на основе команды оболочки - PullRequest
0 голосов
/ 23 марта 2019

У меня есть следующий код для выполнения команды оболочки в Jasmine.Если я изменю «ps» на что-то вроде «pwd», это сработает.Я вижу стандартный вывод и код выхода, но не вижу ни одного, если использую определенные команды, такие как "ps".Я действительно пытаюсь запустить отдельную программу, которая делает HTTP-вызовы и печатает несколько операторов, которые не работали, поэтому я переключился на эти команды оболочки.Если я возьму код из Жасмин, любая из команд сработает.

const path = require('path');
const AWS = require('aws-sdk-mock');
const uuid = require('uuid');
const bluebird = require('bluebird');

AWS.setSDK(path.resolve('./node_modules/aws-sdk'));

const child_process = require('child_process');
const lambda = require('../../index.js');

describe('MEDIAINFO INTEGRATION TESTS', () => {
  console.log('TEST***');
  it('mp4', () => {
    console.log('1TEST***');
    /*     const cmd = 'sam local invoke "tfdefaultroutefile" -e ./spec/int/mp4_event.json'; */
    const cmd = 'ps';
    child_process
      .exec(cmd, (err, stdout, stderr) => {
        console.log(`stdout is:${stdout}`);
        console.log(`stderr is:${stderr}`);
        console.log(`error is:${err}`);
      })
      .on('exit', code => console.log('final exit code is', code));
  }, 20000);
});
...