Welcome to the Linux Foundation Forum!
assert stream run the code, why ?
                
                    djedje                
                
                    Posts: 20                
            
                        
            Hello,
In a single module, i run 2 streams one to UpperCase the entries of the __dirname and a second reverse them. Running the program works fine.
In a separate file i run 2 tests (one for each transform stream), the tests pass BUT it run the program as well, i don t understand that ??
see the main file (running node myfile.js works)
const fs = require('fs')
const { pipeline, Transform, Readable } = require('stream')
const createUppercase = () => {
    return new Transform({
        objectMode: true,
        transform(chunk, enc, next) {
            // console.log(chunk)
            next(null, chunk.name.toUpperCase())
        }
    })
}
const createReverse = () => {
    return new Transform({
        objectMode: true,
        transform(chunk, enc, next) {
            // console.log(chunk)
            next(null, chunk.name.split("").reverse().join(""))
        }
    })
}
module.exports = { createUppercase, createReverse }
// upper case the dir entries
const cu = createUppercase()
fs.opendir(__dirname, (e,d) => {
    pipeline(d, cu, e => console.error("pipe error first: ", e))
})
cu.on('data', d => console.log(d))
// reverse the dir entries
const cr = createReverse()
fs.opendir(__dirname, (e,d) => {
    pipeline(d, cr, e => console.error("pipe error second: ", e))
})
cr.on('data', d => console.log(d))
see the tests file
const { pipeline, Readable } = require('stream')
const assert = require('assert')
const { createUppercase, createReverse } = require('./repeat')
const test = createUppercase()
const t = Readable.from([{name:'aaa'}, {name:'bbb'}])
t.pipe(test)
test.once('data', d => {
    assert.equal(d, 'AAA')
    test.once('data', d => {
        assert.equal(d, 'BBB')
        console.log('test upper passed')
    })
})
const testR = createReverse()
const rr = Readable.from([{name:'qwerty'}, {name: 'asdfgh'}])
rr.pipe(testR)
testR.once('data', d => {
    assert.strictEqual(d, 'ytrewq')
    testR.once('data', d => {
        assert.strictEqual(d, 'hgfdsa')
        console.log('test reverse passed')
    })
})
running the test (node test.js) output the following
as you can see the tests pass, but the code is executed as well ..... ??? does someone have an idea why ? Thank you.
test upper passed test reverse passed TRY .GIT LABS REPEAT.JS CLIENT.JS COURS TEST.JS NODESHELLCMD.ODT yrt tig. sbal sj.taeper sj.tneilc sruoc sj.tset tdo.dmCllehSedon pipe error first: undefined pipe error second: undefined
0      
            Comments
- 
            
@djedje the tests are running your exported functions, but you're also running them in the module. So they're running twice.
1 - 
            
@davidmarkclements, thank you.
0 - 
            
@djedje np, glad it helped
0 
Categories
- All Categories
 - 158 LFX Mentorship
 - 158 LFX Mentorship: Linux Kernel
 - 850 Linux Foundation IT Professional Programs
 - 389 Cloud Engineer IT Professional Program
 - 186 Advanced Cloud Engineer IT Professional Program
 - 88 DevOps Engineer IT Professional Program
 - 156 Cloud Native Developer IT Professional Program
 - 152 Express Training Courses & Microlearning
 - 149 Express Courses - Discussion Forum
 - 3 Microlearning - Discussion Forum
 - 7.2K Training Courses
 - 50 LFC110 Class Forum - Discontinued
 - 74 LFC131 Class Forum
 - 56 LFD102 Class Forum
 - 258 LFD103 Class Forum
 - 27 LFD110 Class Forum
 - 50 LFD121 Class Forum
 - 3 LFD123 Class Forum
 - 1 LFD125 Class Forum
 - 19 LFD133 Class Forum
 - 10 LFD134 Class Forum
 - 19 LFD137 Class Forum
 - 1 LFD140 Class Forum
 - 73 LFD201 Class Forum
 - 8 LFD210 Class Forum
 - 6 LFD210-CN Class Forum
 - 2 LFD213 Class Forum - Discontinued
 - LFD221 Class Forum
 - 128 LFD232 Class Forum - Discontinued
 - 3 LFD233 Class Forum
 - 5 LFD237 Class Forum
 - 25 LFD254 Class Forum
 - 749 LFD259 Class Forum
 - 111 LFD272 Class Forum - Discontinued
 - 4 LFD272-JP クラス フォーラム - Discontinued
 - 16 LFD273 Class Forum
 - 468 LFS101 Class Forum
 - 4 LFS111 Class Forum
 - 4 LFS112 Class Forum
 - 5 LFS116 Class Forum
 - 9 LFS118 Class Forum
 - 2 LFS120 Class Forum
 - LFS140 Class Forum
 - 12 LFS142 Class Forum
 - 9 LFS144 Class Forum
 - 6 LFS145 Class Forum
 - 6 LFS146 Class Forum
 - 7 LFS147 Class Forum
 - 21 LFS148 Class Forum
 - 17 LFS151 Class Forum
 - 6 LFS157 Class Forum
 - 91 LFS158 Class Forum
 - 1 LFS158-JP クラス フォーラム
 - 14 LFS162 Class Forum
 - 2 LFS166 Class Forum - Discontinued
 - 9 LFS167 Class Forum
 - 5 LFS170 Class Forum
 - 2 LFS171 Class Forum - Discontinued
 - 4 LFS178 Class Forum - Discontinued
 - 4 LFS180 Class Forum
 - 3 LFS182 Class Forum
 - 7 LFS183 Class Forum
 - 2 LFS184 Class Forum
 - 41 LFS200 Class Forum
 - 737 LFS201 Class Forum - Discontinued
 - 3 LFS201-JP クラス フォーラム - Discontinued
 - 23 LFS203 Class Forum
 - 141 LFS207 Class Forum
 - 3 LFS207-DE-Klassenforum
 - 3 LFS207-JP クラス フォーラム
 - 302 LFS211 Class Forum - Discontinued
 - 56 LFS216 Class Forum - Discontinued
 - 60 LFS241 Class Forum
 - 51 LFS242 Class Forum
 - 39 LFS243 Class Forum
 - 17 LFS244 Class Forum
 - 8 LFS245 Class Forum
 - 1 LFS246 Class Forum
 - 1 LFS248 Class Forum
 - 124 LFS250 Class Forum
 - 3 LFS250-JP クラス フォーラム
 - 2 LFS251 Class Forum
 - 163 LFS253 Class Forum
 - 1 LFS254 Class Forum - Discontinued
 - 3 LFS255 Class Forum
 - 15 LFS256 Class Forum
 - 2 LFS257 Class Forum
 - 1.4K LFS258 Class Forum
 - 12 LFS258-JP クラス フォーラム
 - 142 LFS260 Class Forum
 - 165 LFS261 Class Forum
 - 45 LFS262 Class Forum
 - 82 LFS263 Class Forum - Discontinued
 - 15 LFS264 Class Forum - Discontinued
 - 11 LFS266 Class Forum - Discontinued
 - 25 LFS267 Class Forum
 - 27 LFS268 Class Forum
 - 38 LFS269 Class Forum
 - 11 LFS270 Class Forum
 - 202 LFS272 Class Forum - Discontinued
 - 2 LFS272-JP クラス フォーラム - Discontinued
 - 2 LFS274 Class Forum - Discontinued
 - 4 LFS281 Class Forum - Discontinued
 - 30 LFW111 Class Forum
 - 265 LFW211 Class Forum
 - 190 LFW212 Class Forum
 - 17 SKF100 Class Forum
 - 2 SKF200 Class Forum
 - 3 SKF201 Class Forum
 - 800 Hardware
 - 200 Drivers
 - 68 I/O Devices
 - 37 Monitors
 - 104 Multimedia
 - 175 Networking
 - 92 Printers & Scanners
 - 85 Storage
 - 765 Linux Distributions
 - 82 Debian
 - 67 Fedora
 - 20 Linux Mint
 - 13 Mageia
 - 23 openSUSE
 - 149 Red Hat Enterprise
 - 31 Slackware
 - 13 SUSE Enterprise
 - 356 Ubuntu
 - 472 Linux System Administration
 - 39 Cloud Computing
 - 71 Command Line/Scripting
 - Github systems admin projects
 - 96 Linux Security
 - 78 Network Management
 - 102 System Management
 - 48 Web Management
 - 74 Mobile Computing
 - 19 Android
 - 42 Development
 - 1.2K New to Linux
 - 1K Getting Started with Linux
 - 388 Off Topic
 - 121 Introductions
 - 178 Small Talk
 - 28 Study Material
 - 877 Programming and Development
 - 312 Kernel Development
 - 547 Software Development
 - 1.8K Software
 - 270 Applications
 - 183 Command Line
 - 5 Compiling/Installing
 - 988 Games
 - 320 Installation
 - 109 All In Program
 - 109 All In Forum
 
Upcoming Training
-   
  			August 20, 2018
  			
Kubernetes Administration (LFS458)
 -   
   	    August 20, 2018
   	     
Linux System Administration (LFS301)
 -   
  	  August 27, 2018    
			
Open Source Virtualization (LFS462)
 -   
			August 27, 2018
			
Linux Kernel Debugging and Security (LFD440)
 
