Skip to content

Commit

Permalink
fix jho tests
Browse files Browse the repository at this point in the history
  • Loading branch information
bqpd committed Jul 11, 2020
1 parent 3f98752 commit c7dc402
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 24 deletions.
52 changes: 29 additions & 23 deletions gpkit/keydict.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,30 +235,36 @@ def __setitem__(self, key, value):

def __delitem__(self, key):
"Overloads del [] to work with all keys"
key = getattr(key, "key", None)
if not key:
raise ValueError("KeyDict.__delitem__() requires a keyed object"
" such as a gpkit.Variable instance.")
veckey, idx = self.parse_and_index(key)
if idx is None:
super().__delitem__(key)
if not hasattr(key, "key"): # not a keyed object
self.update_keymap()
keys = self.keymap[key]
if not keys:
import pdb; pdb.set_trace()
raise KeyError(key)
for k in keys:
del self[k]
else:
super().__getitem__(veckey)[idx] = np.nan
if isnan(super().__getitem__(veckey)).all():
super().__delitem__(veckey)
copiedonwrite = set() # to save time, .update() does not copy
mapkeys = set([key])
if key.keys:
mapkeys.update(key.keys)
for mapkey in mapkeys:
if mapkey in self.keymap:
if len(self.keymap[mapkey]) == 1:
del self.keymap[mapkey]
continue
if mapkey not in copiedonwrite:
self.keymap[mapkey] = set(self.keymap[mapkey])
copiedonwrite.add(mapkey)
self.keymap[mapkey].remove(key)
key = key.key
veckey, idx = self.parse_and_index(key)
if idx is None:
super().__delitem__(key)
else:
super().__getitem__(veckey)[idx] = np.nan
if isnan(super().__getitem__(veckey)).all():
super().__delitem__(veckey)
copiedonwrite = set() # to save time, .update() does not copy
mapkeys = set([key])
if key.keys:
mapkeys.update(key.keys)
for mapkey in mapkeys:
if mapkey in self.keymap:
if len(self.keymap[mapkey]) == 1:
del self.keymap[mapkey]
continue
if mapkey not in copiedonwrite:
self.keymap[mapkey] = set(self.keymap[mapkey])
copiedonwrite.add(mapkey)
self.keymap[mapkey].remove(key)


class KeySet(KeyMap, set):
Expand Down
2 changes: 1 addition & 1 deletion gpkit/tests/from_paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ def newtest_fn(name, solver, import_dict, path):
lambda self: getattr(self, name)())) # pylint:disable=undefined-variable


def run(filename="TESTS", xmloutput=False, skipsolvers=None):
def run(filename="TESTS", xmloutput=False, skipsolvers="look around"):
"Parse and run paths from a given file for each solver"
with open(filename, "r") as f:
for path in f:
Expand Down

0 comments on commit c7dc402

Please sign in to comment.