Permalink
Browse files

opy.ovm --version now works.

Move common code to util.py.

Add a test.
  • Loading branch information...
Andy Chu
Andy Chu committed Mar 4, 2018
1 parent 71deba8 commit 2eaaa4904cecfcdde18a17577f54b96e3b702b3f
Showing with 70 additions and 37 deletions.
  1. +1 −34 bin/oil.py
  2. +8 −2 bin/opy_.py
  3. +41 −1 core/util.py
  4. +20 −0 test/opy.sh
View
@@ -50,7 +50,6 @@ def _tlog(msg):
_tlog('before imports')
import errno
import platform
#import traceback # for debugging
# Set in Modules/main.c.
@@ -148,39 +147,7 @@ def InteractiveLoop(opts, ex, c_parser, w_parser, line_reader):
def _ShowVersion():
loader = util.GetResourceLoader()
f = loader.open('oil-version.txt')
version = f.readline().strip()
f.close()
try:
f = loader.open('release-date.txt')
except IOError:
release_date = '-' # in dev tree
else:
release_date = f.readline().strip()
finally:
f.close()
try:
f = loader.open('pyc-version.txt')
except IOError:
pyc_version = '-' # in dev tree
else:
pyc_version = f.readline().strip()
finally:
f.close()
# What C functions do these come from?
print('Oil version %s' % version)
print('Release Date: %s' % release_date)
print('Arch: %s' % platform.machine())
print('OS: %s' % platform.system())
print('Platform: %s' % platform.version())
print('Compiler: %s' % platform.python_compiler())
print('Interpreter: %s' % platform.python_implementation())
print('Interpreter version: %s' % platform.python_version())
print('Bytecode: %s' % pyc_version)
util.ShowAppVersion('Oil')
def OshMain(argv0, argv, login_shell):
View
@@ -11,6 +11,7 @@
sys.path.append(os.path.join(this_dir, '..'))
from core import args
from core import util
from opy.util_opy import log
from opy import opy_main
@@ -20,9 +21,13 @@
_OPY_USAGE = 'Usage: opy_ MAIN [OPTION]... [ARG]...'
def _ShowVersion():
util.ShowAppVersion('OPy')
# Run the bytecode too. Should this have an option to use byterun?
def OpyMain(argv0, main_argv):
raise NotImplementedError('opy not implemented')
raise NotImplementedError("Can't run bytecode yet")
def AppBundleMain(argv):
@@ -37,7 +42,8 @@ def AppBundleMain(argv):
# TODO: We don't have this
if first_arg in ('-h', '--help'):
builtin.Help(['bundle-usage'], util.GetResourceLoader())
#builtin.Help(['bundle-usage'], util.GetResourceLoader())
raise NotImplementedError('OPy help not implemented')
sys.exit(0)
if first_arg in ('-V', '--version'):
View
@@ -15,7 +15,8 @@
import cStringIO
import os
import pwd
import platform
import pwd # TODO: Move this dependency to Oil?
import sys
if not os.getenv('_OVM_DEPS'):
@@ -223,3 +224,42 @@ def GetResourceLoader():
_loader = _FileResourceLoader(sys.argv[0])
return _loader
def ShowAppVersion(app_name):
"""For Oil and OPy."""
loader = GetResourceLoader()
f = loader.open('oil-version.txt')
version = f.readline().strip()
f.close()
try:
f = loader.open('release-date.txt')
except IOError:
release_date = '-' # in dev tree
else:
release_date = f.readline().strip()
finally:
f.close()
try:
f = loader.open('pyc-version.txt')
except IOError:
pyc_version = '-' # in dev tree
else:
pyc_version = f.readline().strip()
finally:
f.close()
# What C functions do these come from?
print('%s version %s' % (app_name, version))
print('Release Date: %s' % release_date)
print('Arch: %s' % platform.machine())
print('OS: %s' % platform.system())
print('Platform: %s' % platform.version())
print('Compiler: %s' % platform.python_compiler())
print('Interpreter: %s' % platform.python_implementation())
print('Interpreter version: %s' % platform.python_version())
print('Bytecode: %s' % pyc_version)
View
@@ -15,6 +15,9 @@ usage() {
bin/opy_.py
test $? -eq 2 || fail
bin/opy_.py --version
test $? -eq 0 || fail
#bin/opy
#test $? -eq 2 || fail
@@ -23,6 +26,23 @@ usage() {
bin/opyc invalid
test $? -eq 2 || fail
# TODO: --help, --version everywhere.
#bin/opy_.py --help
#test $? -eq 0 || fail
#bin/opy --help
#test $? -eq 0 || fail
#bin/opy --version
#test $? -eq 0 || fail
bin/opyc --help
test $? -eq 0 || fail
#bin/opyc --version
#test $? -eq 0 || fail
}
readonly -a PASSING=(

0 comments on commit 2eaaa49

Please sign in to comment.