Skip to content

Commit 3b04b0e

Browse files
saurabhkpateldbieber
authored andcommitted
Fixes part of google#51: uses os.path.basename(sys.argv[0]) as default program name (google#59)
* Uses os.path.basename(sys.argv[0]) for default program name
1 parent b76f1c3 commit 3b04b0e

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

fire/core.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ def main(argv):
5454

5555
import inspect
5656
import json
57+
import os
5758
import pipes
5859
import shlex
5960
import sys
@@ -100,7 +101,7 @@ def Fire(component=None, command=None, name=None):
100101
# Get args as a list.
101102
if command is None:
102103
# Use the command line args by default if no command is specified.
103-
name = name or sys.argv[0]
104+
name = name or os.path.basename(sys.argv[0])
104105
args = sys.argv[1:]
105106
else:
106107
# Otherwise use the specified command.

fire/fire_test.py

+10
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from __future__ import division
1919
from __future__ import print_function
2020

21+
import os
2122
import sys
2223
import unittest
2324

@@ -43,6 +44,15 @@ def testFire(self):
4344
self.assertEqual(fire.Fire(tc.OldStyleWithDefaults, 'double 2'), 4)
4445
self.assertEqual(fire.Fire(tc.OldStyleWithDefaults, 'triple 4'), 12)
4546

47+
def testFireDefaultBaseName(self):
48+
with mock.patch.object(sys, 'argv',
49+
[os.path.join('python-fire', 'fire',
50+
'base_filename.py')]):
51+
# positive case
52+
with self.assertOutputMatches(stdout='Usage: base_filename.py',
53+
stderr=None):
54+
fire.Fire(tc.Empty)
55+
4656
def testFireNoArgs(self):
4757
self.assertEqual(fire.Fire(tc.MixedDefaults, 'ten'), 10)
4858

0 commit comments

Comments
 (0)