Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fix #3407 os.tmpDir()

  • Loading branch information...
commit a11bf99ce0dae4d8f4de8a9c0c32159c1a9ecfbf 1 parent 0dba4ad
@isaacs authored
Showing with 25 additions and 0 deletions.
  1. +4 −0 doc/api/os.markdown
  2. +9 −0 lib/os.js
  3. +12 −0 test/simple/test-os.js
View
4 doc/api/os.markdown
@@ -6,6 +6,10 @@ Provides a few basic operating-system related utility functions.
Use `require('os')` to access this module.
+## os.tmpDir()
+
+Returns the operating system's default directory for temp files.
+
## os.hostname()
Returns the hostname of the operating system.
View
9 lib/os.js
@@ -30,13 +30,22 @@ exports.cpus = binding.getCPUs;
exports.type = binding.getOSType;
exports.release = binding.getOSRelease;
exports.networkInterfaces = binding.getInterfaceAddresses;
+
exports.arch = function() {
return process.arch;
};
+
exports.platform = function() {
return process.platform;
};
+exports.tmpDir = function() {
+ return process.env.TMPDIR ||
+ process.env.TMP ||
+ process.env.TEMP ||
+ (process.platform === 'win32' ? 'c:\\windows\\temp' : '/tmp');
+};
+
exports.getNetworkInterfaces = function() {
return exports.networkInterfaces();
};
View
12 test/simple/test-os.js
@@ -27,6 +27,18 @@ var assert = require('assert');
var os = require('os');
+process.env.TMPDIR = '/tmpdir';
+process.env.TMP = '/tmp';
+process.env.TEMP = '/temp';
+var t = ( process.platform === 'win32' ? 'c:\\windows\\temp' : '/tmp' );
+assert.equal(os.tmpDir(), '/tmpdir');
+process.env.TMPDIR = '';
+assert.equal(os.tmpDir(), '/tmp');
+process.env.TMP = '';
+assert.equal(os.tmpDir(), '/temp');
+process.env.TEMP = '';
+assert.equal(os.tmpDir(), t);
+
var hostname = os.hostname();
console.log('hostname = %s', hostname);
assert.ok(hostname.length > 0);
Please sign in to comment.
Something went wrong with that request. Please try again.