You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					54 lines
				
				1.5 KiB
			
		
		
			
		
	
	
					54 lines
				
				1.5 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								// the fixtures have some weird stuff that is painful
							 | 
						||
| 
								 | 
							
								// to include directly in the repo for various reasons.
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								// So, unpack the fixtures with the system tar first.
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								// This means, of course, that it'll only work if you
							 | 
						||
| 
								 | 
							
								// already have a tar implementation, and some of them
							 | 
						||
| 
								 | 
							
								// will not properly unpack the fixtures anyway.
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								// But, since usually those tests will fail on Windows
							 | 
						||
| 
								 | 
							
								// and other systems with less capable filesystems anyway,
							 | 
						||
| 
								 | 
							
								// at least this way we don't cause inconveniences by
							 | 
						||
| 
								 | 
							
								// merely cloning the repo or installing the package.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var tap = require("tap")
							 | 
						||
| 
								 | 
							
								, child_process = require("child_process")
							 | 
						||
| 
								 | 
							
								, rimraf = require("rimraf")
							 | 
						||
| 
								 | 
							
								, test = tap.test
							 | 
						||
| 
								 | 
							
								, path = require("path")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test("clean fixtures", function (t) {
							 | 
						||
| 
								 | 
							
								  rimraf(path.resolve(__dirname, "fixtures"), function (er) {
							 | 
						||
| 
								 | 
							
								    t.ifError(er, "rimraf ./fixtures/")
							 | 
						||
| 
								 | 
							
								    t.end()
							 | 
						||
| 
								 | 
							
								  })
							 | 
						||
| 
								 | 
							
								})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test("clean tmp", function (t) {
							 | 
						||
| 
								 | 
							
								  rimraf(path.resolve(__dirname, "tmp"), function (er) {
							 | 
						||
| 
								 | 
							
								    t.ifError(er, "rimraf ./tmp/")
							 | 
						||
| 
								 | 
							
								    t.end()
							 | 
						||
| 
								 | 
							
								  })
							 | 
						||
| 
								 | 
							
								})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test("extract fixtures", function (t) {
							 | 
						||
| 
								 | 
							
								  var c = child_process.spawn("tar"
							 | 
						||
| 
								 | 
							
								                             ,["xzvf", "fixtures.tgz"]
							 | 
						||
| 
								 | 
							
								                             ,{ cwd: __dirname })
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  c.stdout.on("data", errwrite)
							 | 
						||
| 
								 | 
							
								  c.stderr.on("data", errwrite)
							 | 
						||
| 
								 | 
							
								  function errwrite (chunk) {
							 | 
						||
| 
								 | 
							
								    process.stderr.write(chunk)
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  c.on("exit", function (code) {
							 | 
						||
| 
								 | 
							
								    t.equal(code, 0, "extract fixtures should exit with 0")
							 | 
						||
| 
								 | 
							
								    if (code) {
							 | 
						||
| 
								 | 
							
								      t.comment("Note, all tests from here on out will fail because of this.")
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    t.end()
							 | 
						||
| 
								 | 
							
								  })
							 | 
						||
| 
								 | 
							
								})
							 |